Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

[WIP] M&K Counter 2.0 - mouse and keyboard statistics


  • Please log in to reply
32 replies to this topic
sublimeye
  • Members
  • 18 posts
  • Last active: Mar 09 2012 12:31 PM
  • Joined: 22 Aug 2009
Hi Rseding91,
Is it possible to see how many times each button was pressed and how many times key combinations with modifiers were pressed, like ctrl + shift + f, etc. ?

Rseding91
  • Members
  • 703 posts
  • Last active: Apr 02 2016 05:05 AM
  • Joined: 07 Jun 2010

Hi Rseding91,
Is it possible to see how many times each button was pressed


Yes and no. The script will store that information in the data files but it currently has no method to show it to you (I am working on that now).

If you want to code something on your own you are welcome to. I can provide any information you want and try my best to answer questions.

For reference, you can use this list to see which data files represent which keys: Reference list

For each file - the total size (in bytes) dividied by 8 will give you the number of key presses stored in that file.


...and how many times key combinations with modifiers were pressed, like ctrl + shift + f, etc. ?


No. Not with the current way key presses are recorded. That might be something I can look into in the future but as it is now it's not possible.

Rseding91
  • Members
  • 703 posts
  • Last active: Apr 02 2016 05:05 AM
  • Joined: 07 Jun 2010
Updated to 1.7875

Fixed mouse movement tracking recording an inaccurate time stamp once a hour
Fixed a rare instance where the mouse movement code would seeze up and stop tracking distance moved
Fixed a rare instance where the keyboard/mouse counting code would seeze up and stop tracking distance moved when you toggled tracking on and off quickly
Fixed a rare instance of the auto-start-at-logon option putting the shortcut in the wrong location
Fixed the auto-start-at-logon option to only show checked if the script you launched is the truly set to start at logon
Fixed the auto-start-at-logon option to correctly enable if you moved the script and re-checked it
Fixed words-typed to use the capture accuracy setting for time stamps
Fixed words-typed to correctly reset the word length counter when direct to disk is enabled
Fixed a few variables being in the global scope instead of local/static
Added code to verify the input for the screen size gui
Added inches-moved to the hover-over tray tip
Changed the pixels-moved code to accuratly track distance moved across multiple monitors
Changed the mouse-movement file format to store monitor data for each entry
Changed the set-screen-size option to now be set screen size(s) for multiple screens if you have them
Vastly sped up the verify-data function (< .5 seconds now - was 8~ seconds before)
Made all special characters act as a end-of-word character meaining "This-is-a-word" counts as 4 words instead of one now
Cleaned up the code - reduced filesize/removed extra code
Removed a few extra local variable declarations
Converted all RAW file i/o to use functions for future long-filename support and ease of changing
Increased the speed of enabling and disabling specific counters (Enable mouse counting, Enable keyboard counting ...)

Rseding91
  • Members
  • 703 posts
  • Last active: Apr 02 2016 05:05 AM
  • Joined: 07 Jun 2010
Updated to 1.78752

Fixed a duplicate declaration (declaring a variable static and local)

Rseding91
  • Members
  • 703 posts
  • Last active: Apr 02 2016 05:05 AM
  • Joined: 07 Jun 2010
Updated to 1.78753

