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;
uint8_t longPressAction;
uint8_t modifiers;
uint8_t scancode;
uint16_t scancode;
} __attribute__ ((packed)) keystroke;
struct {
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 },
// Row 2
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_PLAY }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_VOLUME_UP }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_STOP }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = MEDIA_PLAY_PAUSE }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = MEDIA_VOLUME_UP }},
{ .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_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 },
// Row 3
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_PREVIOUS_TRACK }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_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_PREVIOUS }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = MEDIA_VOLUME_DOWN }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = MEDIA_NEXT }},
{ .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
{ .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_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
{ .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_CANCEL }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_RELOAD }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = HID_CONSUMER_AC_CANCEL }}, // HID_CONSUMER_AC_STOP
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = CONSUMER_BROWSER_REFRESH }},
{ .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
{ .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_BACKWARD }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_WWW }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_FORWARD }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = CONSUMER_BROWSER_BACK }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = CONSUMER_EXPLORER }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = CONSUMER_BROWSER_FORWARD }},
{ .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_NONE },
// Row 4
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_LEFT_SHIFT }},
{ .type = KEY_ACTION_NONE },
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_LOCK }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_SEARCH }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_CALCULATOR }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .scancode = HID_KEYBOARD_SC_MEDIA_EJECT }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = CONSUMER_SCREENSAVER }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = HID_CONSUMER_AC_SEARCH }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = CONSUMER_CALCULATOR }},
{ .type = KEY_ACTION_KEYSTROKE, .keystroke = { .keystrokeType = KEYSTROKE_MEDIA, .scancode = HID_CONSUMER_EJECT }},
{ .type = KEY_ACTION_NONE },
// Row 5

View File

@@ -324,23 +324,6 @@
#define HID_KEYBOARD_SC_RIGHT_SHIFT 0xE5
#define HID_KEYBOARD_SC_RIGHT_ALT 0xE6
#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 */