1
0
forked from drath/libratbag
Benjamin Tissoires e606473198 update README
update README to reflect the hwdb change.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2015-10-09 17:19:16 -04:00
2015-09-13 18:40:40 -04:00
2015-10-09 17:03:44 -04:00
2015-09-16 00:55:12 +10:00
2015-09-03 16:28:43 -04:00
2015-10-09 17:19:16 -04:00
2015-09-19 06:47:02 +10:00

/*!@mainpage

libratbag

libratbag is a configuration library for gaming mice. It provides a generic way to access the various features exposed by these mice and abstracts away hardware-specific and kernel-specific quirks.

Architecture

libratbag has two main components, the front-end API and wrapper code, and the back-end HW-specific drivers:

+-----+    +-----+    +-----------+    +----------+
| app | -> | API | -> | hw-driver | -> | protocol | -> device
+-----+    +-----+    +-----------+    +----------+

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

As of commit 3605bede4 libratbag now uses a hwdb entry to match the device with the drivers.

Your device may already supported by one of our drivers. If so, you can enable it by adding the device vendor-id/product-id to the hwdb file in hwdb/70-libratbag-mouse.hwdb. For example, for a HID++ 1.0 device, edit the 70-libratbag-mouse.hwdb file and add an entry with RATBAG_DRIVER=hidpp10. For the other drivers, look for the id of the driver in driver-{drivername}.c file and do the same.

Then install libratbag, run:

sudo udevadm hwdb --update
sudo udevadm control --reload

And unplug/replug your mouse. RATBAG_DRIVER should appear in the udev properties of your device with the value you previously set.

If the device doesn't work, you'll have to start reverse-engineering the device-specific protocol. Good luck :)

License

libratbag 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: [...]

See the COPYING file for the full license information.

Build Status

*/

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%