Typing Telemetry

This page contains a link to my Github repository:

https://github.com/abaj8494/homebrew-typing-telemetry

The repo is one of my most polished projects and is written in Go. 𐃏

Features

  • counts characters typed in a day (useful for programmers that camp out on Ctrl and Meta keys all day)
  • estimates words typed (for fun)
  • provides html charts with Weekly and Monthly views
  • tracks mouse distance traveled (with Euclidean distance)
    • if you think about it, the more you type and the less you move the mouse – the cooler you are.
  • includes a CLI typing speed test with customisable options

Inertia

This is so exciting I have dedicated an additional heading for it. Functionalities include:

  • accelerating key repeat when keys are held down (mega-useful when paging with j/k in N/Vim or Emacs)
  • configurable max speeds ranging from Slow (20/s) to Ultra Fast (140/s)
  • adjustable activation threshold (100ms - 350ms)
  • acceleration rate multiplier (0.25x - 2.0x)
  • double-tap Shift to reset acceleration to base speed (this one is probably not going to be used)

Installation

brew tap abaj8494/typing-telemetry
brew install --cask typtel

After installation, grant accessibility permissions:

  1. Open System Settings > Privacy & Security > Accessibility
  2. Add /Applications/Typtel.app
  3. Restart the app from the menu bar

This works as a MacOS app and sits in the menubar.

I type anywhere from 3k to 5k words per day.

Goodluck

Additional Dank

The application uses distance metrics of:

  • Feet (30.48cm)
  • Cars (15feet)
  • Ultimate Frisbee Fields (330 feet)

It hooks into the CoreGraphics of MacOS to query the DPI details from your monitors. You can check that the correct number of monitors have been detected from the ‘Debug’ option in the menu-bar.