huntfx / MouseTracks

Track and display mouse and keyboard information for different applications.
GNU General Public License v3.0
138 stars 23 forks source link

Custom tracks per application #49

Open huntfx opened 6 years ago

huntfx commented 6 years ago

As the code to track different types of maps only contains a few minor differences, it would be possible to allow user defined ones.

The main issue would be how to integrate it within a file, but one option would be to only allow changes on file creation. and require the user to delete the file if they want to use new tracks. Alternatively, it should be possible write all "deleted" tracks to another file for a week or so, where re-enabling a certain track will read the saved data from the file. It avoids accidental deletions as well as file bloating. If that is done, it should run off the tracking options, and not a user set name.

Option Ideas: Track [time/speed] Limit to [all the time/when mouse [not] held (choose mouse buttons)/when key [not] held (choose key combinations)] Compress [yes (with amount+max)/no] Continuous [yes (draw all lines)/no (only draw if mouse moved in the last frame too)]

The default way is to track time with compression and continuous tracking. On the other hand, brush strokes is done by tracking speed, only when the mouse is held, without compression or continuous tracking. This would work for people using tablets to paint.

huntfx commented 6 years ago

An extra idea to go with this - the ability for the "time" tracks to use the same timer. This would allow merging related tracks together with different colours.

An example would be recording separated timed tracks for when different mouse buttons are held. Set it to use the same timer though and they could be merged. Might be worth writing to all 3 tracks at once (write the pixel, then replace other tracks with 0) to help minimise the file size increase.

May attempt to modify the current "brush strokes" track to test this out.