Skip to content

Installing

Julien Hartmann edited this page Apr 8, 2021 · 26 revisions

Depending on your distribution, you can either use a pre-packaged distribution, or build it yourself.

Either way, after the install is complete, you will have to re-plug your keyboard so device permissions are applied. You may then start the service manually, or it will be started at your next login.

Note that prepackaged distribution do not include python bindings.

Prepackaged distribution

Ubuntu and Mint

Install from the official PPA:

sudo add-apt-repository ppa:spectras/keyleds
sudo apt-get update
sudo apt-get install keyleds

Debian

Package for Debian currently needs sponsorship from a sanctioned developer. See the mentors page for details. In the meantime it can be built with package building scripts:

apt-get install devscripts dpkg-dev build-essential cmake linux-libc-dev libudev-dev libx11-dev libxi-dev libxml2-dev libyaml-dev libluajit-5.1-dev libuv1-dev libsystemd-dev
curl -sL https://github.com/keyleds/keyleds/archive/v1.1.1.tar.gz|tar xzf -
mv keyleds-*/ keyleds/
tar czf keyleds_1.1.1.orig.tar.gz --exclude=debian keyleds
cd keyleds && dpkg-buildpackage -us -uc -d

Replace the 1.1.1 with the version you want to install. See this page for the latest releases. This should build the package, which you can then install with: dpkg -i keyleds_1.1.1-1_amd64.deb.

I am very sorry for the inconvenience. If you know some sanctioned Debian developers, please let them know keyleds needs a sponsor!

OpenSUSE

Install from the official RPM build:

zypper addrepo https://download.opensuse.org/repositories/home:/spectras/openSUSE_Tumbleweed/ home:spectras.repo
zypper refresh
zypper install keyleds

Fedora

Install from the official RPM build:

For Rawhide:

dnf config-manager --add-repo https://download.opensuse.org/repositories/home:/spectras/Fedora_Rawhide/home:spectras.repo
dnf install keyleds

For Fedora 32:

dnf config-manager --add-repo  https://download.opensuse.org/repositories/home:/spectras/Fedora_32/home:spectras.repo
dnf install keyleds

For Fedora 31:

dnf config-manager --add-repo  https://download.opensuse.org/repositories/home:/spectras/Fedora_31/home:spectras.repo
dnf install keyleds

ArchLinux

Install from the Arch User Repository:

curl -L https://aur.archlinux.org/cgit/aur.git/snapshot/keyleds.tar.gz | tar xzf -
cd keyleds && makepkg -si

Manual Install

Compiling

Building keyleds requires the following dependencies to be installed:

  • cmake
  • X11 development files, including XInput.
  • libc development files
  • libsystemd development files
  • libudev development files
  • libuv development files
  • libyaml development files
  • python3 development files (optional, used for python bindings)
  • cython3 (optional, used for python bindings)

For instance, the following one-liner should get you up and running on debian systems:

sudo apt-get install devscripts dpkg-dev build-essential cmake linux-libc-dev libudev-dev libx11-dev libxi-dev libyaml-dev libluajit-5.1-dev libuv1-dev libsystemd-dev

Then build the project with the following command:

cd build && cmake -DCMAKE_BUILD_TYPE=MinSizeRel .. && make

You may then install it with a good old:

sudo make install

Dealing with device permissions

By default, the keyboard device is not usable by any non-root user. This means you must either:

  • Run this project as root. This means the cli tool, or your own program using the library. This is discouraged.
  • Configure your system to make the device accessible to other users. On udev-based systems, you can copy logitech.rules into /etc/udev/rules.d/70-logitech-hidpp.rules to automatically grant access to connected users.