|
# 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!
|