KeysPerSecond Versions Save

A keys-per-second meter & counter. Written for osu! but should work for other rhythm games too.

v8.9

3 months ago

This is a small release that adds one new major feature and fixes a number of regressions in the previous release that were thankfully caught early by @UlyssesZh.

  • Add a new graph type that tracks the movement path of the cursor, an example is shown below. Note that a fast update rate is recommended when using this graph type (50ms - 10ms). cursor graph
  • The backlog for the old graph type (line graph) is now specified in milliseconds instead of update frames.
  • Reset and reload command keys are now disabled by default, since these are semi destructive and could be triggered by accident.
  • Fix that the graph was rendered 1 pixel smaller than it was supposed to be.
  • Show a warning when reloading a configuration file that cannot be reloaded (config not loaded from a file).
  • Fix a config desync when loading a configuration via the initial dialog.
  • Fix that certain settings are not being applied when loading a config via the default option or the command line (#92).
  • Fix that periodic stats saving saves to the base folder instead of a file inside that folder (#93).
  • Thanks to @efojug fix that the application can initially be offscreen on some monitor layouts (#94).
  • Fix that some settings do not get applied properly when reloading a configuration file.
  • Ensure that the directory stats are being saved to actually exists before saving.

Downloads

Requires Java 8 or higher
Tested operating systems: Mac 10.11.6 & M1, Ubuntu Linux 16.04 LTS, Windows 7 & 8 & 10 & 11

v8.8

4 months ago

It's been a while, but the next release is finally done! This release also lays the foundations for some larger and more exciting features planned for future releases.

  • Input handling was completely rewritten:
    • The key/button add dialog now shows in real time which key you're about to add.
    • Similarly, the command keys dialog now also shows which key combination you're setting.
    • Fixed that commands were active before the main window was visible (#66).
  • The configuration system was completely rewritten:
    • New (backwards compatible) configuration format primarily intended to supposed for planned features.
    • You can now have multiple statistic panels and multiple graph (more panel specific settings are planned).
    • Support for a detached graph was removed.
    • The show keys setting was removed (though you can still hide individual keys).
    • You can now change the display name of any panel (including special panels like AVG, MAX, etc) (#32).
    • The default update rate was changed from 1000ms to 100ms.
    • File paths used for automatic stats saving are now validated.
  • General interface changes:
    • Most dialogs were redesigned to support the more powerful configuration format.
    • Panels now have a set of panel specific settings that can be edited.
    • The right click menu now directly allows you to edit the settings of the panel that was right clicked.
    • When using the right click menu all settings now show their changes to the live GUI in real time.
    • The hide command key is now also available from the right click menu.
  • Thanks to @DeSu0556 the hide command key now adds the program to the system tray if supported (#89 and #91).
  • It is now possible to set a default configuration that will be loaded automatically when starting KeysPerSecond (#20 and #89).
  • Implement a new last panel type that shows the elapsed time since the last input.
  • Make it possible to run the program in windowed mode (#77)
  • The default display name of the CUR (current) panel was changed to KPS.
  • Make it possible to set a maximum display value for graphs (#90).
  • A warning is now shown when the initial configuration contains no panels to display.
  • Fix that the total panel was showing up as AVG in the layout settings (#87).
  • Fixed a bug that caused the program to freeze at extremely small GUI sizes.
  • Improved graph rendering and resolved a graph flickering issue at extremely high update rates.
  • Fixed that newly added panels sometimes get added behind existing panels in complex layouts.
  • Fixed a bug with the track all keys setting if key-modifier tracking is enabled.
  • Fixed that the layout dialog crashes under Linux (#59 and #88).
  • Fixed a critical rendering failure under Linux (#76).
  • Major code quality improvements.
  • Update dependencies.
  • Add some limited (unit) testing.

v8.7

1 year ago
  • Fix a file open dialog being shown on Mac and Linux when trying to save a configuration (#61 and #67)
  • Fix loading mouse buttons from a configuration not working (#63)
  • Fix incorrect square bracket detection (#60)
  • Fix the file chooser on Mac and Linux not following the general OS style
  • Fix a rare exception when configuring the layout (#59)

v8.6

1 year ago
  • Fix statistics saving and loading being being broken (#51 and #57).
  • Implement a new text based statistics saving format (meaning you can manually edit key counts if you want).
  • Implement a text only rendering mode.
  • Implement a value only rendering mode.
  • Make it possible to unbind command keys, effectively disabling them (#45).
  • Dependency updates & internal improvements.

v8.5

2 years ago

A lot of fixes again and some better support.

  • Remove support for legacy configuration file formats.
    • This concerns the kpsconf format which was last used in v4.5 (replaced April 8th, 2017).
    • And the kpsconf2 format which was last used in v7.4 (replaced September 12th, 2018).
    • You can convert configuration files in this format using v8.4.
    • The current kpsconf3 format will still load, but newly saved configuration files will use the kps extension.
  • Support running on M1 Mac's (RoanH/KeysPerSecond#39).
  • Fix being able to move any UI component with the arrow keys (RoanH/KeysPerSecond#31).
  • Fix the comma (,) key not being loaded properly from the configuration file (RoanH/KeysPerSecond#34).
  • Fix resetting statistics (Ctrl+P) not resetting the total number of key presses (RoanH/KeysPerSecond#42).
  • Make the Java check more flexible by reading JAVA_HOME meaning more runtimes are detected (RoanH/KeysPerSecond#49).
  • Fix overlay option and stats saving not properly loading from the config when passed via the command line (RoanH/KeysPerSecond#41).
  • Fix the reset totals command key not being properly read from the config (RoanH/KeysPerSecond#40 and RoanH/KeysPerSecond#47).
  • Make it possible to edit the values in the layout configuration screen with the keyboard.
  • Add an about dialog to the right click menu with general information and links.
  • Fix some dialog typos.
  • Fix cancelling adding a key still reserving a layout slot for that key.
  • Update dependencies.

v8.4

2 years ago
  • Implement sub-pixel rendering (if your system supports it this will improve the quality of text rendering)
  • Implement support for saving/loading statistics on exit/launch (#25)
  • Update global keyboard/mouse listener library
    • Fixes character combinations not working (e.g. e + " = ë)
    • Resolves some rare freezes on OSX
  • Fix the program not working under Java 16 (#30)
  • Fix the border offset not properly applying to the fill color
  • Fix not being able to add the ESC key due to it closing the dialog
  • Enable the 'save config' button by default

v8.3

3 years ago
  • If you're on Windows with the correct VC++ runtime installed you'll now see the new style Windows file chooser.
  • Prevent loading of non existent configuration files via the command line and user interface.
  • You now have to properly quote the file path of a configuration file passed via the command line if it has spaces (this used to work without quotes)
  • Fix the key add description saying to press the OK button while the button is named Save.
  • Fix background transparency not properly being applied to areas where no key panel is displayed.
  • Improve how dialogs look.
  • Build process improvements.
  • Small internal improvements.

v8.2

5 years ago
  • Make the display name of keys editable (can be changed in the key add screen)
  • Implement an option to periodically save the statistics to a file (#18)
  • Make it so dummy keys created by the track all keys function are read back from statistics files
  • Split the track all keys option in a track all keys and track all mouse buttons function (#17)
  • Fix the right mouse button being listed as the left mouse button in the mouse button add screen

v8.1

5 years ago
  • Add support for changing the layout cell size (basically means pretty much all sizes are now supported again)
  • Add support for changing the panel border offset (basically means you can control the space between panels)
  • Tried to improve the quality of the readme file a bit >_>
  • Make the main configuration screen an actual frame so you can actually find it on the taskbar.
  • Make the add key dialog and the layout dialog resizable.
  • Fix a typo on the add key dialog.
  • Restyle all the dialogs.
  • Actually make the cancel button on the add key dialog revert the visible state of keys.
  • Fix a rather severe bug that caused issues for some keys (though the keys that were affected by this bug aren't even on my own keyboard so I'm not actually sure how much of an impact this bug actually had).
  • Proper support for the right shift key.
  • Fix adding duplicate keys still making the layout longer.
  • Actually reset the total number of hits when loading a new configuration.
  • Fix loading several configurations in a row and then adding a key creating a lot of empty layout space.

v8.0

5 years ago

This is a major release that completely changes the layout system of the program. You are now able to design basically any layout of the panels as long as it aligns to the grid of the program.

Note however that because of this the old configuration format does not load completely anymore! If you never changed any of the layout settings your configuration will load just fine, however if you made changes to the layout chances are that it won't look exactly the same in this version (though since more is possible now you can fix your layout to look the same again or improve it). It should also be noted that the panels have a slightly different size (changed by a few pixels).

Example of what you can do now: layout

Changes:

  • Grid based layout editor that shows layout changes in real time (if opened from the right click menu) and that allows custom panel sizes
  • Rendering modes can now be set on a per panel basis
  • Overall improved performance
  • Removed the size setting

P.S. Since the layout system is completely new I expect there to be at least a few bugs that slipped past my testing.