GithubHelp home page GithubHelp logo

antoneekstrom / gamesense-typing-speed Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 89 KB

Typing speed indicator for SteelSeries GameSense built with Rust.

Home Page: https://antonekstrom.se/

Rust 100.00%
steelseries gamesense rust typing speed epic really cool

gamesense-typing-speed's Introduction

Typing Speed Indicator

Typing speed indicator for SteelSeries GameSense built with Rust. ๐Ÿ˜Ž๐Ÿ˜Ž๐Ÿ˜Ž

Shows typing speed on the little OLED on your SteelSeries Apex 7 keyboard.

Build for production

Build the program by running cargo build --bins --release. Afterwards you can find the binaries in target/release. You will need Rust and Cargo or something to be installed.

To-Do

  • Show more information on the display. Ideas:
    • CPM and WPM
    • Timespan which the program is using for calculating CPM/WPM
    • Count key presses
    • A cool graph
    • Historical data eg. peak and average speed
  • Change keyboard illumination based on typing speed. Cold blue or white can gradually change to red when typing fast ๐Ÿ˜Ž๐Ÿ˜Ž
  • Allow for adjusting timings somehow, I think there's something built into GameSense
  • Adjust WPM timeframe while typing, like decreasing it when you begin typing or something
  • Put binary on Github as a release
  • Currently, any key counts as a keypress (such as backspace which WHACK haha)
  • Make github action for building releases
  • Add tests (lol)
  • Autostart program

How it works

Tracks your key presses and when they occur. Computes the typing speed by counting the keys that were pressed during the last 15 seconds and displays the typing speed as WPM (Words Per Minute) on the OLED display anytime you press a key. Key presses are cleared if the next key press takes longer than 7 seconds.

Shows an icon in your system-tray on Windows (not sure what happens on other systems) which to you use to stop the program from running in the background.

gamesense-typing-speed's People

Contributors

antoneekstrom avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

gamesense-typing-speed's Issues

Display typing speed only when done typing

I'd like to propose a change. I said change motherfrickers!!
What if we instead of showing the WPM increasing when you begin typing (which, admittedly, is kind of really cool), we show something else during typing and then show typing speed in a flashing manner when done. During typing we could instead show number of characters typed and duration of typing. And when idle show average and peak speed.

Thoughts?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.