Mac App — date time stamp every mouse click - macos

I want to create a data visualization that maps my mouse clicks through time. To do that, I need to collect data of time stamps for my mouse clicks.
I’m using Mouse Mile to total how far my mouse moves, count clicks and keystrokes. However, it just gives me a total number.
Is there an existing application that I can run on Mac in the background that creates a .csv of time stamps every time I click?
(I understand how I could do this, for example, with JavaScript in a browser, but I want it to be running whenever my computer is awake.)
Thanks all.

Related

Using Applescript or Automator to edit a calendar to move "bump" all events forward one day

I want to be able to move all events within my mac calendar up one day, ideally with the ability to exclude weekends.
Use Case: A training program had 10 weeks of daily sessions. The calendar is uploaded via csv edited for start days and skipped days. If one were to miss a day they were able to simple push all the events forward one day.
I have looked at Automator and there doesn't appear to be a simple way to set this up with the exception of possibly a folder action option.
Anyone ever do something like this?
I'd be careful about AppleScripting Calendar.app in Catalina onwards, as it's now extremely buggy and very easy to incur data loss when something goes wrong.
However, a non-scripting solution would be to cut and paste the events whilst viewing them in Month view:
Select all the events that you wish to bring forward, which is best done starting with the last, so you end up at the first;
If you deselect all other calendars so that the only events visible are the ones in your training programme (I presume these are stored in their own calendar, right...?!), then you can ⌘A to Select All, being careful to deselect the ones that overlap from the previous month or into the next month. Individual events are selected/deselected by holding down ⌘ and clicking the event.
Hit ⌘X to Cut them to the clipboard;
Use the mouse to single-click the day previous to one that contained the first event;
Hit ⌘V to Paste the events, the first of which will be pasted into the day that you clicked in step ⓷, with the remaining events repositioned by the same relative amount as was the first.

disable mouse multiclick and change doubleclick interval

is there a way to disable multiclicks? By multiclicks I mean 3-or more clicks. I would like to have only singleClick or doubleClick. The third click should be always registered as singleClick (clicks=1). event.mouse.clicks should always be <= 2.
Another problem is the interval between clicks. If I click multiple times on the same spot between 1-2 seconds, it is always registered as a multiClick (event.mouse.clicks keeps rising). Only if I move the cursor a bit, clicks would lover to 1. How can I change this behavior so the interval between click and doubleClick will be around 1/4 second?
Solution is to have a separate thread which reads the SDL information, then do a debounce algorithm to remove the unwanted clicks. I did this for a touch screen, which is too sensitive. After filtering, you should get what you want. Then the filtered events you put in a queue (std::deque) which can be used for the real user interface to get events.
The open source project https://sourceforge.net/p/sdl2ui/wiki/Home/ has a class CdialogEvent which is may just what you need.

How can I determine the amount of movement a mouse is allowed between two click for the WM_LBUTTONDBLCLK message to be fired?

How can I determine the amount of movement a mouse is allowed between two click for the WM_LBUTTONDBLCLK message to be fired?
MSDN Receiving Double-Click Messages
The OS generates a double-click message when the user clicks a mouse
button twice in quick succession. When the user clicks a button, the
OS establishes a rectangle centered on the hot spot of the cursor. The
OS also marks the time at which the click occurred. When the user
clicks the same button a second time, the OS determines whether the
hot spot is still within the rectangle and calculates the time elapsed
since the first click. If the hot spot is still within the rectangle
and the elapsed time does not exceed the time-out value for a
double-click, the OS generates a double-click message. An application
can retrieve the time-out value for a double-click by using the
GetDoubleClickTime function.
I am able to determine the maximum allowed time interval GetDoubleClickTime but would like to know the maximum of mouse moment allowed.
From the documentation for GetSystemMetrics:
The second click must occur within the rectangle that is defined by
SM_CXDOUBLECLK and SM_CYDOUBLECLK for the system to consider the two
clicks a double-click.
int x_limit = GetSystemMetrics(SM_CXDOUBLECLK);
int y_limit = GetSystemMetrics(SM_CYDOUBLECLK);

Macro for clicking (Mac compatible)

I would like to create a macro so whenever I hold a key, it will click the current position of mouse for x amount of time and releases for y amount of time.
The only ones I have found only click and pause instead of holding down the mouse button or I am only allowed to click in intervals of a tenth of a second (I would like to be able to click in a hundredth of second or even better... a millisecond). Does anybody know any good mac compatible programs out there?

replicating mouse motion using ajax

I want to implement an application on my website where once the users are connected, they share a text editor. If one user enters anything on
the text editor available on his screen, the same text appears on the second user’s
screen at the same coordinates.
Same thing goes for the other user. Also there would be pointer shaped images on both user’s screens to represent mouse pointers.
When user A moves his mouse pointer, the image on user B’s screen should be
moved according to the movement of user A’s mouse and similarly, when user B
moves his mouse, the image on user A’s screen should be moved accordingly.
The problem is I am using database to store the coordinates of each user. And this approach results in the a lot of lag and delay. What should I use in place of the database?? Please Help !
You probably don't want to request the updates but push them to your clients: http://en.wikipedia.org/wiki/Comet_%28programming%29 . This reduces the delay between an update from your client to the server and other clients again checking for updates.
how abt using Redis : http://code.google.com/p/redis/
an example of a similar collaborative text editor using this : http://www.web2media.net/laktek/2010/05/25/real-time-collaborative-editing-with-websockets-node-js-redis/

Resources