feat: implement initial cyborg multi-action button mappings
- Added support for Single, Long, and Double press actions in libazeron. - Mapped Cyborg surgical command IDs (0x20F6, 0x20F8, 0x204A). - Updated azeron-cli to support --long and --double mapping flags. - Updated protocol documentation with newly discovered Cyborg commands. - Added TODO.md for remaining joystick and timing tasks.
This commit is contained in:
@@ -44,6 +44,13 @@ enum azeron_button_type {
|
||||
AZERON_BTN_LAYER_SWITCH,
|
||||
};
|
||||
|
||||
/* Button action types (for Cyborg model) */
|
||||
enum azeron_action_type {
|
||||
AZERON_ACTION_SINGLE = 0,
|
||||
AZERON_ACTION_LONG,
|
||||
AZERON_ACTION_DOUBLE,
|
||||
};
|
||||
|
||||
/* Analog stick modes */
|
||||
enum azeron_stick_mode {
|
||||
AZERON_STICK_ANALOG = 0,
|
||||
@@ -67,6 +74,7 @@ struct azeron_device_info {
|
||||
/* Button mapping */
|
||||
struct azeron_button_mapping {
|
||||
uint8_t button_id;
|
||||
enum azeron_action_type action;
|
||||
enum azeron_button_type type;
|
||||
uint16_t key_code; /* Linux input event code */
|
||||
char *macro; /* For macro type */
|
||||
|
||||
Reference in New Issue
Block a user