# 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:
```[Unit]
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
```
3. Enable by `systemctl enable tikker.service`.
4. Start service by `systemctl start tikker.service`.
Service is now configured to run from the moment your computer boots!