mirror of
https://github.com/libratbag/libratbag.git
synced 2026-11-07 15:14:38 +01:00
README: add a short explanation on the architecture
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
16
README.md
16
README.md
@@ -7,6 +7,22 @@ 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.
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
Reference in New Issue
Block a user