在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):libratbag/libratbag开源软件地址(OpenSource Url):https://github.com/libratbag/libratbag开源编程语言(OpenSource Language):C 84.9%开源软件介绍(OpenSource Introduction):libratbaglibratbag provides ratbagd, a DBus daemon to configure input devices, mainly gaming mice. The daemon provides a generic way to access the various features exposed by these mice and abstracts away hardware-specific and kernel-specific quirks. libratbag currently supports devices from Logitech, Etekcity, GSkill, Roccat, Steelseries. See the device files for a complete list of supported devices. Users interact through a GUI like
Piper. For developers, the
Installing libratbag from system packageslibratbag is packaged for some distributions, you can use your system's package manager to install it. See the wiki for details. Compiling libratbaglibratbag uses the meson build system which in turn uses ninja to invoke the compiler. Run the following commands to clone libratbag and initialize the build:
The default prefix is And to build or re-build after code-changes, run:
To remove/uninstal simply run:
Note:
Run Running ratbagd as DBus-activated systemd serviceTo run ratbagd, simply run it as root
These files are installed into the prefix by For the files to take effect, you should run
And finally, to enable the service:
This places the required symlink into the systemd directory so that dbus activation is possible. The DBus InterfaceFull documentation of the DBus interface to interact with devices is available here: ratbagd DBus Interface description. libratbag Internal Architecturelibratbag has two main components, libratbag and ratbagd. Applications like Piper talk over DBus to ratbagd. ratbagd uses libratbag to access the actual devices.
Inside libratbag, we have the general frontend and API. Each device is handled by a HW-specific backend. That HW backend is responsible for the device-specific communication (usually some vendor-specific HID protocol).
The API layer is HW agnostic. Depend on the HW, the protocol may be part of the driver implementation (e.g. etekcity) or a separate set of files (HID++). Where the protocol is separate, the whole known protocol should be implemented. The HW driver then only accesses the bits required for libratbag. This allows us to optionally export the protocol as separate library in the future, if other projects require it. Adding Devices to libratbaglibratbag relies on a device database to match a device with the drivers.
See the data/devices/
directory for the set of known devices. These files
are usually installed into Adding a new device can be as simple as adding a new If the device has a different protocol and doesn't work after adding the device file, you'll have to start reverse-engineering the device-specific protocol. Good luck :) Source
BugsBugs can be reported in our issue tracker Mailing listlibratbag discussions happen on the input-tools mailing list hosted on freedesktop.org Device-specific notesA number of device-specific notes and observations can be found in our wiki: https://github.com/libratbag/libratbag/wiki/Devices Licenselibratbag is licensed under the MIT license.
See the COPYING file for the full license information. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论