1.3 KiB
Documentation
Source documentation
Doxygen is used in places for source code documentation. To build the documentation install doxygen and run
doxygen Doxyfile
A directory named doxygen will be created, containing html and latex files.
USB Protocol description
This directory contains captured usb data (when sending the default settings). For further details look at the write functions in the source code.
default_m908.txt and default-annotated_m908.pdf contain the extracted usb data when sending the default settings. This was obtained by exporting packet dissections as plain text from wireshark (select only bytes) and running grep "00[4-9]0"
on the exported files.
Button mapping
The function of each button is described by 4 bytes. In case of the fire button all 4 bytes are used, in all other cases the last byte is 0x00. Look at set_key_mapping()
(include/setters.cpp) and include/data.cpp for the full meaning of these bytes.
A few are listed below:
- Keyboard key:
0. = 0x90 if without modifiers, = 0x8f if with modifiers
- modifier value (sum of individual modifer values)
- keycode
- = 0x00
- Media keys:
0. = 0x8e
- = 0x01
- keycode
- = 0x00
- Fire button:
0. = 0x99
- keycode
- repeats
- delay
- Macro:
0. = 0x91
- macro number (0x0-0xe)
- 0x01
- 0x00
- No function (none) all bytes = 0x00