1
0
forked from drath/libratbag

ratbagd

ratbagd is a system daemon to introspect and modify configurable mice.

ratbagd uses libratbag to access mice and exports the features over a DBus API to unprivileged proceses. ratbagd needs permissions to access device nodes (primarily /dev/hidraw nodes) and usually needs to run as root.

ratbagd is a relatively thin wrapper arond libratbag. If a device is not detected or does not function as expected, the issue is usually in libratbag. libratbag can be found at https://github.com/libratbag/libratbag

Running ratbagd

ratbagd is intended to run as dbus-activated systemd service. This requires installation of the following files:

sudo cp dbus/org.freedesktop.ratbag1.conf /etc/dbus-1/system.d/org.freedesktop.ratbag1.conf
sudo cp dbus/org.freedesktop.ratbag1.service /etc/dbus-1/systemd-services/org.freedesktop.ratbag1.conf
sudo cp ratbagd.service /etc/systemd/system/ratbagd.service

The files are installed into the prefix by make install, see also the configure switches ---with-systemd-unit-dir and --with-dbus-root-dir. Developers are encouraged to simply symlink to the files in the git repository.

For the files to take effect, you should run sudo systemctl daemon-reload sudo systemctl reload dbus.service

And finally, to enable the service: sudo systemctl enable ratbagd.service

This places the required symlink into the systemd directory so that dbus activation is possible.

Compiling ratbagd

ratbagd needs systemd >= 227. If you are running Fedora 23, you might find the following instruction valuable:

Download systemd v229 (master caused troubles with gcrypt and gpg-error last time I tried).

$ git clone --branch v229 https://github.com/systemd/systemd

Configure it with:

$ ./autogen.sh && ./configure --prefix=/opt/systemd \
                              --libdir=/opt/systemd/lib \
                              --disable-gcrypt \
                              --without-bashcompletiondir \
                              --with-rootprefix=/opt/systemd \
                              --with-sysvinit-path=/opt/systemd/etc \
                              --with-sysvrcnd-path=/opt/systemd/etc/rc.d

Then run make and make install.

In ratbagd, you will need to add the newly installed libsystemd in the pkg_config path:

$ PKG_CONFIG_PATH=/opt/systemd/lib/pkgconfig ./configure

License

ratbagd is licensed under the MIT license.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: [...]

Description
No description provided
Readme 13 MiB
Languages
C 84.2%
Python 12.3%
Meson 1.5%
Shell 1.3%
Roff 0.5%
Other 0.2%