This is a little tool to implement the SpaceFn keyboard layout on Linux.
I wanted to try SpaceFn on my laptop, obviously with a built-in keyboard. The only previous Linux implementation I could find requires recompiling the Xorg input driver, which is an impressive effort but is tricky to compile and means restarting my X server every time I want to make a change.
- libevdev and its headers or -dev packages on some systems
- uinput
/dev/uinputmust be present and you must have permission to read and write it
You also need permission to read /dev/input/eventXX.
On my system all the requisite permissions are granted by making myself a member of the input group.
You can also just run the program as root.
./build.sh
The compiled binary will be at ./spacefn (symlink to build/spacefn).
sudo ./install.sh
This will:
- Install udev rules for uinput and input device access
- Copy config examples to
~/.config/spacefn/ - Show instructions for adding your user to the
inputgroup
After installation, add your user to the input group and log out/in:
sudo usermod -aG input $USER
./spacefn ~/.config/spacefn/default.cfg
Find your keyboard device:
ls /dev/input/by-id/
Edit config files in configs/ directory.