diff --git a/src/driver-etekcity.c b/src/driver-etekcity.c index f4f83387..19c40e92 100644 --- a/src/driver-etekcity.c +++ b/src/driver-etekcity.c @@ -56,6 +56,7 @@ print_key(uint8_t key) case 3: return "BTN_MIDDLE"; case 4: return "2 x BTN_LEFT"; case 7: return "BTN_EXTRA"; + case 6: return "NONE"; case 8: return "BTN_SIDE"; case 9: return "REL_WHEEL 1"; case 10: return "REL_WHEEL -1"; @@ -67,6 +68,8 @@ print_key(uint8_t key) case 14: return "DPI++"; case 15: return "DPI--"; + case 16: return "Macro"; + /* Profile */ case 18: return "profile cycle"; case 19: return "profile++"; @@ -151,7 +154,7 @@ static struct etekcity_button_mapping etekcity_button_mapping[] = { { 13, BUTTON_ACTION_SPECIAL(RATBAG_BUTTON_ACTION_SPECIAL_RESOLUTION_CYCLE_UP) }, { 14, BUTTON_ACTION_SPECIAL(RATBAG_BUTTON_ACTION_SPECIAL_RESOLUTION_UP) }, { 15, BUTTON_ACTION_SPECIAL(RATBAG_BUTTON_ACTION_SPECIAL_RESOLUTION_DOWN) }, - { 16, BUTTON_ACTION_NONE }, + { 16, BUTTON_ACTION_MACRO }, { 17, BUTTON_ACTION_SPECIAL(RATBAG_BUTTON_ACTION_SPECIAL_PROFILE_CYCLE_UP) }, { 18, BUTTON_ACTION_SPECIAL(RATBAG_BUTTON_ACTION_SPECIAL_PROFILE_UP) }, { 19, BUTTON_ACTION_SPECIAL(RATBAG_BUTTON_ACTION_SPECIAL_PROFILE_DOWN) }, diff --git a/src/libratbag-private.h b/src/libratbag-private.h index 743b7192..a9793f7f 100644 --- a/src/libratbag-private.h +++ b/src/libratbag-private.h @@ -199,6 +199,9 @@ struct ratbag_profile { #define BUTTON_ACTION_KEY(k_) \ { .type = RATBAG_BUTTON_ACTION_TYPE_KEY, \ .action.key.key = k_ } +#define BUTTON_ACTION_MACRO \ + { .type = RATBAG_BUTTON_ACTION_TYPE_MACRO, \ + /* FIXME: add the macro keys */ } struct ratbag_button_action { enum ratbag_button_action_type type; @@ -209,6 +212,7 @@ struct ratbag_button_action { unsigned int key; /* action_type == key */ /* FIXME: modifiers */ } key; + /* FIXME: MACRO */ } action; };