All source listed below is under MIT license if no LICENSE file stating different is available.

Tikker

Tikker is Dutch for typer.

This is an application for monitoring your key presses.

It will store all your keypresses in a database called 'tikker.db' in current work directory.

Pre-build binaries:

  • Download using curl -OJ https://retoor.molodetz.nl/api/packages/retoor/generic/tikker/1.0.0/tikker .
  • Or download using wget https://retoor.molodetz.nl/api/packages/retoor/generic/tikker/1.0.0/tikker.

Usage

Execute as root is important!

sudo ./tikker

It can be annoying to have the terminal open the whole day. I advise to use tmux or install it as systemd service. If you install it as systemd service, you're sure you'll never miss a key press! Make sure that you define the work directory where the database should be stored in systemd service.

Statistics

For displaying graphs with stats execute:

make plot

Compilation

Compilation requires sqlite3 development header files.

sudo apt install libsqlite3-dev

Building:

make build

Building and running:

make

Output explained

Keyboard: AT Translated Set 2 keyboard, Event: RELEASED, Key Code: 15 Pr: 24 Rel: 25 Rep: 14

Description is quite clear I assume in exception of last three. These are explained below:

  • Pr = key presses this session (so not the total in database).
  • Rel = key releases this session (so not the total in database). Release is one more than presses due startup of application that only registers the release of a key.
  • Rep = when you hold you key down thus repeats. Also for only session, not database totals.

Install as systemd service

This is the most comfortable way to use the application. You'll never miss a keypress!

  1. Open file in your editor: /etc/systemd/system/tikker.service.
  2. Insert content:
Description=Tikker service
After=network-online.target

[Service]
ExecStart=[tikker executable]
User=root
Group=root
Restart=always
RestartSec=3
WorkingDirectory=[place where you want to have tikker.db]

[Install]
WantedBy=default.target
  1. Enable by systemctl enable tikker.service.
  2. Start service by systemctl start tikker.service. Service is now configured to run from the moment your computer boots!
.clang-format
.gitignore
LICENSE
Makefile
plot.py
README.md
sormc.h
tikker
tikker.c