Use consumer keycodes for media keys so they work across platforms and not only on Linux.

This commit is contained in:
László Monda
2017-03-04 03:40:50 +01:00
parent bc0715c63d
commit 117332bb67
3 changed files with 18 additions and 35 deletions

View File

@@ -62,7 +62,7 @@ typedef struct {
keystroke_type_t keystrokeType; keystroke_type_t keystrokeType;
uint8_t longPressAction; uint8_t longPressAction;
uint8_t modifiers; uint8_t modifiers;
uint8_t scancode; uint16_t scancode;
} __attribute__ ((packed)) keystroke; } __attribute__ ((packed)) keystroke;
struct { struct {
uint8_t buttonActions; uint8_t buttonActions;

View File

@@ -214,19 +214,19 @@ key_action_t CurrentKeymap[LAYER_COUNT][SLOT_COUNT][MAX_KEY_COUNT_PER_MODULE] =
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
// Row 2 // Row 2
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_PLAY }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = MEDIA_PLAY_PAUSE }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_VOLUME_UP }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = MEDIA_VOLUME_UP }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_STOP }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = MEDIA_STOP }},
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_SLEEP }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = HID_CONSUMER_SLEEP_MODE }},
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
// Row 3 // Row 3
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_PREVIOUS_TRACK }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = MEDIA_PREVIOUS }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_VOLUME_DOWN }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = MEDIA_VOLUME_DOWN }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_NEXT_TRACK }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = MEDIA_NEXT }},
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
@@ -235,7 +235,7 @@ key_action_t CurrentKeymap[LAYER_COUNT][SLOT_COUNT][MAX_KEY_COUNT_PER_MODULE] =
// Row 4 // Row 4
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_MUTE }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = MEDIA_VOLUME_MUTE }},
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_RIGHT_SHIFT }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_RIGHT_SHIFT }},
@@ -264,8 +264,8 @@ key_action_t CurrentKeymap[LAYER_COUNT][SLOT_COUNT][MAX_KEY_COUNT_PER_MODULE] =
// Row 2 // Row 2
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_CANCEL }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = HID_CONSUMER_AC_CANCEL }}, // HID_CONSUMER_AC_STOP
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_RELOAD }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = CONSUMER_BROWSER_REFRESH }},
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
@@ -273,19 +273,19 @@ key_action_t CurrentKeymap[LAYER_COUNT][SLOT_COUNT][MAX_KEY_COUNT_PER_MODULE] =
// Row 3 // Row 3
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_BACKWARD }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = CONSUMER_BROWSER_BACK }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_WWW }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = CONSUMER_EXPLORER }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_FORWARD }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = CONSUMER_BROWSER_FORWARD }},
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
// Row 4 // Row 4
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_LEFT_SHIFT }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_LEFT_SHIFT }},
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_LOCK }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = CONSUMER_SCREENSAVER }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_SEARCH }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = HID_CONSUMER_AC_SEARCH }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_CALCULATOR }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = CONSUMER_CALCULATOR }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_EJECT }}, { .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = HID_CONSUMER_EJECT }},
{ .type = KEY_ACTION_NONE }, { .type = KEY_ACTION_NONE },
// Row 5 // Row 5

View File

@@ -324,23 +324,6 @@
#define HID_KEYBOARD_SC_RIGHT_SHIFT 0xE5 #define HID_KEYBOARD_SC_RIGHT_SHIFT 0xE5
#define HID_KEYBOARD_SC_RIGHT_ALT 0xE6 #define HID_KEYBOARD_SC_RIGHT_ALT 0xE6
#define HID_KEYBOARD_SC_RIGHT_GUI 0xE7 #define HID_KEYBOARD_SC_RIGHT_GUI 0xE7
#define HID_KEYBOARD_SC_MEDIA_PLAY 0xE8
#define HID_KEYBOARD_SC_MEDIA_STOP 0xE9
#define HID_KEYBOARD_SC_MEDIA_PREVIOUS_TRACK 0xEA
#define HID_KEYBOARD_SC_MEDIA_NEXT_TRACK 0xEB
#define HID_KEYBOARD_SC_MEDIA_EJECT 0xEC
#define HID_KEYBOARD_SC_MEDIA_VOLUME_UP 0xED
#define HID_KEYBOARD_SC_MEDIA_VOLUME_DOWN 0xEE
#define HID_KEYBOARD_SC_MEDIA_MUTE 0xEF
#define HID_KEYBOARD_SC_MEDIA_WWW 0xF0
#define HID_KEYBOARD_SC_MEDIA_BACKWARD 0xF1
#define HID_KEYBOARD_SC_MEDIA_FORWARD 0xF2
#define HID_KEYBOARD_SC_MEDIA_CANCEL 0xF3
#define HID_KEYBOARD_SC_MEDIA_SEARCH 0xF4
#define HID_KEYBOARD_SC_MEDIA_SLEEP 0xF8
#define HID_KEYBOARD_SC_MEDIA_LOCK 0xF9
#define HID_KEYBOARD_SC_MEDIA_RELOAD 0xFA
#define HID_KEYBOARD_SC_MEDIA_CALCULATOR 0xFB
//@} //@}
/** \name Common HID Device Report Descriptors */ /** \name Common HID Device Report Descriptors */