Convert tabs to 4 spaces.
This commit is contained in:
+71
-71
@@ -1,77 +1,77 @@
|
||||
#include "default_layout.h"
|
||||
|
||||
KEYBOARD_LAYOUT(defaultKeyboardLayout)={
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_7_AND_AMPERSAND } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F7 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_8_AND_ASTERISK } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F8 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_9_AND_OPENING_PARENTHESIS } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F9 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_0_AND_CLOSING_PARENTHESIS } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F10 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_MINUS_AND_UNDERSCORE } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F11 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_EQUAL_AND_PLUS } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F12 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_BACKSPACE } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_DELETE } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_U } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_I } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_UP_ARROW } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_O } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_P } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_PRINT_SCREEN } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_OPENING_BRACKET_AND_OPENING_BRACE } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_SCROLL_LOCK } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_CLOSING_BRACKET_AND_CLOSING_BRACE } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_PAUSE } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_BACKSLASH_AND_PIPE } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_Y } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_PAGE_UP } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_J } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_LEFT_ARROW } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_K } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_DOWN_ARROW } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_L } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_RIGHT_ARROW } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_SEMICOLON_AND_COLON } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_APOSTROPHE_AND_QUOTE } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_ENTER } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_H } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_PAGE_DOWN } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_N } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_MEDIA_MUTE } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_M } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_COMMA_AND_LESS_THAN_SIGN } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_DOT_AND_GREATER_THAN_SIGN } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_SLASH_AND_QUESTION_MARK } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_RIGHT_SHIFT } }},
|
||||
{Key_NoKey}, //??
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_SPACE } }},
|
||||
{Key_NoKey}, //??
|
||||
{{.type = UHK_KEY_LAYER, .layer = { .target = LAYER_FN }}}, //Fn
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_RIGHT_ALT } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_RIGHT_GUI } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_RIGHT_CONTROL } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_7_AND_AMPERSAND } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F7 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_8_AND_ASTERISK } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F8 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_9_AND_OPENING_PARENTHESIS } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F9 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_0_AND_CLOSING_PARENTHESIS } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F10 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_MINUS_AND_UNDERSCORE } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F11 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_EQUAL_AND_PLUS } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F12 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_BACKSPACE } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_DELETE } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_U } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_I } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_UP_ARROW } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_O } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_P } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_PRINT_SCREEN } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_OPENING_BRACKET_AND_OPENING_BRACE } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_SCROLL_LOCK } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_CLOSING_BRACKET_AND_CLOSING_BRACE } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_PAUSE } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_BACKSLASH_AND_PIPE } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_Y } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_PAGE_UP } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_J } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_LEFT_ARROW } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_K } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_DOWN_ARROW } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_L } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_RIGHT_ARROW } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_SEMICOLON_AND_COLON } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_APOSTROPHE_AND_QUOTE } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_ENTER } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_H } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_PAGE_DOWN } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_N } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_MEDIA_MUTE } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_M } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_COMMA_AND_LESS_THAN_SIGN } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_DOT_AND_GREATER_THAN_SIGN } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_SLASH_AND_QUESTION_MARK } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_RIGHT_SHIFT } }},
|
||||
{Key_NoKey}, //??
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_SPACE } }},
|
||||
{Key_NoKey}, //??
|
||||
{{.type = UHK_KEY_LAYER, .layer = { .target = LAYER_FN }}}, //Fn
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_RIGHT_ALT } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_RIGHT_GUI } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_RIGHT_CONTROL } }},
|
||||
|
||||
//Left half
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_GRAVE_ACCENT_AND_TILDE } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_ESCAPE } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_1_AND_EXCLAMATION } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F1 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_2_AND_AT } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F2 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_3_AND_HASHMARK } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F3 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_4_AND_DOLLAR } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F4 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_5_AND_PERCENTAGE } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F5 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_6_AND_CARET } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F6 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_TAB } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_Q } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_W } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_UP_ARROW } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_E } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_R } }},
|
||||
{Key_NoKey}, //??
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_T } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_HOME } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_CAPS_LOCK } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_A } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_LEFT_ARROW } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_S } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_DOWN_ARROW } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_D } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_RIGHT_ARROW } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_DELETE } }},
|
||||
{Key_NoKey}, //??
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_G } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_END } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_LEFT_SHIFT } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_NON_US_BACKSLASH_AND_PIPE } }}, //no idea if this is the right one},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_Z } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_MEDIA_BACKWARD } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_X } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_MEDIA_PLAY } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_C } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_MEDIA_FORWARD } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_V } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_MEDIA_VOLUME_DOWN } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_B } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_MEDIA_VOLUME_UP } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_LEFT_CONTROL } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_LEFT_GUI } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_LEFT_ALT } }},
|
||||
{{.type = UHK_KEY_LAYER, .layer = { .target = LAYER_FN }}}, //Fn
|
||||
{Key_NoKey}, //??
|
||||
{{.type = UHK_KEY_LAYER, .layer = { .target = LAYER_MOD }}}, //Mod
|
||||
{Key_NoKey} //??
|
||||
//Left half
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_GRAVE_ACCENT_AND_TILDE } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_ESCAPE } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_1_AND_EXCLAMATION } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F1 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_2_AND_AT } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F2 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_3_AND_HASHMARK } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F3 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_4_AND_DOLLAR } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F4 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_5_AND_PERCENTAGE } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F5 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_6_AND_CARET } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F6 } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_TAB } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_Q } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_W } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_UP_ARROW } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_E } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_R } }},
|
||||
{Key_NoKey}, //??
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_T } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_HOME } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_CAPS_LOCK } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_A } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_LEFT_ARROW } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_S } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_DOWN_ARROW } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_D } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_RIGHT_ARROW } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_F } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_DELETE } }},
|
||||
{Key_NoKey}, //??
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_G } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_END } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_LEFT_SHIFT } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_NON_US_BACKSLASH_AND_PIPE } }}, //no idea if this is the right one},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_Z } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_MEDIA_BACKWARD } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_X } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_MEDIA_PLAY } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_C } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_MEDIA_FORWARD } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_V } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_MEDIA_VOLUME_DOWN } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_B } }, {.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_MEDIA_VOLUME_UP } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_LEFT_CONTROL } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_LEFT_GUI } }},
|
||||
{{.type = UHK_KEY_SIMPLE, .simple = { .key = HID_KEYBOARD_SC_LEFT_ALT } }},
|
||||
{{.type = UHK_KEY_LAYER, .layer = { .target = LAYER_FN }}}, //Fn
|
||||
{Key_NoKey}, //??
|
||||
{{.type = UHK_KEY_LAYER, .layer = { .target = LAYER_MOD }}}, //Mod
|
||||
{Key_NoKey} //??
|
||||
};
|
||||
|
||||
|
||||
+34
-34
@@ -7,36 +7,36 @@ static uint8_t modifierState = 0;
|
||||
|
||||
static inline __attribute__((always_inline)) uhk_key_t getKeycode(KEYBOARD_LAYOUT(layout), uint8_t keyId)
|
||||
{
|
||||
if (keyId<LAYOUT_KEY_COUNT) {
|
||||
if (keyMasks[keyId]!=0 && keyMasks[keyId]!=modifierState){
|
||||
//Mask out key presses after releasing modifier keys
|
||||
if (keyId<LAYOUT_KEY_COUNT) {
|
||||
if (keyMasks[keyId]!=0 && keyMasks[keyId]!=modifierState){
|
||||
//Mask out key presses after releasing modifier keys
|
||||
return (uhk_key_t) { .raw = 0 };
|
||||
}
|
||||
}
|
||||
|
||||
uhk_key_t k = layout[keyId][modifierState];
|
||||
keyMasks[keyId] = modifierState;
|
||||
uhk_key_t k = layout[keyId][modifierState];
|
||||
keyMasks[keyId] = modifierState;
|
||||
|
||||
if (k.raw==0) {
|
||||
k = layout[keyId][0];
|
||||
}
|
||||
if (k.raw==0) {
|
||||
k = layout[keyId][0];
|
||||
}
|
||||
|
||||
return k;
|
||||
} else {
|
||||
return (uhk_key_t) { .raw = 0 };
|
||||
}
|
||||
return k;
|
||||
} else {
|
||||
return (uhk_key_t) { .raw = 0 };
|
||||
}
|
||||
}
|
||||
|
||||
static void clearKeymasks(const uint8_t *leftKeyStates, const uint8_t *rightKeyStates){
|
||||
int i;
|
||||
for (i=0; i<KEY_STATE_COUNT; ++i){
|
||||
if (rightKeyStates[i]==0){
|
||||
keyMasks[i] = 0;
|
||||
}
|
||||
int i;
|
||||
for (i=0; i<KEY_STATE_COUNT; ++i){
|
||||
if (rightKeyStates[i]==0){
|
||||
keyMasks[i] = 0;
|
||||
}
|
||||
|
||||
if (leftKeyStates[i]==0){
|
||||
keyMasks[LAYOUT_LEFT_OFFSET+i] = 0;
|
||||
}
|
||||
}
|
||||
if (leftKeyStates[i]==0){
|
||||
keyMasks[LAYOUT_LEFT_OFFSET+i] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static uint8_t LEDVal = 0;
|
||||
@@ -87,31 +87,31 @@ bool handleKey(uhk_key_t key, int scancodeIdx, usb_keyboard_report_t *report, ui
|
||||
}
|
||||
|
||||
void fillKeyboardReport(usb_keyboard_report_t *report, const uint8_t *leftKeyStates, const uint8_t *rightKeyStates, KEYBOARD_LAYOUT(layout)) {
|
||||
int scancodeIdx = 0;
|
||||
int scancodeIdx = 0;
|
||||
|
||||
clearKeymasks(leftKeyStates, rightKeyStates);
|
||||
clearKeymasks(leftKeyStates, rightKeyStates);
|
||||
|
||||
for (uint8_t keyId=0; keyId<KEY_STATE_COUNT; keyId++) {
|
||||
if (scancodeIdx>=USB_KEYBOARD_MAX_KEYS) {
|
||||
break;
|
||||
}
|
||||
for (uint8_t keyId=0; keyId<KEY_STATE_COUNT; keyId++) {
|
||||
if (scancodeIdx>=USB_KEYBOARD_MAX_KEYS) {
|
||||
break;
|
||||
}
|
||||
|
||||
uhk_key_t code=getKeycode(layout, keyId);
|
||||
|
||||
if (handleKey(code, scancodeIdx, report, rightKeyStates[keyId])) {
|
||||
scancodeIdx++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (uint8_t keyId=0; keyId<KEY_STATE_COUNT; keyId++) {
|
||||
if (scancodeIdx>=USB_KEYBOARD_MAX_KEYS) {
|
||||
break;
|
||||
}
|
||||
for (uint8_t keyId=0; keyId<KEY_STATE_COUNT; keyId++) {
|
||||
if (scancodeIdx>=USB_KEYBOARD_MAX_KEYS) {
|
||||
break;
|
||||
}
|
||||
|
||||
uhk_key_t code=getKeycode(layout, LAYOUT_LEFT_OFFSET+keyId);
|
||||
|
||||
if (handleKey(code, scancodeIdx, report, leftKeyStates[keyId])) {
|
||||
scancodeIdx++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
* offset of 35 is added.
|
||||
*
|
||||
* For each Key ID, there are 4 different possible scan codes:
|
||||
* - default, when no modifiers are pressed
|
||||
* - mod layer
|
||||
* - fn layer
|
||||
* - mod+fn layer
|
||||
* - default, when no modifiers are pressed
|
||||
* - mod layer
|
||||
* - fn layer
|
||||
* - mod+fn layer
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
+2
-2
@@ -11,7 +11,7 @@ void main() {
|
||||
InitUsb();
|
||||
|
||||
while (1){
|
||||
usbKeyboadTask();
|
||||
asm("wfi");
|
||||
usbKeyboadTask();
|
||||
asm("wfi");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,44 +68,44 @@ key_matrix_t keyMatrix = {
|
||||
};
|
||||
|
||||
void readLeftKeys(uint8_t *stateVector){
|
||||
uint8_t data[] = {0};
|
||||
uint8_t success=0;
|
||||
uint8_t data[] = {0};
|
||||
uint8_t success=0;
|
||||
|
||||
if (I2cWrite(I2C_MAIN_BUS_BASEADDR, I2C_ADDRESS_LEFT_KEYBOARD_HALF, data, sizeof(data)) == kStatus_Success) {
|
||||
if (I2cRead(I2C_MAIN_BUS_BASEADDR, I2C_ADDRESS_LEFT_KEYBOARD_HALF, stateVector, KEY_STATE_COUNT) == kStatus_Success) {
|
||||
success = 1;
|
||||
}
|
||||
}
|
||||
if (I2cWrite(I2C_MAIN_BUS_BASEADDR, I2C_ADDRESS_LEFT_KEYBOARD_HALF, data, sizeof(data)) == kStatus_Success) {
|
||||
if (I2cRead(I2C_MAIN_BUS_BASEADDR, I2C_ADDRESS_LEFT_KEYBOARD_HALF, stateVector, KEY_STATE_COUNT) == kStatus_Success) {
|
||||
success = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (!success) {
|
||||
bzero(stateVector, KEY_STATE_COUNT);
|
||||
}
|
||||
if (!success) {
|
||||
bzero(stateVector, KEY_STATE_COUNT);
|
||||
}
|
||||
}
|
||||
|
||||
void usbKeyboadTask(){
|
||||
//Producer task for USB packets. When the USB interrupt is called,
|
||||
//the newest packet is sent out immediately, thus not doing long task
|
||||
//in the interrupt handler.
|
||||
int newLayout = 1-activeLayout;
|
||||
//Producer task for USB packets. When the USB interrupt is called,
|
||||
//the newest packet is sent out immediately, thus not doing long task
|
||||
//in the interrupt handler.
|
||||
int newLayout = 1-activeLayout;
|
||||
|
||||
static uint8_t leftKeyStates[KEY_STATE_COUNT];
|
||||
static uint8_t leftKeyStates[KEY_STATE_COUNT];
|
||||
|
||||
UsbKeyboardReport[newLayout].modifiers = 0;
|
||||
UsbKeyboardReport[newLayout].reserved = 0;
|
||||
UsbKeyboardReport[newLayout].modifiers = 0;
|
||||
UsbKeyboardReport[newLayout].reserved = 0;
|
||||
|
||||
KeyMatrix_Init(&keyMatrix);
|
||||
KeyMatrix_Scan(&keyMatrix);
|
||||
KeyMatrix_Init(&keyMatrix);
|
||||
KeyMatrix_Scan(&keyMatrix);
|
||||
|
||||
bzero(&UsbKeyboardReport[newLayout].scancodes, USB_KEYBOARD_MAX_KEYS*sizeof(UsbKeyboardReport[newLayout].scancodes[0]));
|
||||
bzero(&UsbKeyboardReport[newLayout].scancodes, USB_KEYBOARD_MAX_KEYS*sizeof(UsbKeyboardReport[newLayout].scancodes[0]));
|
||||
|
||||
readLeftKeys(leftKeyStates);
|
||||
readLeftKeys(leftKeyStates);
|
||||
|
||||
fillKeyboardReport(&UsbKeyboardReport[newLayout], leftKeyStates, keyMatrix.keyStates, defaultKeyboardLayout);
|
||||
fillKeyboardReport(&UsbKeyboardReport[newLayout], leftKeyStates, keyMatrix.keyStates, defaultKeyboardLayout);
|
||||
|
||||
//Change to the new layout in atomic operation (int copy). Even if
|
||||
//the copy is not atomic itself, only single bit changes. So it can
|
||||
//never be a problem
|
||||
activeLayout = newLayout;
|
||||
//Change to the new layout in atomic operation (int copy). Even if
|
||||
//the copy is not atomic itself, only single bit changes. So it can
|
||||
//never be a problem
|
||||
activeLayout = newLayout;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user