Skip to content

SpaceFn keyboard layout for Linux using libevdev

License

Notifications You must be signed in to change notification settings

Gediminas/spacefn-evdev

 
 

Repository files navigation

spacefn-evdev

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.

Requirements

  • libevdev and its headers or -dev packages on some systems
  • uinput /dev/uinput must 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.

Fork

SpaceFN Build on NixOS

build:

git clone https://github.com/Gediminas/spacefn-evdev
nix-shell -p gcc pkgconfig libevdev
make

Add to configuration.nix:

systemd.services.spacefn = {
    enable = true;
    description = "SpaceFn";
    unitConfig = {
        Type = "simple";
    };
    serviceConfig = {
        ExecStart = "/bin/sh /home/gds/sub/spacefn-evdev/space";
    };
    wantedBy = [ "multi-user.target" ];
};

Development:

nix-shell -p gcc pkgconfig libevdev
make && sudo systemctl restart spacefn.service

About

SpaceFn keyboard layout for Linux using libevdev

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 89.8%
  • Shell 7.7%
  • Nix 1.8%
  • Makefile 0.7%