Skip to content

mnnaegel/keydogger

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Keydogger

Keylogger but funnier

Demo

Keydogger is a tiny text expander written in C

Prerequisites

  • wl-clipboard
  • gcc
  • make
git clone https://github.com/jarusll/keydogger.git
cd keydogger

Configuration

Configure KEYBOARD_EVENT_PATH in Makefile. 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
@@[email protected]
: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/

Start the daemon

sudo keydogger start

Query the daemon status

sudo keydogger status

Stop the daemon

sudo keydogger stop

Acknowledgements

  • emisilve86 for their code
  • Espanso for the 1000 microseconds of delay between events
  • ydotool for direct mapping of character code to Linux key code

TODO

v1

  • Daemonize it
  • Use /dev/uinput to emit events
  • Read trigger & expansions from .keydoggerrc

v2

  • Unicode support

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 94.8%
  • Makefile 3.8%
  • GDB 1.4%