1
0
forked from drath/libratbag
Files
libratbag-plus/README.md
Peter Hutterer a5b166c525 README: add basic instructions for adding new devices
This is for the best case where it's just about adding a new device ID. In the
case where reverse engineering is required, some more detailed instructions
are necessary but they take more effort to write...

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-09-19 06:43:54 +10:00

55 lines
2.1 KiB
Markdown

/*!@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
--------------
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 static table. For
example, for a HID++ 1.0 device, edit the driver-hidpp10.c file and add an
entry in the hidpp10drv_table. For the other drivers, look for the
driver-{drivername}.c file and do the same.
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](https://semaphoreci.com/api/v1/projects/7905244a-c0b5-468b-9071-d846de3ce9f1/545192/badge.svg)](https://semaphoreci.com/libratbag/libratbag)
*/