Fixed direct-do-disk not working (oops...)
Removed the "remember settings" option - it now always saves the settings and defaults to the binary file option
Tweaked a few startup folder and my documents folder references to use a more reliable method of finding the correct startup folder and documents folder
Cleaned out some extra code
Added initial support for long file paths - was 260~ characters and is now 30,000~ characters
Added initial support for verifying all hard drive related operations (currently disabled as it's not finished yet)

Rseding91
  • Members
  • 703 posts
  • Last active: Apr 02 2016 05:05 AM
  • Joined: 07 Jun 2010
Updated to 1.78754

Fixed/patched long UNC path support (network locations)

Rseding91
  • Members
  • 703 posts
  • Last active: Apr 02 2016 05:05 AM
  • Joined: 07 Jun 2010
Updated to 1.78755

Fixed the save to binary file save option not saving settings changes

Rseding91
  • Members
  • 703 posts
  • Last active: Apr 02 2016 05:05 AM
  • Joined: 07 Jun 2010
Updated to 1.78756


Updated the script updater function to the latest version - fixes a common issue of "Script is already running" when updating
Fixed the monitors-changed message to correctly show the name of the script when triggered
Fixed a rare case where the script would stop counting keystrokes/mouse clicks at midnight




Also, back on November 26, 2011 when I said "Also, I finaly finished the final "indexing" function so now I can add them into the script and work on graphing/reporting data" ... I just finished verifying those indexing functions - they where all kinds of messed up with the latest changes I made.

Anyway, I will be working on some reporting sections now that those other functions are finished and verified.

Rseding91
  • Members
  • 703 posts
  • Last active: Apr 02 2016 05:05 AM
  • Joined: 07 Jun 2010
Updated to 1.78757

Fixed total count display for mouse distance moved
Added loading notifications to the traytip on startup for slow computers that take a while to process the data files
Instead of showing "M&K Counter 2.0" on startup it will now show "Loading file ??? of ???"
After the files are all loaded it will display as normal
Changed the verification function to use a safe-overwrite method for replacing corrupt files
Changed the where the Binary.Options file is stored: moved from "root directory\binary.options" to "root directory\computer name\binary.options"
Changed the checked/unchecked status of the monitoring options (count pixels moved/enable keyboard counting...) on the menu to always show the current state of the script instead of just toggling on and off
Changed the "About" message of the script to something more helpful
Changed almost every file related command to use my ELP library functions to support extended-length paths
A few things still use the AHK commands (creating shortcuts, ini reading, script updater)
Changed the RAM use option - limited it to a maximum of 254 MB
Changed the binary.options file format to reduce filesize (1/9th of before) and increase reliability
Changed the auto expand options for some variables to reduce RAM use and prevent run-away variable expansion

Rseding91
  • Members
  • 703 posts
  • Last active: Apr 02 2016 05:05 AM
  • Joined: 07 Jun 2010
Updated to 1.78758

Fixed a multiple-GUI error when selecting one of the GUI options if it's already visible

Added basic reporting options!
available through the right-click tray menu under "Show detailed information ->"

Show key/mouse counts for a specific date range
Show pixels moved/inches moved for a specific monitor and date range
Show words typed/words typed length for a specific date range

Minarth
  • Guests
  • Last active:
  • Joined: --
Hi, I'm having troubles with export to readable form.. It exports to some mash.
Some hints?

Rseding91
  • Members
  • 703 posts
  • Last active: Apr 02 2016 05:05 AM
  • Joined: 07 Jun 2010
Currently there is no export to readable form. The export to package option simply packs all of the data files into one easy to manage file for backup purposes.

I was thinking about making a export to human readable option and now that you requested it I'll get it created.


Is there a preferred format you think it should be in?


This is what the raw files would look like in human-readable text:

Key files (keyboard presses, mouse clicks, mouse scrolls):
20120319025500000
20120319025600000
20120319025700000
...

Mouse movement file:
20120319025500000
1
43
0.4617499248314076
...

Words typed file:
20120319025500000
3
20120319025500000
6


Minarth
  • Guests
  • Last active:
  • Joined: --
I think, it could be used for some statistic. So IMHO

Key files (keyboard presses, mouse clicks, mouse scrolls):
Date KeyNum Count
Date KeyNum Count

Mouse movement file:
Date Data
Date Data

Words typed file: "the same thing"
I would prefer one line - one set of data.[/code]

Rseding91
  • Members
  • 703 posts
  • Last active: Apr 02 2016 05:05 AM
  • Joined: 07 Jun 2010
Sounds good.

The script has 3 basic reporting options right now (see the last "Updated to..." post) but eventually, when I get time; I'm planning on making more reporting features for the script. I am swamped with work and school right now so I haven't worked on this in a while.

Rseding91
  • Members
  • 703 posts
  • Last active: Apr 02 2016 05:05 AM
  • Joined: 07 Jun 2010
Updated to 1.78759

Changed the monitors-changed message to a tooltip instead of a message box so it's not as annoying
Fixed a case where specific combinations of enabled/disabled capture options would cause all capture options to be disabled


In other news, I’m still very busy with school/work so I haven't made a lot of progress on this recently. I've primarily been working on switching the script over to a different naming structure for the data files so when new hotkeys are needed in the future they can be added with minimal effort. I also made a few different functions (such as the one requested above) but I have yet to impliment them in the main script.