Home

Awesome

Keydogger

Keylogger but funnier

Demo

Keydogger is a tiny text expander written in C

[!WARNING] This is a privileged application. Hence it NEEDS sudo privileges. I have tried to keep the codebase small to reduce the footprint

Prerequisites

git clone https://github.com/jarusll/keydogger.git
cd keydogger

Configuration

Set the environment KEYDOGGER_KEYBOARD as the path to your keyboard device. It should be of the pattern /dev/input/eventX. X will be different for your system. You can use evtest to find out your keyboard device path.

Installation

To install, run the following as sudo

make clean install

Testing

You can test out sample expansions from the local keydoggerrc file by

make clean build
sudo ./keydogger debug

Usage

Configuring expansions

Set trigger and expansion values in ~/keydoggerrc. Expansion definitions follow the format trigger=expansion.

Here are some sample expansions you might like

@hello=Hello, World!
@program=Keydogger
:love:=❤️
@gg=Good game folks, see you tomorrow
@@=jarusll@the-mail.net
:ai=explain in short and simple terms
@install=sudo package-manager install -y
@update=sudo package-manager update -y
@restart=sudo keydogger stop && sudo keydogger start
@backup=rsync -avz ~/important_files/ jarusll@homeserver:backups/

Commands

# -E flag to preseve env variables if you've already set KEYDOGGER_KEYBOARD
sudo -E keydogger start
# Here's another way to pass env variables
sudo env KEYDOGGER_KEYBOARD=/dev/input/event<N> keydogger status

sudo keydogger status

sudo keydogger stop

# Restart if you want to switch keyboards or reload expansions
sudo -E keydogger restart

TODO

v1

v2

v2.1

2.2

Acknowledgements

Contributing

Patches are preffered over PR because this is a mirror of my personal git server.