|0.0.3||Jun 26, 2020|
|0.0.2||Jun 24, 2020|
|0.0.1||Jun 22, 2020|
#638 in Unix APIs
Gel-O is a library for manipulating user-input in Linux.
Gel-O can make your computer feel like Jell-O, by delaying all user input by a configurable number of milliseconds (and in various other ways).
Gel-O is experimental. Expect many breaking changes to come.
For fun, and to get my feet wet.
- epoll (Linux 2.6.27+)
- evdev kernel (approximately Linux 2.4+)
- Rust toolchain
- version 1.34 or higher
- Transitive dependencies
- C toolchain
- autoconf and libtool
#apt install autoconf libtool
#yum install autoconf libtool
#pacman -S autoconf libtool
macOs and Windows are not supported at this time.
BSD support may be easy to add, as evdev was recently added to some BSD kernels
- Configurable delay
- Works on Xorg, Wayland, and the Linux virtual terminal
- Runs smoothly on low power devices like raspberry pi due to efficient epoll-based architecture
- Works with every input device Linux does including mice, keyboards, power buttons, gamepads, flight sticks and more
- Requires read/write access to files in /dev/input, /dev/uinput
How to use
Download the source
git clone [this repo]
Compile the source. You need a rust toolchain and cargo.
cargo build --release --example delay
Run the produced binary with root privledges
sudo ./target/release/examples/delay [number of ms to delay]
- monitor filesystem for new devices, and add delay to them too (probably using inotify)
- add tests
- Create serializable event struct that sidesteps ownership issues with libevdev