From dc38a134e3706fe1284d12ddf8f63eae6f79b688 Mon Sep 17 00:00:00 2001 From: Matt Skalecki Date: Mon, 4 Mar 2024 20:44:10 -0500 Subject: [PATCH] Cleanup userspace and add most rules --- .../moonlander/keymaps/ikcelaks/config.h | 6 + .../keymaps/ikcelaks/general/custom_keys.h | 2 +- .../keymaps/ikcelaks/keycodes-copy.h | 1447 ----------------- .../moonlander/keymaps/ikcelaks/keymap.c | 27 +- .../ikcelaks/magickey_data-no-expansion.h | 52 - .../moonlander/keymaps/ikcelaks/rules.mk | 8 + .../keymaps/ikcelaks/sequence_transform | 2 +- .../ikcelaks/sequence_transform_config.json | 2 +- .../ikcelaks/sequence_transform_data.h | 212 --- .../ikcelaks/sequence_transform_dict.txt | 261 ++- .../moonlander/keymaps/ikcelaks/stack.cpp | 21 - keyboards/moonlander/keymaps/ikcelaks/stack.h | 12 - .../moonlander/keymaps/ikcelaks/trie2.cpp | 240 --- keyboards/moonlander/keymaps/ikcelaks/trie2.h | 14 - .../moonlander/keymaps/ikcelaks/util2.cpp | 62 - keyboards/moonlander/keymaps/ikcelaks/util2.h | 6 - 16 files changed, 279 insertions(+), 2095 deletions(-) delete mode 100644 keyboards/moonlander/keymaps/ikcelaks/keycodes-copy.h delete mode 100644 keyboards/moonlander/keymaps/ikcelaks/magickey_data-no-expansion.h delete mode 100644 keyboards/moonlander/keymaps/ikcelaks/sequence_transform_data.h delete mode 100644 keyboards/moonlander/keymaps/ikcelaks/stack.cpp delete mode 100644 keyboards/moonlander/keymaps/ikcelaks/stack.h delete mode 100644 keyboards/moonlander/keymaps/ikcelaks/trie2.cpp delete mode 100644 keyboards/moonlander/keymaps/ikcelaks/trie2.h delete mode 100644 keyboards/moonlander/keymaps/ikcelaks/util2.cpp delete mode 100644 keyboards/moonlander/keymaps/ikcelaks/util2.h diff --git a/keyboards/moonlander/keymaps/ikcelaks/config.h b/keyboards/moonlander/keymaps/ikcelaks/config.h index 814bbccf..2d1ffad9 100644 --- a/keyboards/moonlander/keymaps/ikcelaks/config.h +++ b/keyboards/moonlander/keymaps/ikcelaks/config.h @@ -23,3 +23,9 @@ // User Added #define COMBO_COUNT 10 #define TAPPING_TOGGLE 2 +#define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD +#define SEQUENCE_TRANSFORM_IDLE_TIMEOUT 3000 +#define SEQUENCE_TRANSFORM_EXTRA_BUFFER 10 +// #define SEQUENCE_TRANSFORM_DISABLE_ENHANCED_BACKSPACE +#define USER_PRINT +// #define SEQUENCE_TRANSFORM_LOG_GENERAL diff --git a/keyboards/moonlander/keymaps/ikcelaks/general/custom_keys.h b/keyboards/moonlander/keymaps/ikcelaks/general/custom_keys.h index bcaecca2..c1705c5e 100644 --- a/keyboards/moonlander/keymaps/ikcelaks/general/custom_keys.h +++ b/keyboards/moonlander/keymaps/ikcelaks/general/custom_keys.h @@ -10,4 +10,4 @@ enum custom_keycodes { US_QUOT_S, }; -#define SEQUENCE_TRANSFORM_SPECIAL_KEY_0 US_MAG1 +// #define SEQUENCE_TRANSFORM_SPECIAL_KEY_0 US_MAG1 diff --git a/keyboards/moonlander/keymaps/ikcelaks/keycodes-copy.h b/keyboards/moonlander/keymaps/ikcelaks/keycodes-copy.h deleted file mode 100644 index 53b07a82..00000000 --- a/keyboards/moonlander/keymaps/ikcelaks/keycodes-copy.h +++ /dev/null @@ -1,1447 +0,0 @@ -// Copyright 2024 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -/******************************************************************************* - 88888888888 888 d8b .d888 d8b 888 d8b - 888 888 Y8P d88P" Y8P 888 Y8P - 888 888 888 888 - 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b - 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K - 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b. - 888 888 888 888 X88 888 888 888 Y8b. 888 X88 - 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P' - 888 888 - 888 888 - 888 888 - .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888 - d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888 - 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888 - Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888 - "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888 - 888 - Y8b d88P - "Y88P" -*******************************************************************************/ - -#pragma once -// clang-format off - -enum qk_keycode_ranges { -// Ranges - QK_BASIC = 0x0000, - QK_BASIC_MAX = 0x00FF, - QK_MODS = 0x0100, - QK_MODS_MAX = 0x1FFF, - QK_MOD_TAP = 0x2000, - QK_MOD_TAP_MAX = 0x3FFF, - QK_LAYER_TAP = 0x4000, - QK_LAYER_TAP_MAX = 0x4FFF, - QK_LAYER_MOD = 0x5000, - QK_LAYER_MOD_MAX = 0x51FF, - QK_TO = 0x5200, - QK_TO_MAX = 0x521F, - QK_MOMENTARY = 0x5220, - QK_MOMENTARY_MAX = 0x523F, - QK_DEF_LAYER = 0x5240, - QK_DEF_LAYER_MAX = 0x525F, - QK_TOGGLE_LAYER = 0x5260, - QK_TOGGLE_LAYER_MAX = 0x527F, - QK_ONE_SHOT_LAYER = 0x5280, - QK_ONE_SHOT_LAYER_MAX = 0x529F, - QK_ONE_SHOT_MOD = 0x52A0, - QK_ONE_SHOT_MOD_MAX = 0x52BF, - QK_LAYER_TAP_TOGGLE = 0x52C0, - QK_LAYER_TAP_TOGGLE_MAX = 0x52DF, - QK_SWAP_HANDS = 0x5600, - QK_SWAP_HANDS_MAX = 0x56FF, - QK_TAP_DANCE = 0x5700, - QK_TAP_DANCE_MAX = 0x57FF, - QK_MAGIC = 0x7000, - QK_MAGIC_MAX = 0x70FF, - QK_MIDI = 0x7100, - QK_MIDI_MAX = 0x71FF, - QK_SEQUENCER = 0x7200, - QK_SEQUENCER_MAX = 0x73FF, - QK_JOYSTICK = 0x7400, - QK_JOYSTICK_MAX = 0x743F, - QK_PROGRAMMABLE_BUTTON = 0x7440, - QK_PROGRAMMABLE_BUTTON_MAX = 0x747F, - QK_AUDIO = 0x7480, - QK_AUDIO_MAX = 0x74BF, - QK_STENO = 0x74C0, - QK_STENO_MAX = 0x74FF, - QK_MACRO = 0x7700, - QK_MACRO_MAX = 0x777F, - QK_LIGHTING = 0x7800, - QK_LIGHTING_MAX = 0x78FF, - QK_QUANTUM = 0x7C00, - QK_QUANTUM_MAX = 0x7DFF, - QK_KB = 0x7E00, - QK_KB_MAX = 0x7E3F, - QK_USER = 0x7E40, - QK_USER_MAX = 0x7FFF, - QK_UNICODEMAP = 0x8000, - QK_UNICODEMAP_MAX = 0xBFFF, - QK_UNICODE = 0x8000, - QK_UNICODE_MAX = 0xFFFF, - QK_UNICODEMAP_PAIR = 0xC000, - QK_UNICODEMAP_PAIR_MAX = 0xFFFF, -}; - -enum qk_keycode_defines { -// Keycodes - KC_NO = 0x0000, - KC_TRANSPARENT = 0x0001, - KC_A = 0x0004, - KC_B = 0x0005, - KC_C = 0x0006, - KC_D = 0x0007, - KC_E = 0x0008, - KC_F = 0x0009, - KC_G = 0x000A, - KC_H = 0x000B, - KC_I = 0x000C, - KC_J = 0x000D, - KC_K = 0x000E, - KC_L = 0x000F, - KC_M = 0x0010, - KC_N = 0x0011, - KC_O = 0x0012, - KC_P = 0x0013, - KC_Q = 0x0014, - KC_R = 0x0015, - KC_S = 0x0016, - KC_T = 0x0017, - KC_U = 0x0018, - KC_V = 0x0019, - KC_W = 0x001A, - KC_X = 0x001B, - KC_Y = 0x001C, - KC_Z = 0x001D, - KC_1 = 0x001E, - KC_2 = 0x001F, - KC_3 = 0x0020, - KC_4 = 0x0021, - KC_5 = 0x0022, - KC_6 = 0x0023, - KC_7 = 0x0024, - KC_8 = 0x0025, - KC_9 = 0x0026, - KC_0 = 0x0027, - KC_ENTER = 0x0028, - KC_ESCAPE = 0x0029, - KC_BACKSPACE = 0x002A, - KC_TAB = 0x002B, - KC_SPACE = 0x002C, - KC_MINUS = 0x002D, - KC_EQUAL = 0x002E, - KC_LEFT_BRACKET = 0x002F, - KC_RIGHT_BRACKET = 0x0030, - KC_BACKSLASH = 0x0031, - KC_NONUS_HASH = 0x0032, - KC_SEMICOLON = 0x0033, - KC_QUOTE = 0x0034, - KC_GRAVE = 0x0035, - KC_COMMA = 0x0036, - KC_DOT = 0x0037, - KC_SLASH = 0x0038, - KC_CAPS_LOCK = 0x0039, - KC_F1 = 0x003A, - KC_F2 = 0x003B, - KC_F3 = 0x003C, - KC_F4 = 0x003D, - KC_F5 = 0x003E, - KC_F6 = 0x003F, - KC_F7 = 0x0040, - KC_F8 = 0x0041, - KC_F9 = 0x0042, - KC_F10 = 0x0043, - KC_F11 = 0x0044, - KC_F12 = 0x0045, - KC_PRINT_SCREEN = 0x0046, - KC_SCROLL_LOCK = 0x0047, - KC_PAUSE = 0x0048, - KC_INSERT = 0x0049, - KC_HOME = 0x004A, - KC_PAGE_UP = 0x004B, - KC_DELETE = 0x004C, - KC_END = 0x004D, - KC_PAGE_DOWN = 0x004E, - KC_RIGHT = 0x004F, - KC_LEFT = 0x0050, - KC_DOWN = 0x0051, - KC_UP = 0x0052, - KC_NUM_LOCK = 0x0053, - KC_KP_SLASH = 0x0054, - KC_KP_ASTERISK = 0x0055, - KC_KP_MINUS = 0x0056, - KC_KP_PLUS = 0x0057, - KC_KP_ENTER = 0x0058, - KC_KP_1 = 0x0059, - KC_KP_2 = 0x005A, - KC_KP_3 = 0x005B, - KC_KP_4 = 0x005C, - KC_KP_5 = 0x005D, - KC_KP_6 = 0x005E, - KC_KP_7 = 0x005F, - KC_KP_8 = 0x0060, - KC_KP_9 = 0x0061, - KC_KP_0 = 0x0062, - KC_KP_DOT = 0x0063, - KC_NONUS_BACKSLASH = 0x0064, - KC_APPLICATION = 0x0065, - KC_KB_POWER = 0x0066, - KC_KP_EQUAL = 0x0067, - KC_F13 = 0x0068, - KC_F14 = 0x0069, - KC_F15 = 0x006A, - KC_F16 = 0x006B, - KC_F17 = 0x006C, - KC_F18 = 0x006D, - KC_F19 = 0x006E, - KC_F20 = 0x006F, - KC_F21 = 0x0070, - KC_F22 = 0x0071, - KC_F23 = 0x0072, - KC_F24 = 0x0073, - KC_EXECUTE = 0x0074, - KC_HELP = 0x0075, - KC_MENU = 0x0076, - KC_SELECT = 0x0077, - KC_STOP = 0x0078, - KC_AGAIN = 0x0079, - KC_UNDO = 0x007A, - KC_CUT = 0x007B, - KC_COPY = 0x007C, - KC_PASTE = 0x007D, - KC_FIND = 0x007E, - KC_KB_MUTE = 0x007F, - KC_KB_VOLUME_UP = 0x0080, - KC_KB_VOLUME_DOWN = 0x0081, - KC_LOCKING_CAPS_LOCK = 0x0082, - KC_LOCKING_NUM_LOCK = 0x0083, - KC_LOCKING_SCROLL_LOCK = 0x0084, - KC_KP_COMMA = 0x0085, - KC_KP_EQUAL_AS400 = 0x0086, - KC_INTERNATIONAL_1 = 0x0087, - KC_INTERNATIONAL_2 = 0x0088, - KC_INTERNATIONAL_3 = 0x0089, - KC_INTERNATIONAL_4 = 0x008A, - KC_INTERNATIONAL_5 = 0x008B, - KC_INTERNATIONAL_6 = 0x008C, - KC_INTERNATIONAL_7 = 0x008D, - KC_INTERNATIONAL_8 = 0x008E, - KC_INTERNATIONAL_9 = 0x008F, - KC_LANGUAGE_1 = 0x0090, - KC_LANGUAGE_2 = 0x0091, - KC_LANGUAGE_3 = 0x0092, - KC_LANGUAGE_4 = 0x0093, - KC_LANGUAGE_5 = 0x0094, - KC_LANGUAGE_6 = 0x0095, - KC_LANGUAGE_7 = 0x0096, - KC_LANGUAGE_8 = 0x0097, - KC_LANGUAGE_9 = 0x0098, - KC_ALTERNATE_ERASE = 0x0099, - KC_SYSTEM_REQUEST = 0x009A, - KC_CANCEL = 0x009B, - KC_CLEAR = 0x009C, - KC_PRIOR = 0x009D, - KC_RETURN = 0x009E, - KC_SEPARATOR = 0x009F, - KC_OUT = 0x00A0, - KC_OPER = 0x00A1, - KC_CLEAR_AGAIN = 0x00A2, - KC_CRSEL = 0x00A3, - KC_EXSEL = 0x00A4, - KC_SYSTEM_POWER = 0x00A5, - KC_SYSTEM_SLEEP = 0x00A6, - KC_SYSTEM_WAKE = 0x00A7, - KC_AUDIO_MUTE = 0x00A8, - KC_AUDIO_VOL_UP = 0x00A9, - KC_AUDIO_VOL_DOWN = 0x00AA, - KC_MEDIA_NEXT_TRACK = 0x00AB, - KC_MEDIA_PREV_TRACK = 0x00AC, - KC_MEDIA_STOP = 0x00AD, - KC_MEDIA_PLAY_PAUSE = 0x00AE, - KC_MEDIA_SELECT = 0x00AF, - KC_MEDIA_EJECT = 0x00B0, - KC_MAIL = 0x00B1, - KC_CALCULATOR = 0x00B2, - KC_MY_COMPUTER = 0x00B3, - KC_WWW_SEARCH = 0x00B4, - KC_WWW_HOME = 0x00B5, - KC_WWW_BACK = 0x00B6, - KC_WWW_FORWARD = 0x00B7, - KC_WWW_STOP = 0x00B8, - KC_WWW_REFRESH = 0x00B9, - KC_WWW_FAVORITES = 0x00BA, - KC_MEDIA_FAST_FORWARD = 0x00BB, - KC_MEDIA_REWIND = 0x00BC, - KC_BRIGHTNESS_UP = 0x00BD, - KC_BRIGHTNESS_DOWN = 0x00BE, - KC_CONTROL_PANEL = 0x00BF, - KC_ASSISTANT = 0x00C0, - KC_MISSION_CONTROL = 0x00C1, - KC_LAUNCHPAD = 0x00C2, - KC_MS_UP = 0x00CD, - KC_MS_DOWN = 0x00CE, - KC_MS_LEFT = 0x00CF, - KC_MS_RIGHT = 0x00D0, - KC_MS_BTN1 = 0x00D1, - KC_MS_BTN2 = 0x00D2, - KC_MS_BTN3 = 0x00D3, - KC_MS_BTN4 = 0x00D4, - KC_MS_BTN5 = 0x00D5, - KC_MS_BTN6 = 0x00D6, - KC_MS_BTN7 = 0x00D7, - KC_MS_BTN8 = 0x00D8, - KC_MS_WH_UP = 0x00D9, - KC_MS_WH_DOWN = 0x00DA, - KC_MS_WH_LEFT = 0x00DB, - KC_MS_WH_RIGHT = 0x00DC, - KC_MS_ACCEL0 = 0x00DD, - KC_MS_ACCEL1 = 0x00DE, - KC_MS_ACCEL2 = 0x00DF, - KC_LEFT_CTRL = 0x00E0, - KC_LEFT_SHIFT = 0x00E1, - KC_LEFT_ALT = 0x00E2, - KC_LEFT_GUI = 0x00E3, - KC_RIGHT_CTRL = 0x00E4, - KC_RIGHT_SHIFT = 0x00E5, - KC_RIGHT_ALT = 0x00E6, - KC_RIGHT_GUI = 0x00E7, - QK_SWAP_HANDS_TOGGLE = 0x56F0, - QK_SWAP_HANDS_TAP_TOGGLE = 0x56F1, - QK_SWAP_HANDS_MOMENTARY_ON = 0x56F2, - QK_SWAP_HANDS_MOMENTARY_OFF = 0x56F3, - QK_SWAP_HANDS_OFF = 0x56F4, - QK_SWAP_HANDS_ON = 0x56F5, - QK_SWAP_HANDS_ONE_SHOT = 0x56F6, - QK_MAGIC_SWAP_CONTROL_CAPS_LOCK = 0x7000, - QK_MAGIC_UNSWAP_CONTROL_CAPS_LOCK = 0x7001, - QK_MAGIC_TOGGLE_CONTROL_CAPS_LOCK = 0x7002, - QK_MAGIC_CAPS_LOCK_AS_CONTROL_OFF = 0x7003, - QK_MAGIC_CAPS_LOCK_AS_CONTROL_ON = 0x7004, - QK_MAGIC_SWAP_LALT_LGUI = 0x7005, - QK_MAGIC_UNSWAP_LALT_LGUI = 0x7006, - QK_MAGIC_SWAP_RALT_RGUI = 0x7007, - QK_MAGIC_UNSWAP_RALT_RGUI = 0x7008, - QK_MAGIC_GUI_ON = 0x7009, - QK_MAGIC_GUI_OFF = 0x700A, - QK_MAGIC_TOGGLE_GUI = 0x700B, - QK_MAGIC_SWAP_GRAVE_ESC = 0x700C, - QK_MAGIC_UNSWAP_GRAVE_ESC = 0x700D, - QK_MAGIC_SWAP_BACKSLASH_BACKSPACE = 0x700E, - QK_MAGIC_UNSWAP_BACKSLASH_BACKSPACE = 0x700F, - QK_MAGIC_TOGGLE_BACKSLASH_BACKSPACE = 0x7010, - QK_MAGIC_NKRO_ON = 0x7011, - QK_MAGIC_NKRO_OFF = 0x7012, - QK_MAGIC_TOGGLE_NKRO = 0x7013, - QK_MAGIC_SWAP_ALT_GUI = 0x7014, - QK_MAGIC_UNSWAP_ALT_GUI = 0x7015, - QK_MAGIC_TOGGLE_ALT_GUI = 0x7016, - QK_MAGIC_SWAP_LCTL_LGUI = 0x7017, - QK_MAGIC_UNSWAP_LCTL_LGUI = 0x7018, - QK_MAGIC_SWAP_RCTL_RGUI = 0x7019, - QK_MAGIC_UNSWAP_RCTL_RGUI = 0x701A, - QK_MAGIC_SWAP_CTL_GUI = 0x701B, - QK_MAGIC_UNSWAP_CTL_GUI = 0x701C, - QK_MAGIC_TOGGLE_CTL_GUI = 0x701D, - QK_MAGIC_EE_HANDS_LEFT = 0x701E, - QK_MAGIC_EE_HANDS_RIGHT = 0x701F, - QK_MAGIC_SWAP_ESCAPE_CAPS_LOCK = 0x7020, - QK_MAGIC_UNSWAP_ESCAPE_CAPS_LOCK = 0x7021, - QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCK = 0x7022, - QK_MIDI_ON = 0x7100, - QK_MIDI_OFF = 0x7101, - QK_MIDI_TOGGLE = 0x7102, - QK_MIDI_NOTE_C_0 = 0x7103, - QK_MIDI_NOTE_C_SHARP_0 = 0x7104, - QK_MIDI_NOTE_D_0 = 0x7105, - QK_MIDI_NOTE_D_SHARP_0 = 0x7106, - QK_MIDI_NOTE_E_0 = 0x7107, - QK_MIDI_NOTE_F_0 = 0x7108, - QK_MIDI_NOTE_F_SHARP_0 = 0x7109, - QK_MIDI_NOTE_G_0 = 0x710A, - QK_MIDI_NOTE_G_SHARP_0 = 0x710B, - QK_MIDI_NOTE_A_0 = 0x710C, - QK_MIDI_NOTE_A_SHARP_0 = 0x710D, - QK_MIDI_NOTE_B_0 = 0x710E, - QK_MIDI_NOTE_C_1 = 0x710F, - QK_MIDI_NOTE_C_SHARP_1 = 0x7110, - QK_MIDI_NOTE_D_1 = 0x7111, - QK_MIDI_NOTE_D_SHARP_1 = 0x7112, - QK_MIDI_NOTE_E_1 = 0x7113, - QK_MIDI_NOTE_F_1 = 0x7114, - QK_MIDI_NOTE_F_SHARP_1 = 0x7115, - QK_MIDI_NOTE_G_1 = 0x7116, - QK_MIDI_NOTE_G_SHARP_1 = 0x7117, - QK_MIDI_NOTE_A_1 = 0x7118, - QK_MIDI_NOTE_A_SHARP_1 = 0x7119, - QK_MIDI_NOTE_B_1 = 0x711A, - QK_MIDI_NOTE_C_2 = 0x711B, - QK_MIDI_NOTE_C_SHARP_2 = 0x711C, - QK_MIDI_NOTE_D_2 = 0x711D, - QK_MIDI_NOTE_D_SHARP_2 = 0x711E, - QK_MIDI_NOTE_E_2 = 0x711F, - QK_MIDI_NOTE_F_2 = 0x7120, - QK_MIDI_NOTE_F_SHARP_2 = 0x7121, - QK_MIDI_NOTE_G_2 = 0x7122, - QK_MIDI_NOTE_G_SHARP_2 = 0x7123, - QK_MIDI_NOTE_A_2 = 0x7124, - QK_MIDI_NOTE_A_SHARP_2 = 0x7125, - QK_MIDI_NOTE_B_2 = 0x7126, - QK_MIDI_NOTE_C_3 = 0x7127, - QK_MIDI_NOTE_C_SHARP_3 = 0x7128, - QK_MIDI_NOTE_D_3 = 0x7129, - QK_MIDI_NOTE_D_SHARP_3 = 0x712A, - QK_MIDI_NOTE_E_3 = 0x712B, - QK_MIDI_NOTE_F_3 = 0x712C, - QK_MIDI_NOTE_F_SHARP_3 = 0x712D, - QK_MIDI_NOTE_G_3 = 0x712E, - QK_MIDI_NOTE_G_SHARP_3 = 0x712F, - QK_MIDI_NOTE_A_3 = 0x7130, - QK_MIDI_NOTE_A_SHARP_3 = 0x7131, - QK_MIDI_NOTE_B_3 = 0x7132, - QK_MIDI_NOTE_C_4 = 0x7133, - QK_MIDI_NOTE_C_SHARP_4 = 0x7134, - QK_MIDI_NOTE_D_4 = 0x7135, - QK_MIDI_NOTE_D_SHARP_4 = 0x7136, - QK_MIDI_NOTE_E_4 = 0x7137, - QK_MIDI_NOTE_F_4 = 0x7138, - QK_MIDI_NOTE_F_SHARP_4 = 0x7139, - QK_MIDI_NOTE_G_4 = 0x713A, - QK_MIDI_NOTE_G_SHARP_4 = 0x713B, - QK_MIDI_NOTE_A_4 = 0x713C, - QK_MIDI_NOTE_A_SHARP_4 = 0x713D, - QK_MIDI_NOTE_B_4 = 0x713E, - QK_MIDI_NOTE_C_5 = 0x713F, - QK_MIDI_NOTE_C_SHARP_5 = 0x7140, - QK_MIDI_NOTE_D_5 = 0x7141, - QK_MIDI_NOTE_D_SHARP_5 = 0x7142, - QK_MIDI_NOTE_E_5 = 0x7143, - QK_MIDI_NOTE_F_5 = 0x7144, - QK_MIDI_NOTE_F_SHARP_5 = 0x7145, - QK_MIDI_NOTE_G_5 = 0x7146, - QK_MIDI_NOTE_G_SHARP_5 = 0x7147, - QK_MIDI_NOTE_A_5 = 0x7148, - QK_MIDI_NOTE_A_SHARP_5 = 0x7149, - QK_MIDI_NOTE_B_5 = 0x714A, - QK_MIDI_OCTAVE_N2 = 0x714B, - QK_MIDI_OCTAVE_N1 = 0x714C, - QK_MIDI_OCTAVE_0 = 0x714D, - QK_MIDI_OCTAVE_1 = 0x714E, - QK_MIDI_OCTAVE_2 = 0x714F, - QK_MIDI_OCTAVE_3 = 0x7150, - QK_MIDI_OCTAVE_4 = 0x7151, - QK_MIDI_OCTAVE_5 = 0x7152, - QK_MIDI_OCTAVE_6 = 0x7153, - QK_MIDI_OCTAVE_7 = 0x7154, - QK_MIDI_OCTAVE_DOWN = 0x7155, - QK_MIDI_OCTAVE_UP = 0x7156, - QK_MIDI_TRANSPOSE_N6 = 0x7157, - QK_MIDI_TRANSPOSE_N5 = 0x7158, - QK_MIDI_TRANSPOSE_N4 = 0x7159, - QK_MIDI_TRANSPOSE_N3 = 0x715A, - QK_MIDI_TRANSPOSE_N2 = 0x715B, - QK_MIDI_TRANSPOSE_N1 = 0x715C, - QK_MIDI_TRANSPOSE_0 = 0x715D, - QK_MIDI_TRANSPOSE_1 = 0x715E, - QK_MIDI_TRANSPOSE_2 = 0x715F, - QK_MIDI_TRANSPOSE_3 = 0x7160, - QK_MIDI_TRANSPOSE_4 = 0x7161, - QK_MIDI_TRANSPOSE_5 = 0x7162, - QK_MIDI_TRANSPOSE_6 = 0x7163, - QK_MIDI_TRANSPOSE_DOWN = 0x7164, - QK_MIDI_TRANSPOSE_UP = 0x7165, - QK_MIDI_VELOCITY_0 = 0x7166, - QK_MIDI_VELOCITY_1 = 0x7167, - QK_MIDI_VELOCITY_2 = 0x7168, - QK_MIDI_VELOCITY_3 = 0x7169, - QK_MIDI_VELOCITY_4 = 0x716A, - QK_MIDI_VELOCITY_5 = 0x716B, - QK_MIDI_VELOCITY_6 = 0x716C, - QK_MIDI_VELOCITY_7 = 0x716D, - QK_MIDI_VELOCITY_8 = 0x716E, - QK_MIDI_VELOCITY_9 = 0x716F, - QK_MIDI_VELOCITY_10 = 0x7170, - QK_MIDI_VELOCITY_DOWN = 0x7171, - QK_MIDI_VELOCITY_UP = 0x7172, - QK_MIDI_CHANNEL_1 = 0x7173, - QK_MIDI_CHANNEL_2 = 0x7174, - QK_MIDI_CHANNEL_3 = 0x7175, - QK_MIDI_CHANNEL_4 = 0x7176, - QK_MIDI_CHANNEL_5 = 0x7177, - QK_MIDI_CHANNEL_6 = 0x7178, - QK_MIDI_CHANNEL_7 = 0x7179, - QK_MIDI_CHANNEL_8 = 0x717A, - QK_MIDI_CHANNEL_9 = 0x717B, - QK_MIDI_CHANNEL_10 = 0x717C, - QK_MIDI_CHANNEL_11 = 0x717D, - QK_MIDI_CHANNEL_12 = 0x717E, - QK_MIDI_CHANNEL_13 = 0x717F, - QK_MIDI_CHANNEL_14 = 0x7180, - QK_MIDI_CHANNEL_15 = 0x7181, - QK_MIDI_CHANNEL_16 = 0x7182, - QK_MIDI_CHANNEL_DOWN = 0x7183, - QK_MIDI_CHANNEL_UP = 0x7184, - QK_MIDI_ALL_NOTES_OFF = 0x7185, - QK_MIDI_SUSTAIN = 0x7186, - QK_MIDI_PORTAMENTO = 0x7187, - QK_MIDI_SOSTENUTO = 0x7188, - QK_MIDI_SOFT = 0x7189, - QK_MIDI_LEGATO = 0x718A, - QK_MIDI_MODULATION = 0x718B, - QK_MIDI_MODULATION_SPEED_DOWN = 0x718C, - QK_MIDI_MODULATION_SPEED_UP = 0x718D, - QK_MIDI_PITCH_BEND_DOWN = 0x718E, - QK_MIDI_PITCH_BEND_UP = 0x718F, - QK_SEQUENCER_ON = 0x7200, - QK_SEQUENCER_OFF = 0x7201, - QK_SEQUENCER_TOGGLE = 0x7202, - QK_SEQUENCER_TEMPO_DOWN = 0x7203, - QK_SEQUENCER_TEMPO_UP = 0x7204, - QK_SEQUENCER_RESOLUTION_DOWN = 0x7205, - QK_SEQUENCER_RESOLUTION_UP = 0x7206, - QK_SEQUENCER_STEPS_ALL = 0x7207, - QK_SEQUENCER_STEPS_CLEAR = 0x7208, - QK_JOYSTICK_BUTTON_0 = 0x7400, - QK_JOYSTICK_BUTTON_1 = 0x7401, - QK_JOYSTICK_BUTTON_2 = 0x7402, - QK_JOYSTICK_BUTTON_3 = 0x7403, - QK_JOYSTICK_BUTTON_4 = 0x7404, - QK_JOYSTICK_BUTTON_5 = 0x7405, - QK_JOYSTICK_BUTTON_6 = 0x7406, - QK_JOYSTICK_BUTTON_7 = 0x7407, - QK_JOYSTICK_BUTTON_8 = 0x7408, - QK_JOYSTICK_BUTTON_9 = 0x7409, - QK_JOYSTICK_BUTTON_10 = 0x740A, - QK_JOYSTICK_BUTTON_11 = 0x740B, - QK_JOYSTICK_BUTTON_12 = 0x740C, - QK_JOYSTICK_BUTTON_13 = 0x740D, - QK_JOYSTICK_BUTTON_14 = 0x740E, - QK_JOYSTICK_BUTTON_15 = 0x740F, - QK_JOYSTICK_BUTTON_16 = 0x7410, - QK_JOYSTICK_BUTTON_17 = 0x7411, - QK_JOYSTICK_BUTTON_18 = 0x7412, - QK_JOYSTICK_BUTTON_19 = 0x7413, - QK_JOYSTICK_BUTTON_20 = 0x7414, - QK_JOYSTICK_BUTTON_21 = 0x7415, - QK_JOYSTICK_BUTTON_22 = 0x7416, - QK_JOYSTICK_BUTTON_23 = 0x7417, - QK_JOYSTICK_BUTTON_24 = 0x7418, - QK_JOYSTICK_BUTTON_25 = 0x7419, - QK_JOYSTICK_BUTTON_26 = 0x741A, - QK_JOYSTICK_BUTTON_27 = 0x741B, - QK_JOYSTICK_BUTTON_28 = 0x741C, - QK_JOYSTICK_BUTTON_29 = 0x741D, - QK_JOYSTICK_BUTTON_30 = 0x741E, - QK_JOYSTICK_BUTTON_31 = 0x741F, - QK_PROGRAMMABLE_BUTTON_1 = 0x7440, - QK_PROGRAMMABLE_BUTTON_2 = 0x7441, - QK_PROGRAMMABLE_BUTTON_3 = 0x7442, - QK_PROGRAMMABLE_BUTTON_4 = 0x7443, - QK_PROGRAMMABLE_BUTTON_5 = 0x7444, - QK_PROGRAMMABLE_BUTTON_6 = 0x7445, - QK_PROGRAMMABLE_BUTTON_7 = 0x7446, - QK_PROGRAMMABLE_BUTTON_8 = 0x7447, - QK_PROGRAMMABLE_BUTTON_9 = 0x7448, - QK_PROGRAMMABLE_BUTTON_10 = 0x7449, - QK_PROGRAMMABLE_BUTTON_11 = 0x744A, - QK_PROGRAMMABLE_BUTTON_12 = 0x744B, - QK_PROGRAMMABLE_BUTTON_13 = 0x744C, - QK_PROGRAMMABLE_BUTTON_14 = 0x744D, - QK_PROGRAMMABLE_BUTTON_15 = 0x744E, - QK_PROGRAMMABLE_BUTTON_16 = 0x744F, - QK_PROGRAMMABLE_BUTTON_17 = 0x7450, - QK_PROGRAMMABLE_BUTTON_18 = 0x7451, - QK_PROGRAMMABLE_BUTTON_19 = 0x7452, - QK_PROGRAMMABLE_BUTTON_20 = 0x7453, - QK_PROGRAMMABLE_BUTTON_21 = 0x7454, - QK_PROGRAMMABLE_BUTTON_22 = 0x7455, - QK_PROGRAMMABLE_BUTTON_23 = 0x7456, - QK_PROGRAMMABLE_BUTTON_24 = 0x7457, - QK_PROGRAMMABLE_BUTTON_25 = 0x7458, - QK_PROGRAMMABLE_BUTTON_26 = 0x7459, - QK_PROGRAMMABLE_BUTTON_27 = 0x745A, - QK_PROGRAMMABLE_BUTTON_28 = 0x745B, - QK_PROGRAMMABLE_BUTTON_29 = 0x745C, - QK_PROGRAMMABLE_BUTTON_30 = 0x745D, - QK_PROGRAMMABLE_BUTTON_31 = 0x745E, - QK_PROGRAMMABLE_BUTTON_32 = 0x745F, - QK_AUDIO_ON = 0x7480, - QK_AUDIO_OFF = 0x7481, - QK_AUDIO_TOGGLE = 0x7482, - QK_AUDIO_CLICKY_TOGGLE = 0x748A, - QK_AUDIO_CLICKY_ON = 0x748B, - QK_AUDIO_CLICKY_OFF = 0x748C, - QK_AUDIO_CLICKY_UP = 0x748D, - QK_AUDIO_CLICKY_DOWN = 0x748E, - QK_AUDIO_CLICKY_RESET = 0x748F, - QK_MUSIC_ON = 0x7490, - QK_MUSIC_OFF = 0x7491, - QK_MUSIC_TOGGLE = 0x7492, - QK_MUSIC_MODE_NEXT = 0x7493, - QK_AUDIO_VOICE_NEXT = 0x7494, - QK_AUDIO_VOICE_PREVIOUS = 0x7495, - QK_STENO_BOLT = 0x74F0, - QK_STENO_GEMINI = 0x74F1, - QK_STENO_COMB = 0x74F2, - QK_STENO_COMB_MAX = 0x74FC, - QK_MACRO_0 = 0x7700, - QK_MACRO_1 = 0x7701, - QK_MACRO_2 = 0x7702, - QK_MACRO_3 = 0x7703, - QK_MACRO_4 = 0x7704, - QK_MACRO_5 = 0x7705, - QK_MACRO_6 = 0x7706, - QK_MACRO_7 = 0x7707, - QK_MACRO_8 = 0x7708, - QK_MACRO_9 = 0x7709, - QK_MACRO_10 = 0x770A, - QK_MACRO_11 = 0x770B, - QK_MACRO_12 = 0x770C, - QK_MACRO_13 = 0x770D, - QK_MACRO_14 = 0x770E, - QK_MACRO_15 = 0x770F, - QK_MACRO_16 = 0x7710, - QK_MACRO_17 = 0x7711, - QK_MACRO_18 = 0x7712, - QK_MACRO_19 = 0x7713, - QK_MACRO_20 = 0x7714, - QK_MACRO_21 = 0x7715, - QK_MACRO_22 = 0x7716, - QK_MACRO_23 = 0x7717, - QK_MACRO_24 = 0x7718, - QK_MACRO_25 = 0x7719, - QK_MACRO_26 = 0x771A, - QK_MACRO_27 = 0x771B, - QK_MACRO_28 = 0x771C, - QK_MACRO_29 = 0x771D, - QK_MACRO_30 = 0x771E, - QK_MACRO_31 = 0x771F, - QK_BACKLIGHT_ON = 0x7800, - QK_BACKLIGHT_OFF = 0x7801, - QK_BACKLIGHT_TOGGLE = 0x7802, - QK_BACKLIGHT_DOWN = 0x7803, - QK_BACKLIGHT_UP = 0x7804, - QK_BACKLIGHT_STEP = 0x7805, - QK_BACKLIGHT_TOGGLE_BREATHING = 0x7806, - RGB_TOG = 0x7820, - RGB_MODE_FORWARD = 0x7821, - RGB_MODE_REVERSE = 0x7822, - RGB_HUI = 0x7823, - RGB_HUD = 0x7824, - RGB_SAI = 0x7825, - RGB_SAD = 0x7826, - RGB_VAI = 0x7827, - RGB_VAD = 0x7828, - RGB_SPI = 0x7829, - RGB_SPD = 0x782A, - RGB_MODE_PLAIN = 0x782B, - RGB_MODE_BREATHE = 0x782C, - RGB_MODE_RAINBOW = 0x782D, - RGB_MODE_SWIRL = 0x782E, - RGB_MODE_SNAKE = 0x782F, - RGB_MODE_KNIGHT = 0x7830, - RGB_MODE_XMAS = 0x7831, - RGB_MODE_GRADIENT = 0x7832, - RGB_MODE_RGBTEST = 0x7833, - RGB_MODE_TWINKLE = 0x7834, - QK_BOOTLOADER = 0x7C00, - QK_REBOOT = 0x7C01, - QK_DEBUG_TOGGLE = 0x7C02, - QK_CLEAR_EEPROM = 0x7C03, - QK_MAKE = 0x7C04, - QK_AUTO_SHIFT_DOWN = 0x7C10, - QK_AUTO_SHIFT_UP = 0x7C11, - QK_AUTO_SHIFT_REPORT = 0x7C12, - QK_AUTO_SHIFT_ON = 0x7C13, - QK_AUTO_SHIFT_OFF = 0x7C14, - QK_AUTO_SHIFT_TOGGLE = 0x7C15, - QK_GRAVE_ESCAPE = 0x7C16, - QK_VELOCIKEY_TOGGLE = 0x7C17, - QK_SPACE_CADET_LEFT_CTRL_PARENTHESIS_OPEN = 0x7C18, - QK_SPACE_CADET_RIGHT_CTRL_PARENTHESIS_CLOSE = 0x7C19, - QK_SPACE_CADET_LEFT_SHIFT_PARENTHESIS_OPEN = 0x7C1A, - QK_SPACE_CADET_RIGHT_SHIFT_PARENTHESIS_CLOSE = 0x7C1B, - QK_SPACE_CADET_LEFT_ALT_PARENTHESIS_OPEN = 0x7C1C, - QK_SPACE_CADET_RIGHT_ALT_PARENTHESIS_CLOSE = 0x7C1D, - QK_SPACE_CADET_RIGHT_SHIFT_ENTER = 0x7C1E, - QK_OUTPUT_AUTO = 0x7C20, - QK_OUTPUT_USB = 0x7C21, - QK_OUTPUT_BLUETOOTH = 0x7C22, - QK_UNICODE_MODE_NEXT = 0x7C30, - QK_UNICODE_MODE_PREVIOUS = 0x7C31, - QK_UNICODE_MODE_MACOS = 0x7C32, - QK_UNICODE_MODE_LINUX = 0x7C33, - QK_UNICODE_MODE_WINDOWS = 0x7C34, - QK_UNICODE_MODE_BSD = 0x7C35, - QK_UNICODE_MODE_WINCOMPOSE = 0x7C36, - QK_UNICODE_MODE_EMACS = 0x7C37, - QK_HAPTIC_ON = 0x7C40, - QK_HAPTIC_OFF = 0x7C41, - QK_HAPTIC_TOGGLE = 0x7C42, - QK_HAPTIC_RESET = 0x7C43, - QK_HAPTIC_FEEDBACK_TOGGLE = 0x7C44, - QK_HAPTIC_BUZZ_TOGGLE = 0x7C45, - QK_HAPTIC_MODE_NEXT = 0x7C46, - QK_HAPTIC_MODE_PREVIOUS = 0x7C47, - QK_HAPTIC_CONTINUOUS_TOGGLE = 0x7C48, - QK_HAPTIC_CONTINUOUS_UP = 0x7C49, - QK_HAPTIC_CONTINUOUS_DOWN = 0x7C4A, - QK_HAPTIC_DWELL_UP = 0x7C4B, - QK_HAPTIC_DWELL_DOWN = 0x7C4C, - QK_COMBO_ON = 0x7C50, - QK_COMBO_OFF = 0x7C51, - QK_COMBO_TOGGLE = 0x7C52, - QK_DYNAMIC_MACRO_RECORD_START_1 = 0x7C53, - QK_DYNAMIC_MACRO_RECORD_START_2 = 0x7C54, - QK_DYNAMIC_MACRO_RECORD_STOP = 0x7C55, - QK_DYNAMIC_MACRO_PLAY_1 = 0x7C56, - QK_DYNAMIC_MACRO_PLAY_2 = 0x7C57, - QK_LEADER = 0x7C58, - QK_LOCK = 0x7C59, - QK_ONE_SHOT_ON = 0x7C5A, - QK_ONE_SHOT_OFF = 0x7C5B, - QK_ONE_SHOT_TOGGLE = 0x7C5C, - QK_KEY_OVERRIDE_TOGGLE = 0x7C5D, - QK_KEY_OVERRIDE_ON = 0x7C5E, - QK_KEY_OVERRIDE_OFF = 0x7C5F, - QK_SECURE_LOCK = 0x7C60, - QK_SECURE_UNLOCK = 0x7C61, - QK_SECURE_TOGGLE = 0x7C62, - QK_SECURE_REQUEST = 0x7C63, - QK_DYNAMIC_TAPPING_TERM_PRINT = 0x7C70, - QK_DYNAMIC_TAPPING_TERM_UP = 0x7C71, - QK_DYNAMIC_TAPPING_TERM_DOWN = 0x7C72, - QK_CAPS_WORD_TOGGLE = 0x7C73, - QK_AUTOCORRECT_ON = 0x7C74, - QK_AUTOCORRECT_OFF = 0x7C75, - QK_AUTOCORRECT_TOGGLE = 0x7C76, - QK_TRI_LAYER_LOWER = 0x7C77, - QK_TRI_LAYER_UPPER = 0x7C78, - QK_REPEAT_KEY = 0x7C79, - QK_ALT_REPEAT_KEY = 0x7C7A, - QK_MAGICKEY_ON = 0x7C7B, - QK_MAGICKEY_OFF = 0x7C7C, - QK_MAGICKEY_TOGGLE = 0x7C7D, - QK_KB_0 = 0x7E00, - QK_KB_1 = 0x7E01, - QK_KB_2 = 0x7E02, - QK_KB_3 = 0x7E03, - QK_KB_4 = 0x7E04, - QK_KB_5 = 0x7E05, - QK_KB_6 = 0x7E06, - QK_KB_7 = 0x7E07, - QK_KB_8 = 0x7E08, - QK_KB_9 = 0x7E09, - QK_KB_10 = 0x7E0A, - QK_KB_11 = 0x7E0B, - QK_KB_12 = 0x7E0C, - QK_KB_13 = 0x7E0D, - QK_KB_14 = 0x7E0E, - QK_KB_15 = 0x7E0F, - QK_KB_16 = 0x7E10, - QK_KB_17 = 0x7E11, - QK_KB_18 = 0x7E12, - QK_KB_19 = 0x7E13, - QK_KB_20 = 0x7E14, - QK_KB_21 = 0x7E15, - QK_KB_22 = 0x7E16, - QK_KB_23 = 0x7E17, - QK_KB_24 = 0x7E18, - QK_KB_25 = 0x7E19, - QK_KB_26 = 0x7E1A, - QK_KB_27 = 0x7E1B, - QK_KB_28 = 0x7E1C, - QK_KB_29 = 0x7E1D, - QK_KB_30 = 0x7E1E, - QK_KB_31 = 0x7E1F, - QK_USER_0 = 0x7E40, - QK_USER_1 = 0x7E41, - QK_USER_2 = 0x7E42, - QK_USER_3 = 0x7E43, - QK_USER_4 = 0x7E44, - QK_USER_5 = 0x7E45, - QK_USER_6 = 0x7E46, - QK_USER_7 = 0x7E47, - QK_USER_8 = 0x7E48, - QK_USER_9 = 0x7E49, - QK_USER_10 = 0x7E4A, - QK_USER_11 = 0x7E4B, - QK_USER_12 = 0x7E4C, - QK_USER_13 = 0x7E4D, - QK_USER_14 = 0x7E4E, - QK_USER_15 = 0x7E4F, - QK_USER_16 = 0x7E50, - QK_USER_17 = 0x7E51, - QK_USER_18 = 0x7E52, - QK_USER_19 = 0x7E53, - QK_USER_20 = 0x7E54, - QK_USER_21 = 0x7E55, - QK_USER_22 = 0x7E56, - QK_USER_23 = 0x7E57, - QK_USER_24 = 0x7E58, - QK_USER_25 = 0x7E59, - QK_USER_26 = 0x7E5A, - QK_USER_27 = 0x7E5B, - QK_USER_28 = 0x7E5C, - QK_USER_29 = 0x7E5D, - QK_USER_30 = 0x7E5E, - QK_USER_31 = 0x7E5F, - -// Alias - XXXXXXX = KC_NO, - _______ = KC_TRANSPARENT, - KC_TRNS = KC_TRANSPARENT, - KC_ENT = KC_ENTER, - KC_ESC = KC_ESCAPE, - KC_BSPC = KC_BACKSPACE, - KC_SPC = KC_SPACE, - KC_MINS = KC_MINUS, - KC_EQL = KC_EQUAL, - KC_LBRC = KC_LEFT_BRACKET, - KC_RBRC = KC_RIGHT_BRACKET, - KC_BSLS = KC_BACKSLASH, - KC_NUHS = KC_NONUS_HASH, - KC_SCLN = KC_SEMICOLON, - KC_QUOT = KC_QUOTE, - KC_GRV = KC_GRAVE, - KC_COMM = KC_COMMA, - KC_SLSH = KC_SLASH, - KC_CAPS = KC_CAPS_LOCK, - KC_PSCR = KC_PRINT_SCREEN, - KC_SCRL = KC_SCROLL_LOCK, - KC_BRMD = KC_SCROLL_LOCK, - KC_PAUS = KC_PAUSE, - KC_BRK = KC_PAUSE, - KC_BRMU = KC_PAUSE, - KC_INS = KC_INSERT, - KC_PGUP = KC_PAGE_UP, - KC_DEL = KC_DELETE, - KC_PGDN = KC_PAGE_DOWN, - KC_RGHT = KC_RIGHT, - KC_NUM = KC_NUM_LOCK, - KC_PSLS = KC_KP_SLASH, - KC_PAST = KC_KP_ASTERISK, - KC_PMNS = KC_KP_MINUS, - KC_PPLS = KC_KP_PLUS, - KC_PENT = KC_KP_ENTER, - KC_P1 = KC_KP_1, - KC_P2 = KC_KP_2, - KC_P3 = KC_KP_3, - KC_P4 = KC_KP_4, - KC_P5 = KC_KP_5, - KC_P6 = KC_KP_6, - KC_P7 = KC_KP_7, - KC_P8 = KC_KP_8, - KC_P9 = KC_KP_9, - KC_P0 = KC_KP_0, - KC_PDOT = KC_KP_DOT, - KC_NUBS = KC_NONUS_BACKSLASH, - KC_APP = KC_APPLICATION, - KC_PEQL = KC_KP_EQUAL, - KC_EXEC = KC_EXECUTE, - KC_SLCT = KC_SELECT, - KC_AGIN = KC_AGAIN, - KC_PSTE = KC_PASTE, - KC_LCAP = KC_LOCKING_CAPS_LOCK, - KC_LNUM = KC_LOCKING_NUM_LOCK, - KC_LSCR = KC_LOCKING_SCROLL_LOCK, - KC_PCMM = KC_KP_COMMA, - KC_INT1 = KC_INTERNATIONAL_1, - KC_INT2 = KC_INTERNATIONAL_2, - KC_INT3 = KC_INTERNATIONAL_3, - KC_INT4 = KC_INTERNATIONAL_4, - KC_INT5 = KC_INTERNATIONAL_5, - KC_INT6 = KC_INTERNATIONAL_6, - KC_INT7 = KC_INTERNATIONAL_7, - KC_INT8 = KC_INTERNATIONAL_8, - KC_INT9 = KC_INTERNATIONAL_9, - KC_LNG1 = KC_LANGUAGE_1, - KC_LNG2 = KC_LANGUAGE_2, - KC_LNG3 = KC_LANGUAGE_3, - KC_LNG4 = KC_LANGUAGE_4, - KC_LNG5 = KC_LANGUAGE_5, - KC_LNG6 = KC_LANGUAGE_6, - KC_LNG7 = KC_LANGUAGE_7, - KC_LNG8 = KC_LANGUAGE_8, - KC_LNG9 = KC_LANGUAGE_9, - KC_ERAS = KC_ALTERNATE_ERASE, - KC_SYRQ = KC_SYSTEM_REQUEST, - KC_CNCL = KC_CANCEL, - KC_CLR = KC_CLEAR, - KC_PRIR = KC_PRIOR, - KC_RETN = KC_RETURN, - KC_SEPR = KC_SEPARATOR, - KC_CLAG = KC_CLEAR_AGAIN, - KC_CRSL = KC_CRSEL, - KC_EXSL = KC_EXSEL, - KC_PWR = KC_SYSTEM_POWER, - KC_SLEP = KC_SYSTEM_SLEEP, - KC_WAKE = KC_SYSTEM_WAKE, - KC_MUTE = KC_AUDIO_MUTE, - KC_VOLU = KC_AUDIO_VOL_UP, - KC_VOLD = KC_AUDIO_VOL_DOWN, - KC_MNXT = KC_MEDIA_NEXT_TRACK, - KC_MPRV = KC_MEDIA_PREV_TRACK, - KC_MSTP = KC_MEDIA_STOP, - KC_MPLY = KC_MEDIA_PLAY_PAUSE, - KC_MSEL = KC_MEDIA_SELECT, - KC_EJCT = KC_MEDIA_EJECT, - KC_CALC = KC_CALCULATOR, - KC_MYCM = KC_MY_COMPUTER, - KC_WSCH = KC_WWW_SEARCH, - KC_WHOM = KC_WWW_HOME, - KC_WBAK = KC_WWW_BACK, - KC_WFWD = KC_WWW_FORWARD, - KC_WSTP = KC_WWW_STOP, - KC_WREF = KC_WWW_REFRESH, - KC_WFAV = KC_WWW_FAVORITES, - KC_MFFD = KC_MEDIA_FAST_FORWARD, - KC_MRWD = KC_MEDIA_REWIND, - KC_BRIU = KC_BRIGHTNESS_UP, - KC_BRID = KC_BRIGHTNESS_DOWN, - KC_CPNL = KC_CONTROL_PANEL, - KC_ASST = KC_ASSISTANT, - KC_MCTL = KC_MISSION_CONTROL, - KC_LPAD = KC_LAUNCHPAD, - KC_MS_U = KC_MS_UP, - KC_MS_D = KC_MS_DOWN, - KC_MS_L = KC_MS_LEFT, - KC_MS_R = KC_MS_RIGHT, - KC_BTN1 = KC_MS_BTN1, - KC_BTN2 = KC_MS_BTN2, - KC_BTN3 = KC_MS_BTN3, - KC_BTN4 = KC_MS_BTN4, - KC_BTN5 = KC_MS_BTN5, - KC_BTN6 = KC_MS_BTN6, - KC_BTN7 = KC_MS_BTN7, - KC_BTN8 = KC_MS_BTN8, - KC_WH_U = KC_MS_WH_UP, - KC_WH_D = KC_MS_WH_DOWN, - KC_WH_L = KC_MS_WH_LEFT, - KC_WH_R = KC_MS_WH_RIGHT, - KC_ACL0 = KC_MS_ACCEL0, - KC_ACL1 = KC_MS_ACCEL1, - KC_ACL2 = KC_MS_ACCEL2, - KC_LCTL = KC_LEFT_CTRL, - KC_LSFT = KC_LEFT_SHIFT, - KC_LALT = KC_LEFT_ALT, - KC_LOPT = KC_LEFT_ALT, - KC_LGUI = KC_LEFT_GUI, - KC_LCMD = KC_LEFT_GUI, - KC_LWIN = KC_LEFT_GUI, - KC_RCTL = KC_RIGHT_CTRL, - KC_RSFT = KC_RIGHT_SHIFT, - KC_RALT = KC_RIGHT_ALT, - KC_ROPT = KC_RIGHT_ALT, - KC_ALGR = KC_RIGHT_ALT, - KC_RGUI = KC_RIGHT_GUI, - KC_RCMD = KC_RIGHT_GUI, - KC_RWIN = KC_RIGHT_GUI, - SH_TOGG = QK_SWAP_HANDS_TOGGLE, - SH_TT = QK_SWAP_HANDS_TAP_TOGGLE, - SH_MON = QK_SWAP_HANDS_MOMENTARY_ON, - SH_MOFF = QK_SWAP_HANDS_MOMENTARY_OFF, - SH_OFF = QK_SWAP_HANDS_OFF, - SH_ON = QK_SWAP_HANDS_ON, - SH_OS = QK_SWAP_HANDS_ONE_SHOT, - CL_SWAP = QK_MAGIC_SWAP_CONTROL_CAPS_LOCK, - CL_NORM = QK_MAGIC_UNSWAP_CONTROL_CAPS_LOCK, - CL_TOGG = QK_MAGIC_TOGGLE_CONTROL_CAPS_LOCK, - CL_CAPS = QK_MAGIC_CAPS_LOCK_AS_CONTROL_OFF, - CL_CTRL = QK_MAGIC_CAPS_LOCK_AS_CONTROL_ON, - AG_LSWP = QK_MAGIC_SWAP_LALT_LGUI, - AG_LNRM = QK_MAGIC_UNSWAP_LALT_LGUI, - AG_RSWP = QK_MAGIC_SWAP_RALT_RGUI, - AG_RNRM = QK_MAGIC_UNSWAP_RALT_RGUI, - GU_ON = QK_MAGIC_GUI_ON, - GU_OFF = QK_MAGIC_GUI_OFF, - GU_TOGG = QK_MAGIC_TOGGLE_GUI, - GE_SWAP = QK_MAGIC_SWAP_GRAVE_ESC, - GE_NORM = QK_MAGIC_UNSWAP_GRAVE_ESC, - BS_SWAP = QK_MAGIC_SWAP_BACKSLASH_BACKSPACE, - BS_NORM = QK_MAGIC_UNSWAP_BACKSLASH_BACKSPACE, - BS_TOGG = QK_MAGIC_TOGGLE_BACKSLASH_BACKSPACE, - NK_ON = QK_MAGIC_NKRO_ON, - NK_OFF = QK_MAGIC_NKRO_OFF, - NK_TOGG = QK_MAGIC_TOGGLE_NKRO, - AG_SWAP = QK_MAGIC_SWAP_ALT_GUI, - AG_NORM = QK_MAGIC_UNSWAP_ALT_GUI, - AG_TOGG = QK_MAGIC_TOGGLE_ALT_GUI, - CG_LSWP = QK_MAGIC_SWAP_LCTL_LGUI, - CG_LNRM = QK_MAGIC_UNSWAP_LCTL_LGUI, - CG_RSWP = QK_MAGIC_SWAP_RCTL_RGUI, - CG_RNRM = QK_MAGIC_UNSWAP_RCTL_RGUI, - CG_SWAP = QK_MAGIC_SWAP_CTL_GUI, - CG_NORM = QK_MAGIC_UNSWAP_CTL_GUI, - CG_TOGG = QK_MAGIC_TOGGLE_CTL_GUI, - EH_LEFT = QK_MAGIC_EE_HANDS_LEFT, - EH_RGHT = QK_MAGIC_EE_HANDS_RIGHT, - EC_SWAP = QK_MAGIC_SWAP_ESCAPE_CAPS_LOCK, - EC_NORM = QK_MAGIC_UNSWAP_ESCAPE_CAPS_LOCK, - EC_TOGG = QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCK, - MI_ON = QK_MIDI_ON, - MI_OFF = QK_MIDI_OFF, - MI_TOGG = QK_MIDI_TOGGLE, - MI_C = QK_MIDI_NOTE_C_0, - MI_Cs = QK_MIDI_NOTE_C_SHARP_0, - MI_Db = QK_MIDI_NOTE_C_SHARP_0, - MI_D = QK_MIDI_NOTE_D_0, - MI_Ds = QK_MIDI_NOTE_D_SHARP_0, - MI_Eb = QK_MIDI_NOTE_D_SHARP_0, - MI_E = QK_MIDI_NOTE_E_0, - MI_F = QK_MIDI_NOTE_F_0, - MI_Fs = QK_MIDI_NOTE_F_SHARP_0, - MI_Gb = QK_MIDI_NOTE_F_SHARP_0, - MI_G = QK_MIDI_NOTE_G_0, - MI_Gs = QK_MIDI_NOTE_G_SHARP_0, - MI_Ab = QK_MIDI_NOTE_G_SHARP_0, - MI_A = QK_MIDI_NOTE_A_0, - MI_As = QK_MIDI_NOTE_A_SHARP_0, - MI_Bb = QK_MIDI_NOTE_A_SHARP_0, - MI_B = QK_MIDI_NOTE_B_0, - MI_C1 = QK_MIDI_NOTE_C_1, - MI_Cs1 = QK_MIDI_NOTE_C_SHARP_1, - MI_Db1 = QK_MIDI_NOTE_C_SHARP_1, - MI_D1 = QK_MIDI_NOTE_D_1, - MI_Ds1 = QK_MIDI_NOTE_D_SHARP_1, - MI_Eb1 = QK_MIDI_NOTE_D_SHARP_1, - MI_E1 = QK_MIDI_NOTE_E_1, - MI_F1 = QK_MIDI_NOTE_F_1, - MI_Fs1 = QK_MIDI_NOTE_F_SHARP_1, - MI_Gb1 = QK_MIDI_NOTE_F_SHARP_1, - MI_G1 = QK_MIDI_NOTE_G_1, - MI_Gs1 = QK_MIDI_NOTE_G_SHARP_1, - MI_Ab1 = QK_MIDI_NOTE_G_SHARP_1, - MI_A1 = QK_MIDI_NOTE_A_1, - MI_As1 = QK_MIDI_NOTE_A_SHARP_1, - MI_Bb1 = QK_MIDI_NOTE_A_SHARP_1, - MI_B1 = QK_MIDI_NOTE_B_1, - MI_C2 = QK_MIDI_NOTE_C_2, - MI_Cs2 = QK_MIDI_NOTE_C_SHARP_2, - MI_Db2 = QK_MIDI_NOTE_C_SHARP_2, - MI_D2 = QK_MIDI_NOTE_D_2, - MI_Ds2 = QK_MIDI_NOTE_D_SHARP_2, - MI_Eb2 = QK_MIDI_NOTE_D_SHARP_2, - MI_E2 = QK_MIDI_NOTE_E_2, - MI_F2 = QK_MIDI_NOTE_F_2, - MI_Fs2 = QK_MIDI_NOTE_F_SHARP_2, - MI_Gb2 = QK_MIDI_NOTE_F_SHARP_2, - MI_G2 = QK_MIDI_NOTE_G_2, - MI_Gs2 = QK_MIDI_NOTE_G_SHARP_2, - MI_Ab2 = QK_MIDI_NOTE_G_SHARP_2, - MI_A2 = QK_MIDI_NOTE_A_2, - MI_As2 = QK_MIDI_NOTE_A_SHARP_2, - MI_Bb2 = QK_MIDI_NOTE_A_SHARP_2, - MI_B2 = QK_MIDI_NOTE_B_2, - MI_C3 = QK_MIDI_NOTE_C_3, - MI_Cs3 = QK_MIDI_NOTE_C_SHARP_3, - MI_Db3 = QK_MIDI_NOTE_C_SHARP_3, - MI_D3 = QK_MIDI_NOTE_D_3, - MI_Ds3 = QK_MIDI_NOTE_D_SHARP_3, - MI_Eb3 = QK_MIDI_NOTE_D_SHARP_3, - MI_E3 = QK_MIDI_NOTE_E_3, - MI_F3 = QK_MIDI_NOTE_F_3, - MI_Fs3 = QK_MIDI_NOTE_F_SHARP_3, - MI_Gb3 = QK_MIDI_NOTE_F_SHARP_3, - MI_G3 = QK_MIDI_NOTE_G_3, - MI_Gs3 = QK_MIDI_NOTE_G_SHARP_3, - MI_Ab3 = QK_MIDI_NOTE_G_SHARP_3, - MI_A3 = QK_MIDI_NOTE_A_3, - MI_As3 = QK_MIDI_NOTE_A_SHARP_3, - MI_Bb3 = QK_MIDI_NOTE_A_SHARP_3, - MI_B3 = QK_MIDI_NOTE_B_3, - MI_C4 = QK_MIDI_NOTE_C_4, - MI_Cs4 = QK_MIDI_NOTE_C_SHARP_4, - MI_Db4 = QK_MIDI_NOTE_C_SHARP_4, - MI_D4 = QK_MIDI_NOTE_D_4, - MI_Ds4 = QK_MIDI_NOTE_D_SHARP_4, - MI_Eb4 = QK_MIDI_NOTE_D_SHARP_4, - MI_E4 = QK_MIDI_NOTE_E_4, - MI_F4 = QK_MIDI_NOTE_F_4, - MI_Fs4 = QK_MIDI_NOTE_F_SHARP_4, - MI_Gb4 = QK_MIDI_NOTE_F_SHARP_4, - MI_G4 = QK_MIDI_NOTE_G_4, - MI_Gs4 = QK_MIDI_NOTE_G_SHARP_4, - MI_Ab4 = QK_MIDI_NOTE_G_SHARP_4, - MI_A4 = QK_MIDI_NOTE_A_4, - MI_As4 = QK_MIDI_NOTE_A_SHARP_4, - MI_Bb4 = QK_MIDI_NOTE_A_SHARP_4, - MI_B4 = QK_MIDI_NOTE_B_4, - MI_C5 = QK_MIDI_NOTE_C_5, - MI_Cs5 = QK_MIDI_NOTE_C_SHARP_5, - MI_Db5 = QK_MIDI_NOTE_C_SHARP_5, - MI_D5 = QK_MIDI_NOTE_D_5, - MI_Ds5 = QK_MIDI_NOTE_D_SHARP_5, - MI_Eb5 = QK_MIDI_NOTE_D_SHARP_5, - MI_E5 = QK_MIDI_NOTE_E_5, - MI_F5 = QK_MIDI_NOTE_F_5, - MI_Fs5 = QK_MIDI_NOTE_F_SHARP_5, - MI_Gb5 = QK_MIDI_NOTE_F_SHARP_5, - MI_G5 = QK_MIDI_NOTE_G_5, - MI_Gs5 = QK_MIDI_NOTE_G_SHARP_5, - MI_Ab5 = QK_MIDI_NOTE_G_SHARP_5, - MI_A5 = QK_MIDI_NOTE_A_5, - MI_As5 = QK_MIDI_NOTE_A_SHARP_5, - MI_Bb5 = QK_MIDI_NOTE_A_SHARP_5, - MI_B5 = QK_MIDI_NOTE_B_5, - MI_OCN2 = QK_MIDI_OCTAVE_N2, - MI_OCN1 = QK_MIDI_OCTAVE_N1, - MI_OC0 = QK_MIDI_OCTAVE_0, - MI_OC1 = QK_MIDI_OCTAVE_1, - MI_OC2 = QK_MIDI_OCTAVE_2, - MI_OC3 = QK_MIDI_OCTAVE_3, - MI_OC4 = QK_MIDI_OCTAVE_4, - MI_OC5 = QK_MIDI_OCTAVE_5, - MI_OC6 = QK_MIDI_OCTAVE_6, - MI_OC7 = QK_MIDI_OCTAVE_7, - MI_OCTD = QK_MIDI_OCTAVE_DOWN, - MI_OCTU = QK_MIDI_OCTAVE_UP, - MI_TRN6 = QK_MIDI_TRANSPOSE_N6, - MI_TRN5 = QK_MIDI_TRANSPOSE_N5, - MI_TRN4 = QK_MIDI_TRANSPOSE_N4, - MI_TRN3 = QK_MIDI_TRANSPOSE_N3, - MI_TRN2 = QK_MIDI_TRANSPOSE_N2, - MI_TRN1 = QK_MIDI_TRANSPOSE_N1, - MI_TR0 = QK_MIDI_TRANSPOSE_0, - MI_TR1 = QK_MIDI_TRANSPOSE_1, - MI_TR2 = QK_MIDI_TRANSPOSE_2, - MI_TR3 = QK_MIDI_TRANSPOSE_3, - MI_TR4 = QK_MIDI_TRANSPOSE_4, - MI_TR5 = QK_MIDI_TRANSPOSE_5, - MI_TR6 = QK_MIDI_TRANSPOSE_6, - MI_TRSD = QK_MIDI_TRANSPOSE_DOWN, - MI_TRSU = QK_MIDI_TRANSPOSE_UP, - MI_VL0 = QK_MIDI_VELOCITY_0, - MI_VL1 = QK_MIDI_VELOCITY_1, - MI_VL2 = QK_MIDI_VELOCITY_2, - MI_VL3 = QK_MIDI_VELOCITY_3, - MI_VL4 = QK_MIDI_VELOCITY_4, - MI_VL5 = QK_MIDI_VELOCITY_5, - MI_VL6 = QK_MIDI_VELOCITY_6, - MI_VL7 = QK_MIDI_VELOCITY_7, - MI_VL8 = QK_MIDI_VELOCITY_8, - MI_VL9 = QK_MIDI_VELOCITY_9, - MI_VL10 = QK_MIDI_VELOCITY_10, - MI_VELD = QK_MIDI_VELOCITY_DOWN, - MI_VELU = QK_MIDI_VELOCITY_UP, - MI_CH1 = QK_MIDI_CHANNEL_1, - MI_CH2 = QK_MIDI_CHANNEL_2, - MI_CH3 = QK_MIDI_CHANNEL_3, - MI_CH4 = QK_MIDI_CHANNEL_4, - MI_CH5 = QK_MIDI_CHANNEL_5, - MI_CH6 = QK_MIDI_CHANNEL_6, - MI_CH7 = QK_MIDI_CHANNEL_7, - MI_CH8 = QK_MIDI_CHANNEL_8, - MI_CH9 = QK_MIDI_CHANNEL_9, - MI_CH10 = QK_MIDI_CHANNEL_10, - MI_CH11 = QK_MIDI_CHANNEL_11, - MI_CH12 = QK_MIDI_CHANNEL_12, - MI_CH13 = QK_MIDI_CHANNEL_13, - MI_CH14 = QK_MIDI_CHANNEL_14, - MI_CH15 = QK_MIDI_CHANNEL_15, - MI_CH16 = QK_MIDI_CHANNEL_16, - MI_CHND = QK_MIDI_CHANNEL_DOWN, - MI_CHNU = QK_MIDI_CHANNEL_UP, - MI_AOFF = QK_MIDI_ALL_NOTES_OFF, - MI_SUST = QK_MIDI_SUSTAIN, - MI_PORT = QK_MIDI_PORTAMENTO, - MI_SOST = QK_MIDI_SOSTENUTO, - MI_SOFT = QK_MIDI_SOFT, - MI_LEG = QK_MIDI_LEGATO, - MI_MOD = QK_MIDI_MODULATION, - MI_MODD = QK_MIDI_MODULATION_SPEED_DOWN, - MI_MODU = QK_MIDI_MODULATION_SPEED_UP, - MI_BNDD = QK_MIDI_PITCH_BEND_DOWN, - MI_BNDU = QK_MIDI_PITCH_BEND_UP, - SQ_ON = QK_SEQUENCER_ON, - SQ_OFF = QK_SEQUENCER_OFF, - SQ_TOGG = QK_SEQUENCER_TOGGLE, - SQ_TMPD = QK_SEQUENCER_TEMPO_DOWN, - SQ_TMPU = QK_SEQUENCER_TEMPO_UP, - SQ_RESD = QK_SEQUENCER_RESOLUTION_DOWN, - SQ_RESU = QK_SEQUENCER_RESOLUTION_UP, - SQ_SALL = QK_SEQUENCER_STEPS_ALL, - SQ_SCLR = QK_SEQUENCER_STEPS_CLEAR, - JS_0 = QK_JOYSTICK_BUTTON_0, - JS_1 = QK_JOYSTICK_BUTTON_1, - JS_2 = QK_JOYSTICK_BUTTON_2, - JS_3 = QK_JOYSTICK_BUTTON_3, - JS_4 = QK_JOYSTICK_BUTTON_4, - JS_5 = QK_JOYSTICK_BUTTON_5, - JS_6 = QK_JOYSTICK_BUTTON_6, - JS_7 = QK_JOYSTICK_BUTTON_7, - JS_8 = QK_JOYSTICK_BUTTON_8, - JS_9 = QK_JOYSTICK_BUTTON_9, - JS_10 = QK_JOYSTICK_BUTTON_10, - JS_11 = QK_JOYSTICK_BUTTON_11, - JS_12 = QK_JOYSTICK_BUTTON_12, - JS_13 = QK_JOYSTICK_BUTTON_13, - JS_14 = QK_JOYSTICK_BUTTON_14, - JS_15 = QK_JOYSTICK_BUTTON_15, - JS_16 = QK_JOYSTICK_BUTTON_16, - JS_17 = QK_JOYSTICK_BUTTON_17, - JS_18 = QK_JOYSTICK_BUTTON_18, - JS_19 = QK_JOYSTICK_BUTTON_19, - JS_20 = QK_JOYSTICK_BUTTON_20, - JS_21 = QK_JOYSTICK_BUTTON_21, - JS_22 = QK_JOYSTICK_BUTTON_22, - JS_23 = QK_JOYSTICK_BUTTON_23, - JS_24 = QK_JOYSTICK_BUTTON_24, - JS_25 = QK_JOYSTICK_BUTTON_25, - JS_26 = QK_JOYSTICK_BUTTON_26, - JS_27 = QK_JOYSTICK_BUTTON_27, - JS_28 = QK_JOYSTICK_BUTTON_28, - JS_29 = QK_JOYSTICK_BUTTON_29, - JS_30 = QK_JOYSTICK_BUTTON_30, - JS_31 = QK_JOYSTICK_BUTTON_31, - PB_1 = QK_PROGRAMMABLE_BUTTON_1, - PB_2 = QK_PROGRAMMABLE_BUTTON_2, - PB_3 = QK_PROGRAMMABLE_BUTTON_3, - PB_4 = QK_PROGRAMMABLE_BUTTON_4, - PB_5 = QK_PROGRAMMABLE_BUTTON_5, - PB_6 = QK_PROGRAMMABLE_BUTTON_6, - PB_7 = QK_PROGRAMMABLE_BUTTON_7, - PB_8 = QK_PROGRAMMABLE_BUTTON_8, - PB_9 = QK_PROGRAMMABLE_BUTTON_9, - PB_10 = QK_PROGRAMMABLE_BUTTON_10, - PB_11 = QK_PROGRAMMABLE_BUTTON_11, - PB_12 = QK_PROGRAMMABLE_BUTTON_12, - PB_13 = QK_PROGRAMMABLE_BUTTON_13, - PB_14 = QK_PROGRAMMABLE_BUTTON_14, - PB_15 = QK_PROGRAMMABLE_BUTTON_15, - PB_16 = QK_PROGRAMMABLE_BUTTON_16, - PB_17 = QK_PROGRAMMABLE_BUTTON_17, - PB_18 = QK_PROGRAMMABLE_BUTTON_18, - PB_19 = QK_PROGRAMMABLE_BUTTON_19, - PB_20 = QK_PROGRAMMABLE_BUTTON_20, - PB_21 = QK_PROGRAMMABLE_BUTTON_21, - PB_22 = QK_PROGRAMMABLE_BUTTON_22, - PB_23 = QK_PROGRAMMABLE_BUTTON_23, - PB_24 = QK_PROGRAMMABLE_BUTTON_24, - PB_25 = QK_PROGRAMMABLE_BUTTON_25, - PB_26 = QK_PROGRAMMABLE_BUTTON_26, - PB_27 = QK_PROGRAMMABLE_BUTTON_27, - PB_28 = QK_PROGRAMMABLE_BUTTON_28, - PB_29 = QK_PROGRAMMABLE_BUTTON_29, - PB_30 = QK_PROGRAMMABLE_BUTTON_30, - PB_31 = QK_PROGRAMMABLE_BUTTON_31, - PB_32 = QK_PROGRAMMABLE_BUTTON_32, - AU_ON = QK_AUDIO_ON, - AU_OFF = QK_AUDIO_OFF, - AU_TOGG = QK_AUDIO_TOGGLE, - CK_TOGG = QK_AUDIO_CLICKY_TOGGLE, - CK_ON = QK_AUDIO_CLICKY_ON, - CK_OFF = QK_AUDIO_CLICKY_OFF, - CK_UP = QK_AUDIO_CLICKY_UP, - CK_DOWN = QK_AUDIO_CLICKY_DOWN, - CK_RST = QK_AUDIO_CLICKY_RESET, - MU_ON = QK_MUSIC_ON, - MU_OFF = QK_MUSIC_OFF, - MU_TOGG = QK_MUSIC_TOGGLE, - MU_NEXT = QK_MUSIC_MODE_NEXT, - AU_NEXT = QK_AUDIO_VOICE_NEXT, - AU_PREV = QK_AUDIO_VOICE_PREVIOUS, - MC_0 = QK_MACRO_0, - MC_1 = QK_MACRO_1, - MC_2 = QK_MACRO_2, - MC_3 = QK_MACRO_3, - MC_4 = QK_MACRO_4, - MC_5 = QK_MACRO_5, - MC_6 = QK_MACRO_6, - MC_7 = QK_MACRO_7, - MC_8 = QK_MACRO_8, - MC_9 = QK_MACRO_9, - MC_10 = QK_MACRO_10, - MC_11 = QK_MACRO_11, - MC_12 = QK_MACRO_12, - MC_13 = QK_MACRO_13, - MC_14 = QK_MACRO_14, - MC_15 = QK_MACRO_15, - MC_16 = QK_MACRO_16, - MC_17 = QK_MACRO_17, - MC_18 = QK_MACRO_18, - MC_19 = QK_MACRO_19, - MC_20 = QK_MACRO_20, - MC_21 = QK_MACRO_21, - MC_22 = QK_MACRO_22, - MC_23 = QK_MACRO_23, - MC_24 = QK_MACRO_24, - MC_25 = QK_MACRO_25, - MC_26 = QK_MACRO_26, - MC_27 = QK_MACRO_27, - MC_28 = QK_MACRO_28, - MC_29 = QK_MACRO_29, - MC_30 = QK_MACRO_30, - MC_31 = QK_MACRO_31, - BL_ON = QK_BACKLIGHT_ON, - BL_OFF = QK_BACKLIGHT_OFF, - BL_TOGG = QK_BACKLIGHT_TOGGLE, - BL_DOWN = QK_BACKLIGHT_DOWN, - BL_UP = QK_BACKLIGHT_UP, - BL_STEP = QK_BACKLIGHT_STEP, - BL_BRTG = QK_BACKLIGHT_TOGGLE_BREATHING, - RGB_MOD = RGB_MODE_FORWARD, - RGB_RMOD = RGB_MODE_REVERSE, - RGB_M_P = RGB_MODE_PLAIN, - RGB_M_B = RGB_MODE_BREATHE, - RGB_M_R = RGB_MODE_RAINBOW, - RGB_M_SW = RGB_MODE_SWIRL, - RGB_M_SN = RGB_MODE_SNAKE, - RGB_M_K = RGB_MODE_KNIGHT, - RGB_M_X = RGB_MODE_XMAS, - RGB_M_G = RGB_MODE_GRADIENT, - RGB_M_T = RGB_MODE_RGBTEST, - RGB_M_TW = RGB_MODE_TWINKLE, - QK_BOOT = QK_BOOTLOADER, - QK_RBT = QK_REBOOT, - DB_TOGG = QK_DEBUG_TOGGLE, - EE_CLR = QK_CLEAR_EEPROM, - AS_DOWN = QK_AUTO_SHIFT_DOWN, - AS_UP = QK_AUTO_SHIFT_UP, - AS_RPT = QK_AUTO_SHIFT_REPORT, - AS_ON = QK_AUTO_SHIFT_ON, - AS_OFF = QK_AUTO_SHIFT_OFF, - AS_TOGG = QK_AUTO_SHIFT_TOGGLE, - QK_GESC = QK_GRAVE_ESCAPE, - VK_TOGG = QK_VELOCIKEY_TOGGLE, - SC_LCPO = QK_SPACE_CADET_LEFT_CTRL_PARENTHESIS_OPEN, - SC_RCPC = QK_SPACE_CADET_RIGHT_CTRL_PARENTHESIS_CLOSE, - SC_LSPO = QK_SPACE_CADET_LEFT_SHIFT_PARENTHESIS_OPEN, - SC_RSPC = QK_SPACE_CADET_RIGHT_SHIFT_PARENTHESIS_CLOSE, - SC_LAPO = QK_SPACE_CADET_LEFT_ALT_PARENTHESIS_OPEN, - SC_RAPC = QK_SPACE_CADET_RIGHT_ALT_PARENTHESIS_CLOSE, - SC_SENT = QK_SPACE_CADET_RIGHT_SHIFT_ENTER, - OU_AUTO = QK_OUTPUT_AUTO, - OU_USB = QK_OUTPUT_USB, - OU_BT = QK_OUTPUT_BLUETOOTH, - UC_NEXT = QK_UNICODE_MODE_NEXT, - UC_PREV = QK_UNICODE_MODE_PREVIOUS, - UC_MAC = QK_UNICODE_MODE_MACOS, - UC_LINX = QK_UNICODE_MODE_LINUX, - UC_WIN = QK_UNICODE_MODE_WINDOWS, - UC_BSD = QK_UNICODE_MODE_BSD, - UC_WINC = QK_UNICODE_MODE_WINCOMPOSE, - UC_EMAC = QK_UNICODE_MODE_EMACS, - HF_ON = QK_HAPTIC_ON, - HF_OFF = QK_HAPTIC_OFF, - HF_TOGG = QK_HAPTIC_TOGGLE, - HF_RST = QK_HAPTIC_RESET, - HF_FDBK = QK_HAPTIC_FEEDBACK_TOGGLE, - HF_BUZZ = QK_HAPTIC_BUZZ_TOGGLE, - HF_NEXT = QK_HAPTIC_MODE_NEXT, - HF_PREV = QK_HAPTIC_MODE_PREVIOUS, - HF_CONT = QK_HAPTIC_CONTINUOUS_TOGGLE, - HF_CONU = QK_HAPTIC_CONTINUOUS_UP, - HF_COND = QK_HAPTIC_CONTINUOUS_DOWN, - HF_DWLU = QK_HAPTIC_DWELL_UP, - HF_DWLD = QK_HAPTIC_DWELL_DOWN, - CM_ON = QK_COMBO_ON, - CM_OFF = QK_COMBO_OFF, - CM_TOGG = QK_COMBO_TOGGLE, - DM_REC1 = QK_DYNAMIC_MACRO_RECORD_START_1, - DM_REC2 = QK_DYNAMIC_MACRO_RECORD_START_2, - DM_RSTP = QK_DYNAMIC_MACRO_RECORD_STOP, - DM_PLY1 = QK_DYNAMIC_MACRO_PLAY_1, - DM_PLY2 = QK_DYNAMIC_MACRO_PLAY_2, - QK_LEAD = QK_LEADER, - OS_ON = QK_ONE_SHOT_ON, - OS_OFF = QK_ONE_SHOT_OFF, - OS_TOGG = QK_ONE_SHOT_TOGGLE, - KO_TOGG = QK_KEY_OVERRIDE_TOGGLE, - KO_ON = QK_KEY_OVERRIDE_ON, - KO_OFF = QK_KEY_OVERRIDE_OFF, - SE_LOCK = QK_SECURE_LOCK, - SE_UNLK = QK_SECURE_UNLOCK, - SE_TOGG = QK_SECURE_TOGGLE, - SE_REQ = QK_SECURE_REQUEST, - DT_PRNT = QK_DYNAMIC_TAPPING_TERM_PRINT, - DT_UP = QK_DYNAMIC_TAPPING_TERM_UP, - DT_DOWN = QK_DYNAMIC_TAPPING_TERM_DOWN, - CW_TOGG = QK_CAPS_WORD_TOGGLE, - AC_ON = QK_AUTOCORRECT_ON, - AC_OFF = QK_AUTOCORRECT_OFF, - AC_TOGG = QK_AUTOCORRECT_TOGGLE, - TL_LOWR = QK_TRI_LAYER_LOWER, - TL_UPPR = QK_TRI_LAYER_UPPER, - QK_REP = QK_REPEAT_KEY, - QK_AREP = QK_ALT_REPEAT_KEY, -}; - -// Range Helpers -#define IS_QK_BASIC(code) ((code) >= QK_BASIC && (code) <= QK_BASIC_MAX) -#define IS_QK_MODS(code) ((code) >= QK_MODS && (code) <= QK_MODS_MAX) -#define IS_QK_MOD_TAP(code) ((code) >= QK_MOD_TAP && (code) <= QK_MOD_TAP_MAX) -#define IS_QK_LAYER_TAP(code) ((code) >= QK_LAYER_TAP && (code) <= QK_LAYER_TAP_MAX) -#define IS_QK_LAYER_MOD(code) ((code) >= QK_LAYER_MOD && (code) <= QK_LAYER_MOD_MAX) -#define IS_QK_TO(code) ((code) >= QK_TO && (code) <= QK_TO_MAX) -#define IS_QK_MOMENTARY(code) ((code) >= QK_MOMENTARY && (code) <= QK_MOMENTARY_MAX) -#define IS_QK_DEF_LAYER(code) ((code) >= QK_DEF_LAYER && (code) <= QK_DEF_LAYER_MAX) -#define IS_QK_TOGGLE_LAYER(code) ((code) >= QK_TOGGLE_LAYER && (code) <= QK_TOGGLE_LAYER_MAX) -#define IS_QK_ONE_SHOT_LAYER(code) ((code) >= QK_ONE_SHOT_LAYER && (code) <= QK_ONE_SHOT_LAYER_MAX) -#define IS_QK_ONE_SHOT_MOD(code) ((code) >= QK_ONE_SHOT_MOD && (code) <= QK_ONE_SHOT_MOD_MAX) -#define IS_QK_LAYER_TAP_TOGGLE(code) ((code) >= QK_LAYER_TAP_TOGGLE && (code) <= QK_LAYER_TAP_TOGGLE_MAX) -#define IS_QK_SWAP_HANDS(code) ((code) >= QK_SWAP_HANDS && (code) <= QK_SWAP_HANDS_MAX) -#define IS_QK_TAP_DANCE(code) ((code) >= QK_TAP_DANCE && (code) <= QK_TAP_DANCE_MAX) -#define IS_QK_MAGIC(code) ((code) >= QK_MAGIC && (code) <= QK_MAGIC_MAX) -#define IS_QK_MIDI(code) ((code) >= QK_MIDI && (code) <= QK_MIDI_MAX) -#define IS_QK_SEQUENCER(code) ((code) >= QK_SEQUENCER && (code) <= QK_SEQUENCER_MAX) -#define IS_QK_JOYSTICK(code) ((code) >= QK_JOYSTICK && (code) <= QK_JOYSTICK_MAX) -#define IS_QK_PROGRAMMABLE_BUTTON(code) ((code) >= QK_PROGRAMMABLE_BUTTON && (code) <= QK_PROGRAMMABLE_BUTTON_MAX) -#define IS_QK_AUDIO(code) ((code) >= QK_AUDIO && (code) <= QK_AUDIO_MAX) -#define IS_QK_STENO(code) ((code) >= QK_STENO && (code) <= QK_STENO_MAX) -#define IS_QK_MACRO(code) ((code) >= QK_MACRO && (code) <= QK_MACRO_MAX) -#define IS_QK_LIGHTING(code) ((code) >= QK_LIGHTING && (code) <= QK_LIGHTING_MAX) -#define IS_QK_QUANTUM(code) ((code) >= QK_QUANTUM && (code) <= QK_QUANTUM_MAX) -#define IS_QK_KB(code) ((code) >= QK_KB && (code) <= QK_KB_MAX) -#define IS_QK_USER(code) ((code) >= QK_USER && (code) <= QK_USER_MAX) -#define IS_QK_UNICODEMAP(code) ((code) >= QK_UNICODEMAP && (code) <= QK_UNICODEMAP_MAX) -#define IS_QK_UNICODE(code) ((code) >= QK_UNICODE && (code) <= QK_UNICODE_MAX) -#define IS_QK_UNICODEMAP_PAIR(code) ((code) >= QK_UNICODEMAP_PAIR && (code) <= QK_UNICODEMAP_PAIR_MAX) - -// Group Helpers -#define IS_INTERNAL_KEYCODE(code) ((code) >= KC_NO && (code) <= KC_TRANSPARENT) -#define IS_BASIC_KEYCODE(code) ((code) >= KC_A && (code) <= KC_EXSEL) -#define IS_SYSTEM_KEYCODE(code) ((code) >= KC_SYSTEM_POWER && (code) <= KC_SYSTEM_WAKE) -#define IS_CONSUMER_KEYCODE(code) ((code) >= KC_AUDIO_MUTE && (code) <= KC_LAUNCHPAD) -#define IS_MOUSE_KEYCODE(code) ((code) >= KC_MS_UP && (code) <= KC_MS_ACCEL2) -#define IS_MODIFIER_KEYCODE(code) ((code) >= KC_LEFT_CTRL && (code) <= KC_RIGHT_GUI) -#define IS_SWAP_HANDS_KEYCODE(code) ((code) >= QK_SWAP_HANDS_TOGGLE && (code) <= QK_SWAP_HANDS_ONE_SHOT) -#define IS_MAGIC_KEYCODE(code) ((code) >= QK_MAGIC_SWAP_CONTROL_CAPS_LOCK && (code) <= QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCK) -#define IS_MIDI_KEYCODE(code) ((code) >= QK_MIDI_ON && (code) <= QK_MIDI_PITCH_BEND_UP) -#define IS_SEQUENCER_KEYCODE(code) ((code) >= QK_SEQUENCER_ON && (code) <= QK_SEQUENCER_STEPS_CLEAR) -#define IS_JOYSTICK_KEYCODE(code) ((code) >= QK_JOYSTICK_BUTTON_0 && (code) <= QK_JOYSTICK_BUTTON_31) -#define IS_PROGRAMMABLE_BUTTON_KEYCODE(code) ((code) >= QK_PROGRAMMABLE_BUTTON_1 && (code) <= QK_PROGRAMMABLE_BUTTON_32) -#define IS_AUDIO_KEYCODE(code) ((code) >= QK_AUDIO_ON && (code) <= QK_AUDIO_VOICE_PREVIOUS) -#define IS_STENO_KEYCODE(code) ((code) >= QK_STENO_BOLT && (code) <= QK_STENO_COMB_MAX) -#define IS_MACRO_KEYCODE(code) ((code) >= QK_MACRO_0 && (code) <= QK_MACRO_31) -#define IS_BACKLIGHT_KEYCODE(code) ((code) >= QK_BACKLIGHT_ON && (code) <= QK_BACKLIGHT_TOGGLE_BREATHING) -#define IS_RGB_KEYCODE(code) ((code) >= RGB_TOG && (code) <= RGB_MODE_TWINKLE) -#define IS_QUANTUM_KEYCODE(code) ((code) >= QK_BOOTLOADER && (code) <= QK_ALT_REPEAT_KEY) -#define IS_KB_KEYCODE(code) ((code) >= QK_KB_0 && (code) <= QK_KB_31) -#define IS_USER_KEYCODE(code) ((code) >= QK_USER_0 && (code) <= QK_USER_31) - -// Switch statement Helpers -#define INTERNAL_KEYCODE_RANGE KC_NO ... KC_TRANSPARENT -#define BASIC_KEYCODE_RANGE KC_A ... KC_EXSEL -#define SYSTEM_KEYCODE_RANGE KC_SYSTEM_POWER ... KC_SYSTEM_WAKE -#define CONSUMER_KEYCODE_RANGE KC_AUDIO_MUTE ... KC_LAUNCHPAD -#define MOUSE_KEYCODE_RANGE KC_MS_UP ... KC_MS_ACCEL2 -#define MODIFIER_KEYCODE_RANGE KC_LEFT_CTRL ... KC_RIGHT_GUI -#define SWAP_HANDS_KEYCODE_RANGE QK_SWAP_HANDS_TOGGLE ... QK_SWAP_HANDS_ONE_SHOT -#define MAGIC_KEYCODE_RANGE QK_MAGIC_SWAP_CONTROL_CAPS_LOCK ... QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCK -#define MIDI_KEYCODE_RANGE QK_MIDI_ON ... QK_MIDI_PITCH_BEND_UP -#define SEQUENCER_KEYCODE_RANGE QK_SEQUENCER_ON ... QK_SEQUENCER_STEPS_CLEAR -#define JOYSTICK_KEYCODE_RANGE QK_JOYSTICK_BUTTON_0 ... QK_JOYSTICK_BUTTON_31 -#define PROGRAMMABLE_BUTTON_KEYCODE_RANGE QK_PROGRAMMABLE_BUTTON_1 ... QK_PROGRAMMABLE_BUTTON_32 -#define AUDIO_KEYCODE_RANGE QK_AUDIO_ON ... QK_AUDIO_VOICE_PREVIOUS -#define STENO_KEYCODE_RANGE QK_STENO_BOLT ... QK_STENO_COMB_MAX -#define MACRO_KEYCODE_RANGE QK_MACRO_0 ... QK_MACRO_31 -#define BACKLIGHT_KEYCODE_RANGE QK_BACKLIGHT_ON ... QK_BACKLIGHT_TOGGLE_BREATHING -#define RGB_KEYCODE_RANGE RGB_TOG ... RGB_MODE_TWINKLE -#define QUANTUM_KEYCODE_RANGE QK_BOOTLOADER ... QK_ALT_REPEAT_KEY -#define KB_KEYCODE_RANGE QK_KB_0 ... QK_KB_31 -#define USER_KEYCODE_RANGE QK_USER_0 ... QK_USER_31 diff --git a/keyboards/moonlander/keymaps/ikcelaks/keymap.c b/keyboards/moonlander/keymaps/ikcelaks/keymap.c index 6e4b4879..b86fffd6 100644 --- a/keyboards/moonlander/keymaps/ikcelaks/keymap.c +++ b/keyboards/moonlander/keymaps/ikcelaks/keymap.c @@ -109,20 +109,8 @@ combo_t key_combos[COMBO_COUNT] = { COMBO(combo_RB_IR, US_QUOT_S), }; -// extern rgb_config_t rgb_matrix_config; - -// void keyboard_post_init_user(void) { -// rgb_matrix_enable(); -// } - bool process_record_user(uint16_t keycode, keyrecord_t *record) { - // bool return_value; - - // if (sturdy_pr(keycode, record, &return_value)) - // return return_value; - uprintf("Process_record_user for keycode: %d", keycode); - - if (!process_context_magic(keycode, record)) + if (!process_sequence_transform(keycode, record, US_MAG1)) return false; if (record->event.pressed) { @@ -137,3 +125,16 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } + +// extern rgb_config_t rgb_matrix_config; + +void keyboard_post_init_user(void) +{ + rgb_matrix_enable(); + debug_enable=true; +} + +void matrix_scan_user(void) +{ + sequence_transform_task(); +} diff --git a/keyboards/moonlander/keymaps/ikcelaks/magickey_data-no-expansion.h b/keyboards/moonlander/keymaps/ikcelaks/magickey_data-no-expansion.h deleted file mode 100644 index e3e1d457..00000000 --- a/keyboards/moonlander/keymaps/ikcelaks/magickey_data-no-expansion.h +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2024 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -/******************************************************************************* - 88888888888 888 d8b .d888 d8b 888 d8b - 888 888 Y8P d88P" Y8P 888 Y8P - 888 888 888 888 - 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b - 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K - 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b. - 888 888 888 888 X88 888 888 888 Y8b. 888 X88 - 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P' - 888 888 - 888 888 - 888 888 - .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888 - d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888 - 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888 - Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888 - "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888 - 888 - Y8b d88P - "Y88P" -*******************************************************************************/ - -#pragma once - -// Autocorrection dictionary with longest match semantics: -// Autocorrection dictionary (6 entries): -// j☆ -> just -// j☆☆ -> j☆ment -// ☆☆ -> ☆n -// j✵ -> join -// jud☆ -> judge -// jud☆☆ -> jud☆ment - -#define AUTOCORRECT_MIN_LENGTH 2 // "j☆" -#define AUTOCORRECT_MAX_LENGTH 5 // "jud☆☆" -#define DICTIONARY_SIZE 37 -#define COMPLETIONS_SIZE 18 -#define MAGICKEY_COUNT 4 - -static const uint16_t magickey_data[DICTIONARY_SIZE] PROGMEM = { - 0x4100, 0x0005, 0x0101, 0x0021, 0x0000, 0x4007, 0x000C, 0x000D, 0x0011, 0x0100, 0x0013, 0x0000, 0x0018, 0x000D, 0x0000, 0x8000, - 0x0000, 0x8000, 0x0003, 0xC000, 0x0007, 0x4007, 0x001A, 0x000D, 0x001F, 0x0000, 0x0018, 0x000D, 0x0000, 0x8000, 0x0009, 0x8000, - 0x0009, 0x000D, 0x0000, 0x8000, 0x000E -}; - -static const uint8_t magickey_completions_data[COMPLETIONS_SIZE] PROGMEM = { - 0x67, 0x65, 0x00, 0x75, 0x73, 0x74, 0x00, 0x6E, 0x00, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x6F, 0x69, - 0x6E, 0x00 -}; diff --git a/keyboards/moonlander/keymaps/ikcelaks/rules.mk b/keyboards/moonlander/keymaps/ikcelaks/rules.mk index cbda4f3d..4e4a733b 100644 --- a/keyboards/moonlander/keymaps/ikcelaks/rules.mk +++ b/keyboards/moonlander/keymaps/ikcelaks/rules.mk @@ -6,6 +6,14 @@ SPACE_CADET_ENABLE = no COMBO_ENABLE = yes REPEAT_KEY_ENABLE = yes DEFERRED_EXEC_ENABLE = yes +CAPS_WORD_ENABLE = yes SRC += sequence_transform/sequence_transform.c SRC += sequence_transform/utils.c +SRC += sequence_transform/keybuffer.c +SRC += sequence_transform/trie.c + +# Automatically rebuild my sequence_transform rules from the latest config +$(shell python3 /home/qmk/qmk_userspace/keyboards/moonlander/keymaps/ikcelaks/sequence_transform/generator/sequence_transform_data.py -q) + +TOP_SYMBOLS=10 diff --git a/keyboards/moonlander/keymaps/ikcelaks/sequence_transform b/keyboards/moonlander/keymaps/ikcelaks/sequence_transform index 48b1a6d0..3a3dee16 160000 --- a/keyboards/moonlander/keymaps/ikcelaks/sequence_transform +++ b/keyboards/moonlander/keymaps/ikcelaks/sequence_transform @@ -1 +1 @@ -Subproject commit 48b1a6d0b4f85e3e228042bed0b5ba25b5a18c94 +Subproject commit 3a3dee168ceb2ac6359d1eba3edef17501f85ab8 diff --git a/keyboards/moonlander/keymaps/ikcelaks/sequence_transform_config.json b/keyboards/moonlander/keymaps/ikcelaks/sequence_transform_config.json index 1cef406c..ed000dc6 100644 --- a/keyboards/moonlander/keymaps/ikcelaks/sequence_transform_config.json +++ b/keyboards/moonlander/keymaps/ikcelaks/sequence_transform_config.json @@ -1,5 +1,5 @@ { - "rules_file_name": "./sequence_transform_dict.txt", + "rules_file_name": "sequence_transform_dict.txt", "magic_chars": "👆👍★✪", "wordbreak_char": "⎵", "output_func_chars": "↻⇑", diff --git a/keyboards/moonlander/keymaps/ikcelaks/sequence_transform_data.h b/keyboards/moonlander/keymaps/ikcelaks/sequence_transform_data.h deleted file mode 100644 index 1bd3cdba..00000000 --- a/keyboards/moonlander/keymaps/ikcelaks/sequence_transform_data.h +++ /dev/null @@ -1,212 +0,0 @@ -// Copyright 2024 QMK -// SPDX-License-Identifier: GPL-2.0-or-later - -/******************************************************************************* - 88888888888 888 d8b .d888 d8b 888 d8b - 888 888 Y8P d88P" Y8P 888 Y8P - 888 888 888 888 - 888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b - 888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K - 888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b. - 888 888 888 888 X88 888 888 888 Y8b. 888 X88 - 888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P' - 888 888 - 888 888 - 888 888 - .d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888 - d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888 - 888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888 - Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888 - "Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888 - 888 - Y8b d88P - "Y88P" -*******************************************************************************/ - -#pragma once - -// Autocorrection dictionary with longest match semantics: -// Autocorrection dictionary (114 entries): -// 👍 -> ↻ -// d★ -> develop -// d★t -> development -// d★r -> developer -// d★d -> developed -// ⎵i👍 -> I -// ⎵i👍m -> I'm -// ⎵i👍d -> I'd -// ⎵i👍l -> I'll -// ⎵c👍 -> come -// ⎵s👍 -> some -// ⎵c👍u -> could -// ⎵w👍u -> would -// ⎵s👍u -> should -// ⎵c👍ut -> couldn't -// ⎵w👍ut -> wouldn't -// ⎵s👍ut -> shouldn't -// ⎵c👍uv -> could've -// ⎵w👍uv -> would've -// ⎵s👍uv -> should've -// ⎵👆 -> the -// ⎵👆r⎵ -> there⎵ -// ⎵👆rs -> there's -// ⎵👆i -> their -// ⎵👆yr -> they're -// ⎵👆yl -> they'll -// ⎵👆d -> they'd -// ⎵👆s -> these -// ⎵👆t -> that -// ⎵👆a -> than -// ⎵👆o⎵ -> those -// ⎵t👍 -> time -// ⎵t👍g -> though -// ⎵t👍t -> thought -// ⎵t👍r -> through -// ⎵t👍c -> technology -// ⎵t👍a -> take -// ⎵w👍 -> why -// ⎵w👍n -> when -// ⎵w👍e -> where -// ⎵w👍t -> what -// ⎵w👍r -> we're -// ⎵w👍d -> we'd -// ⎵w👍l -> we'll -// ⎵w👍v -> we've -// ⎵a👆 -> abo -// ⎵a👆t -> about -// ⎵a👆v -> above -// ⎵a👆d -> aboard -// ⎵a👆s -> absolute -// ⎵a👍r -> after -// ⎵a👍n -> again -// ⎵a👍t -> against -// ⎵a👍s -> answer -// ⎵a👍p -> appear -// ⎵a👍w -> always -// ⎵a👍y -> already -// ⎵a👍l -> alright -// ⎵u👍 -> use -// ⎵u👍f -> useful -// ⎵u👍t -> update -// ⎵u👍g -> upgrade -// ⎵u👍s -> upside -// ⎵u👍sd -> upsidedown -// v👆 -> ver -// s👆 -> sk -// x👆 -> es -// m👆 -> ment -// t👆 -> tment -// k👆 -> ks -// l👆 -> lk -// r👆 -> rl -// j👆 -> just -// j👆👆 -> justment -// ⎵j👍 -> join -// ⎵j👍d -> judge -// ⎵j👍dt -> judgment -// ⎵j👍dta -> judgmental -// c👆 -> cy -// p👆 -> py -// d👆 -> dy -// y👆 -> yp -// g👆 -> gy -// w👆 -> which -// q👆 -> question -// b👆 -> before -// f👆 -> first -// z👆 -> zone -// 👆👆 -> 👆n -// n👆 -> nion -// h👆 -> however -// u👆 -> ue -// e👆 -> eu -// o👆 -> oa -// ,👆 -> ,⎵but -// i👆 -> ion -// .👆 -> .\ [escape] -// ⎵👍 -> for -// a👍 -> and -// x👍 -> xer -// k👍 -> know -// i👍 -> ing -// y👍 -> you -// q👍 -> quick -// j👍 -> join -// c👍 -> ck -// n👍 -> nf -// h👍 -> hn -// ,👍 -> ,⎵and -// .👍 -> .⎵⇑ -// ?👍 -> ?⎵⇑ -// :👍 -> :⎵⇑ -// ;👍 -> ;⎵⇑ -// !👍 -> !⎵⇑ - -#define SEQUENCE_MIN_LENGTH 1 // "👍" -#define SEQUENCE_MAX_LENGTH 6 // "⎵j👍dta" -#define DICTIONARY_SIZE 684 -#define COMPLETIONS_SIZE 213 -#define SEQUENCE_TRANSFORM_COUNT 4 - -static const uint16_t sequence_transform_data[DICTIONARY_SIZE] PROGMEM = { - 0x4004, 0x002D, 0x0006, 0x0044, 0x0007, 0x004A, 0x0008, 0x007B, 0x0009, 0x0081, 0x000A, 0x0087, 0x000C, 0x0096, 0x000F, 0x009B, - 0x0010, 0x00B8, 0x0011, 0x00BE, 0x0013, 0x00CD, 0x0015, 0x00D3, 0x0016, 0x00F6, 0x0017, 0x011A, 0x0018, 0x0168, 0x0019, 0x017D, - 0x001A, 0x01A3, 0x001C, 0x01A9, 0x002C, 0x01AF, 0x0102, 0x01BE, 0x0100, 0x01C2, 0x0101, 0x0241, 0x0000, 0x4017, 0x0034, 0x0100, - 0x003B, 0x0101, 0x003F, 0x0000, 0x0007, 0x0101, 0x000D, 0x002C, 0x0000, 0x8002, 0x00CD, 0x002C, 0x0000, 0x8082, 0x0071, 0x0017, - 0x002C, 0x0000, 0x8183, 0x00A1, 0x0101, 0x0017, 0x002C, 0x0000, 0x8189, 0x0000, 0x4016, 0x0053, 0x0102, 0x0059, 0x0100, 0x005D, - 0x0101, 0x0068, 0x0000, 0x0101, 0x0018, 0x002C, 0x0000, 0x8004, 0x007C, 0x0007, 0x0000, 0x8002, 0x00C9, 0x4004, 0x0062, 0x002C, - 0x0066, 0x0000, 0x002C, 0x0000, 0x8003, 0x00AD, 0x8003, 0x0098, 0x400C, 0x006F, 0x000D, 0x0073, 0x001A, 0x0077, 0x0000, 0x002C, - 0x0000, 0x8002, 0x0099, 0x002C, 0x0000, 0x8184, 0x0080, 0x002C, 0x0000, 0x8103, 0x00B6, 0x0101, 0x001A, 0x002C, 0x0000, 0x8083, - 0x0092, 0x0101, 0x0018, 0x002C, 0x0000, 0x8003, 0x00BF, 0x0101, 0x0000, 0x4017, 0x008E, 0x0018, 0x0092, 0x0000, 0x002C, 0x0000, - 0x8185, 0x0010, 0x002C, 0x0000, 0x8106, 0x0022, 0x0100, 0x002C, 0x0000, 0x8002, 0x0064, 0x401C, 0x00A0, 0x0101, 0x00A5, 0x0000, - 0x0100, 0x002C, 0x0000, 0x8003, 0x0095, 0x4004, 0x00AC, 0x000C, 0x00B0, 0x001A, 0x00B4, 0x0000, 0x002C, 0x0000, 0x8106, 0x0028, - 0x002C, 0x0000, 0x8003, 0x0095, 0x002C, 0x0000, 0x8104, 0x0094, 0x0101, 0x000C, 0x002C, 0x0000, 0x8002, 0x00C7, 0x0101, 0x0000, - 0x4004, 0x00C5, 0x001A, 0x00C9, 0x0000, 0x002C, 0x0000, 0x8104, 0x003A, 0x002C, 0x0000, 0x8082, 0x006D, 0x0101, 0x0004, 0x002C, - 0x0000, 0x8105, 0x0055, 0x401C, 0x00DA, 0x0102, 0x00DF, 0x0101, 0x00E3, 0x0000, 0x0100, 0x002C, 0x0000, 0x8003, 0x0085, 0x0007, - 0x0000, 0x8002, 0x0044, 0x4004, 0x00EA, 0x0017, 0x00EE, 0x001A, 0x00F2, 0x0000, 0x002C, 0x0000, 0x8104, 0x0090, 0x002C, 0x0000, - 0x8186, 0x0034, 0x002C, 0x0000, 0x8104, 0x0084, 0x4015, 0x00FD, 0x0100, 0x0102, 0x0101, 0x010D, 0x0000, 0x0100, 0x002C, 0x0000, - 0x8003, 0x00AA, 0x4004, 0x0107, 0x002C, 0x010B, 0x0000, 0x002C, 0x0000, 0x8086, 0x001C, 0x8002, 0x009C, 0x4004, 0x0112, 0x0018, - 0x0116, 0x0000, 0x002C, 0x0000, 0x8084, 0x0068, 0x002C, 0x0000, 0x8105, 0x004B, 0x4007, 0x0125, 0x0018, 0x012B, 0x0102, 0x0140, - 0x0100, 0x0144, 0x0101, 0x014F, 0x0000, 0x0101, 0x000D, 0x002C, 0x0000, 0x8084, 0x006C, 0x0101, 0x0000, 0x4006, 0x0134, 0x0016, - 0x0138, 0x001A, 0x013C, 0x0000, 0x002C, 0x0000, 0x8003, 0x009E, 0x002C, 0x0000, 0x8003, 0x009E, 0x002C, 0x0000, 0x8003, 0x009E, - 0x0007, 0x0000, 0x8004, 0x006C, 0x4004, 0x0149, 0x002C, 0x014D, 0x0000, 0x002C, 0x0000, 0x8002, 0x001F, 0x8082, 0x0048, 0x4004, - 0x0158, 0x0017, 0x015C, 0x0018, 0x0160, 0x001A, 0x0164, 0x0000, 0x002C, 0x0000, 0x8106, 0x003A, 0x002C, 0x0000, 0x8186, 0x0010, - 0x002C, 0x0000, 0x8105, 0x0046, 0x002C, 0x0000, 0x8082, 0x0048, 0x0101, 0x0000, 0x4006, 0x0171, 0x0016, 0x0175, 0x001A, 0x0179, - 0x0000, 0x002C, 0x0000, 0x8103, 0x0061, 0x002C, 0x0000, 0x8185, 0x005F, 0x002C, 0x0000, 0x8104, 0x0060, 0x4018, 0x0184, 0x0100, - 0x0199, 0x0101, 0x019E, 0x0000, 0x0101, 0x0000, 0x4006, 0x018D, 0x0016, 0x0191, 0x001A, 0x0195, 0x0000, 0x002C, 0x0000, 0x8003, - 0x0089, 0x002C, 0x0000, 0x8003, 0x0089, 0x002C, 0x0000, 0x8003, 0x0089, 0x0004, 0x002C, 0x0000, 0x8002, 0x0017, 0x001A, 0x002C, - 0x0000, 0x8104, 0x0088, 0x0101, 0x0004, 0x002C, 0x0000, 0x8105, 0x0050, 0x0101, 0x0004, 0x002C, 0x0000, 0x8106, 0x002E, 0x4012, - 0x01B4, 0x0015, 0x01B9, 0x0000, 0x0100, 0x002C, 0x0000, 0x8203, 0x009B, 0x0100, 0x002C, 0x0000, 0x8002, 0x00C5, 0x0007, 0x0000, - 0x8006, 0x0016, 0x4036, 0x01FF, 0x0037, 0x0201, 0x0004, 0x0203, 0x0005, 0x0207, 0x0006, 0x0209, 0x0007, 0x020B, 0x0008, 0x020D, - 0x0009, 0x020F, 0x000A, 0x0211, 0x000B, 0x0213, 0x000C, 0x0215, 0x000D, 0x0217, 0x000E, 0x0219, 0x000F, 0x021B, 0x0010, 0x021D, - 0x0011, 0x021F, 0x0012, 0x0221, 0x0013, 0x0223, 0x0014, 0x0225, 0x0015, 0x0227, 0x0016, 0x0229, 0x0017, 0x022B, 0x0018, 0x022D, - 0x0019, 0x022F, 0x001A, 0x0231, 0x001B, 0x0233, 0x001C, 0x0235, 0x001D, 0x0237, 0x002C, 0x0239, 0x0100, 0x023B, 0x0000, 0x8004, - 0x0078, 0x8001, 0x00D4, 0x002C, 0x0000, 0x8002, 0x00CB, 0x8005, 0x005A, 0x8001, 0x0008, 0x8001, 0x0008, 0x8001, 0x0009, 0x8004, - 0x0064, 0x8001, 0x0008, 0x8006, 0x0040, 0x8002, 0x000E, 0x8003, 0x00B9, 0x8001, 0x000B, 0x8001, 0x0077, 0x8003, 0x006D, 0x8003, - 0x000D, 0x8001, 0x0025, 0x8001, 0x0008, 0x8007, 0x0009, 0x8001, 0x0005, 0x8001, 0x0077, 0x8004, 0x006C, 0x8001, 0x0000, 0x8002, - 0x0044, 0x8004, 0x008C, 0x8082, 0x000A, 0x8001, 0x001B, 0x8003, 0x00BC, 0x8003, 0x00B0, 0xC001, 0x0003, 0x000D, 0x0000, 0x8004, - 0x006C, 0xC800, 0x0000, 0x421E, 0x026E, 0x0036, 0x0270, 0x0037, 0x0272, 0x0233, 0x0274, 0x0033, 0x0276, 0x0238, 0x0278, 0x0004, - 0x027A, 0x0006, 0x027C, 0x000B, 0x0282, 0x000C, 0x0284, 0x000D, 0x028A, 0x000E, 0x0290, 0x0011, 0x0292, 0x0014, 0x0294, 0x0016, - 0x0296, 0x0017, 0x029A, 0x0018, 0x029E, 0x001A, 0x02A2, 0x001B, 0x02A6, 0x001C, 0x02A8, 0x002C, 0x02AA, 0x0000, 0x9001, 0x0070, - 0x8004, 0x0070, 0x9001, 0x0070, 0x9001, 0x0070, 0x9001, 0x0070, 0x9001, 0x0070, 0x8002, 0x0072, 0xC001, 0x0077, 0x002C, 0x0000, - 0x8003, 0x00B3, 0x8001, 0x0003, 0xC002, 0x00CF, 0x002C, 0x0000, 0x8081, 0x00D3, 0xC003, 0x00A7, 0x002C, 0x0000, 0x8003, 0x00A7, - 0x8003, 0x00C2, 0x8001, 0x005B, 0x8004, 0x0074, 0x002C, 0x0000, 0x8003, 0x00B3, 0x002C, 0x0000, 0x8003, 0x00A4, 0x002C, 0x0000, - 0x8002, 0x009C, 0x002C, 0x0000, 0x8002, 0x00D1, 0x8002, 0x0044, 0x8002, 0x0011, 0x8003, 0x005B -}; - -static const uint8_t sequence_transform_completions_data[COMPLETIONS_SIZE] PROGMEM = { - 0x65, 0x63, 0x68, 0x6E, 0x6F, 0x6C, 0x6F, 0x67, 0x79, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6F, 0x6E, - 0x68, 0x6F, 0x75, 0x67, 0x68, 0x74, 0x65, 0x76, 0x65, 0x6C, 0x6F, 0x70, 0x73, 0x6F, 0x6C, 0x75, - 0x74, 0x65, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x6C, 0x72, 0x69, 0x67, 0x68, 0x74, 0x6C, 0x72, - 0x65, 0x61, 0x64, 0x79, 0x68, 0x72, 0x6F, 0x75, 0x67, 0x68, 0x67, 0x61, 0x69, 0x6E, 0x73, 0x74, - 0x6F, 0x77, 0x65, 0x76, 0x65, 0x72, 0x70, 0x64, 0x61, 0x74, 0x65, 0x70, 0x73, 0x69, 0x64, 0x65, - 0x6C, 0x77, 0x61, 0x79, 0x73, 0x70, 0x70, 0x65, 0x61, 0x72, 0x65, 0x66, 0x6F, 0x72, 0x65, 0x68, - 0x6F, 0x75, 0x6C, 0x64, 0x69, 0x72, 0x73, 0x74, 0x73, 0x77, 0x65, 0x72, 0x6D, 0x65, 0x6E, 0x74, - 0x20, 0x61, 0x6E, 0x64, 0x75, 0x69, 0x63, 0x6B, 0x20, 0x62, 0x75, 0x74, 0x64, 0x6F, 0x77, 0x6E, - 0x75, 0x64, 0x67, 0x65, 0x65, 0x27, 0x72, 0x65, 0x65, 0x27, 0x76, 0x65, 0x68, 0x69, 0x63, 0x68, - 0x66, 0x74, 0x65, 0x72, 0x65, 0x27, 0x6C, 0x6C, 0x79, 0x27, 0x64, 0x6F, 0x73, 0x65, 0x6E, 0x27, - 0x74, 0x61, 0x6B, 0x65, 0x69, 0x6D, 0x65, 0x6F, 0x69, 0x6E, 0x65, 0x27, 0x73, 0x61, 0x72, 0x64, - 0x74, 0x68, 0x65, 0x6F, 0x6D, 0x65, 0x65, 0x27, 0x64, 0x75, 0x73, 0x74, 0x6F, 0x6E, 0x65, 0x66, - 0x75, 0x6C, 0x6E, 0x6F, 0x77, 0x65, 0x20, 0x27, 0x6D, 0x65, 0x64, 0x62, 0x6F, 0x61, 0x6C, 0x6E, - 0x67, 0x68, 0x79, 0x49, 0x5C -}; diff --git a/keyboards/moonlander/keymaps/ikcelaks/sequence_transform_dict.txt b/keyboards/moonlander/keymaps/ikcelaks/sequence_transform_dict.txt index fcfa2689..f8094c76 100644 --- a/keyboards/moonlander/keymaps/ikcelaks/sequence_transform_dict.txt +++ b/keyboards/moonlander/keymaps/ikcelaks/sequence_transform_dict.txt @@ -12,10 +12,26 @@ d★d ⇒ developed ⎵i👍m ⇒ I'm ⎵i👍d ⇒ I'd ⎵i👍l ⇒ I'll +⎵i👍r ⇒ increase +⎵i👍rg ⇒ increasing +⎵i👍e ⇒ include +⎵i👍eg ⇒ including +⎵i👍t ⇒ interest +⎵i👍tg ⇒ interesting +⎵i👍td ⇒ interested ⎵c👍 ⇒ come -⎵s👍 ⇒ some +⎵c👍o ⇒ course +⎵c👍a ⇒ change +⎵c👍ai ⇒ changing +⎵c👍s ⇒ cause +⎵c👍n ⇒ consider +⎵c👍m ⇒ complete +⎵c👍l ⇒ call +⎵c👍h ⇒ child +⎵c👍hr ⇒ children + ⎵c👍u ⇒ could ⎵w👍u ⇒ would @@ -28,41 +44,173 @@ d★d ⇒ developed ⎵s👍uv ⇒ should've +⎵r👍 ⇒ right +⎵r👍d ⇒ round +⎵r👍y ⇒ ready +⎵r👍i ⇒ river +⎵r👍e ⇒ real +⎵r👍ey ⇒ really +⎵r👍m ⇒ remember +⎵r👍c ⇒ record +⎵r👍h ⇒ reach +⎵r👍s ⇒ restaurant + +⎵l👍 ⇒ like +⎵l👍i ⇒ light +⎵l👍a ⇒ large +⎵l👍o ⇒ look +⎵l👍f ⇒ life +⎵l👍t ⇒ last +⎵l👍n ⇒ line + +⎵m👍 ⇒ make +⎵m👍g ⇒ making +⎵m👍i ⇒ might +⎵m👍o ⇒ most +⎵m👍e ⇒ more +⎵m👍u ⇒ must +⎵m👍c ⇒ much +⎵m👍v ⇒ move +⎵m👍n ⇒ mean +⎵m👍r ⇒ mother + ⎵👆 ⇒ the ⎵👆r⎵ ⇒ there⎵ ⎵👆rs ⇒ there's ⎵👆i ⇒ their +⎵👆g ⇒ thing +⎵👆k ⇒ think ⎵👆yr ⇒ they're ⎵👆yl ⇒ they'll ⎵👆d ⇒ they'd -⎵👆s ⇒ these +⎵👆s⎵ ⇒ this⎵ ⎵👆t ⇒ that -⎵👆a ⇒ than -⎵👆o⎵ ⇒ those +⎵👆a⎵ ⇒ than⎵ +⎵👆ak ⇒ thank +⎵👆o⎵ ⇒ those⎵ ⎵t👍 ⇒ time ⎵t👍g ⇒ though ⎵t👍t ⇒ thought ⎵t👍r ⇒ through -⎵t👍c ⇒ technology +⎵t👍n ⇒ techn +⎵t👍ny ⇒ technology +⎵t👍nl ⇒ technical +⎵t👍nly ⇒ technically +⎵t👍nu ⇒ technique +⎵t👍w ⇒ throw ⎵t👍a ⇒ take +⎵t👍ag ⇒ taking + +⎵t👆 ⇒ tell + +k👍d ⇒ knowledge +k👍di ⇒ knowledging + +⎵k👆 ⇒ keep + +⎵o👍 ⇒ one +⎵o👍x ⇒ oxygen +⎵o👍r ⇒ other +⎵o👍t ⇒ often +⎵o👍b ⇒ object +⎵o👍s ⇒ observe +⎵o👍p ⇒ opposite +⎵o👍g ⇒ original +⎵o👍c ⇒ occur +⎵o👍f ⇒ offer +⎵o👍d ⇒ order +⎵o👍di ⇒ ordering + +⎵x👍 ⇒ xab +⎵x👍x ⇒ xabcd +⎵x👍xx ⇒ y +⎵x👍kx ⇒ k + +ou👍 ⇒ ough +au👍 ⇒ augh + +st👍 ⇒ sts +rs👍 ⇒ rst + +⎵b👍 ⇒ be +⎵b👍s ⇒ because +⎵b👍c ⇒ become +⎵b👍t ⇒ between +⎵b👍g ⇒ begin +⎵b👍l ⇒ believe +⎵b👍e ⇒ been +⎵b👍r ⇒ brother +⎵b👍o ⇒ both + +⎵f👍 ⇒ from +⎵f👍l ⇒ follow +⎵f👍l👆 ⇒ follower +⎵f👍ld ⇒ followed +⎵f👍r ⇒ friend +⎵f👍d ⇒ find +⎵f👍e ⇒ feel +⎵f👍c ⇒ face +⎵f👍t ⇒ fact + +⎵n👍 ⇒ not +⎵n👍v ⇒ never +⎵n👍t ⇒ nation +⎵n👍d ⇒ need +⎵n👍w ⇒ nowhere +⎵n👍g ⇒ nothing +⎵n👍m ⇒ number + +⎵e👍 ⇒ each +⎵e👍g ⇒ enough +⎵e👍n ⇒ even +⎵e👍y ⇒ every +⎵e👍ym ⇒ everytime +⎵e👍yt ⇒ everything +⎵e👍r ⇒ early +⎵e👍x ⇒ example +⎵e👍c ⇒ exercise +⎵e👍p ⇒ expert +⎵e👍q ⇒ equal +⎵e👍qe ⇒ equate ⎵w👍 ⇒ why +⎵w👍i ⇒ which ⎵w👍n ⇒ when +⎵w👍h ⇒ while ⎵w👍e ⇒ where ⎵w👍t ⇒ what +⎵w👍o ⇒ world +⎵w👍k ⇒ work +⎵w👍ts ⇒ what's ⎵w👍r ⇒ we're ⎵w👍d ⇒ we'd ⎵w👍l ⇒ we'll ⎵w👍v ⇒ we've -⎵a👆 ⇒ abo +⎵w👆i ⇒ will +⎵w👆l ⇒ well +⎵w👆r ⇒ write +⎵w👆o ⇒ word +⎵w👆t ⇒ with +⎵w👆to ⇒ without + +⎵v👍 ⇒ view +⎵v👍r ⇒ viewer +⎵v👍d ⇒ viewed +⎵v👍i ⇒ vision +⎵v👍n ⇒ version + +⎵a👆 ⇒ abo ⎵a👆t ⇒ about ⎵a👆v ⇒ above ⎵a👆d ⇒ aboard ⎵a👆s ⇒ absolute +⎵a👆l ⇒ also ⎵a👍r ⇒ after +⎵a👍👆 ⇒ another +⎵a👍d ⇒ around ⎵a👍n ⇒ again ⎵a👍t ⇒ against ⎵a👍s ⇒ answer @@ -71,22 +219,101 @@ d★d ⇒ developed ⎵a👍y ⇒ already ⎵a👍l ⇒ alright -⎵u👍 ⇒ use +⎵s👍 ⇒ some +⎵s👍t ⇒ sometimes +⎵s👍g ⇒ something +⎵s👍h ⇒ somehow +⎵s👍y ⇒ system +⎵s👍d ⇒ sound +⎵s👍c ⇒ success +⎵s👍l ⇒ school +⎵s👍m ⇒ small +⎵s👍p ⇒ special +⎵s👍w ⇒ show +⎵s👍wr ⇒ shower +⎵s👍wd ⇒ showed +⎵s👍wi ⇒ showing +⎵s👍a ⇒ state +⎵s👍e ⇒ seem +⎵s👍i ⇒ still +⎵s👍n ⇒ since + +⎵s👆c ⇒ such + +s👆l ⇒ school + +⎵p👍 ⇒ pro +⎵p👍b ⇒ problem +⎵p👍m ⇒ program +⎵p👍r ⇒ present +⎵p👍e ⇒ people +⎵p👍a ⇒ play +⎵p👍s ⇒ possible +⎵p👍n ⇒ person +⎵p👍o ⇒ power +⎵p👍u ⇒ public +⎵p👍h ⇒ psych +⎵p👍l ⇒ place +⎵p👍t ⇒ point + +⎵d👍 ⇒ do +⎵d👍t ⇒ don't +⎵d👍i ⇒ did +⎵d👍it ⇒ didn't +⎵d👍f ⇒ differ +⎵d👍ft ⇒ different +⎵d👍u ⇒ difficult +⎵d👍r ⇒ during +⎵d👍n ⇒ down +⎵d👍d ⇒ decide +⎵d👍l ⇒ develop +⎵d👍lm ⇒ development +⎵d👍ld ⇒ developed +⎵d👍l👆 ⇒ developer + +⎵u👍 ⇒ use +⎵u👍g ⇒ using ⎵u👍f ⇒ useful ⎵u👍t ⇒ update -⎵u👍g ⇒ upgrade -⎵u👍s ⇒ upside -⎵u👍sd ⇒ upsidedown +⎵u👍r ⇒ upgrade +⎵u👍n ⇒ under + +⎵h👍 ⇒ have +⎵h👍r ⇒ here +⎵h👍s ⇒ house +⎵h👍t ⇒ height +⎵h👍l ⇒ help +⎵h👍d ⇒ hold + +⎵g👍 ⇒ give +⎵g👍v ⇒ govern +⎵g👍e ⇒ general +⎵g👍d ⇒ governed +⎵g👍m ⇒ government +⎵g👍r ⇒ group +⎵g👍t ⇒ great +⎵g👍o ⇒ good +⎵g👍u ⇒ guage +⎵g👍a ⇒ guarantee + +⎵l👆 ⇒ little v👆 ⇒ ver s👆 ⇒ sk -x👆 ⇒ es +x👆 ⇒ xes m👆 ⇒ ment +ma👆 ⇒ make +mr👆 ⇒ mark t👆 ⇒ tment +ta👆 ⇒ take k👆 ⇒ ks l👆 ⇒ lk +li👆 ⇒ list +blivi👆 ⇒ blivion +vili👆 ⇒ vilion +lli👆 ⇒ llion r👆 ⇒ rl j👆 ⇒ just @@ -98,11 +325,17 @@ j👆👆 ⇒ justment c👆 ⇒ cy p👆 ⇒ py +pl👆 ⇒ ply +pa👆 ⇒ page d👆 ⇒ dy +da👆 ⇒ day +dr👆 ⇒ dry y👆 ⇒ yp g👆 ⇒ gy -w👆 ⇒ which -q👆 ⇒ question +w👆 ⇒ way +q👆 ⇒ quest +q👆👆 ⇒ question +q👆d ⇒ quested b👆 ⇒ before f👆 ⇒ first @@ -119,6 +352,8 @@ o👆 ⇒ oa ,👆 ⇒ ,⎵but i👆 ⇒ ion .👆 ⇒ .\ +-👆 ⇒ -> +=👆 ⇒ => ⎵👍 ⇒ for a👍 ⇒ and diff --git a/keyboards/moonlander/keymaps/ikcelaks/stack.cpp b/keyboards/moonlander/keymaps/ikcelaks/stack.cpp deleted file mode 100644 index 4079a7f7..00000000 --- a/keyboards/moonlander/keymaps/ikcelaks/stack.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include "stack.h" -#include - -////////////////////////////////////////////////////////////////////////////////// -void stack_push(stack_t *s, char c) -{ - if (s->size < STACK_SIZE) - s->buffer[s->size++] = c; -} -////////////////////////////////////////////////////////////////////////////////// -void stack_pop(stack_t *s) -{ - if (s->size > 0) - s->size--; -} -////////////////////////////////////////////////////////////////////////////////// -void stack_print(stack_t *s) -{ - for (int i = s->size - 1; i >= 0; --i) - printf("%c", s->buffer[i]); -} \ No newline at end of file diff --git a/keyboards/moonlander/keymaps/ikcelaks/stack.h b/keyboards/moonlander/keymaps/ikcelaks/stack.h deleted file mode 100644 index 30009eb0..00000000 --- a/keyboards/moonlander/keymaps/ikcelaks/stack.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -////////////////////////////////////////////////////////////////////////////////// -#define STACK_SIZE 256 -typedef struct { - char buffer[STACK_SIZE]; - int size; -} stack_t; - -void stack_push(stack_t *s, char c); -void stack_pop(stack_t *s); -void stack_print(stack_t *s); \ No newline at end of file diff --git a/keyboards/moonlander/keymaps/ikcelaks/trie2.cpp b/keyboards/moonlander/keymaps/ikcelaks/trie2.cpp deleted file mode 100644 index 74dabfc9..00000000 --- a/keyboards/moonlander/keymaps/ikcelaks/trie2.cpp +++ /dev/null @@ -1,240 +0,0 @@ -#include -#include -#include -#include "trie2.h" -#include "stack.h" -#include "util2.h" - -#define KEY_BUFFER_MAX_LENGTH MAGICKEY_MAX_LENGTH -#define TDATA(i) trie->dict[i] -#define CDATA(i) trie->completions[i] - -////////////////////////////////////////////////////////////////////////////////// -typedef struct { - char data[KEY_BUFFER_MAX_LENGTH]; - int size; - // result data - const char *completion; - int complete_len; - int func_num; - int num_backspaces; -} search_buffer_t; - -////////////////////////////////////////////////////////////////////////////////// -typedef struct trie2_visitor trie2_visitor_t; -typedef void (*trie2_visitor_cb_t)(trie2_visitor_t *, int, int, const char *); -struct trie2_visitor { - stack_t stack; - trie2_visitor_cb_t cb_func; - void *cb_data; -}; - -////////////////////////////////////////////////////////////////////////////////// -// traverse trie and call v->cb_func at each MATCH node -void traverse_trie2(const trie2_t *trie, int offset, trie2_visitor_t *v) -{ - assert(offset < trie->dict_size); - uint16_t code = TDATA(offset); - assert(code); - // MATCH node - if (code & 0x8000) { - // Traverse down child node if this isn't the only match - if (code & 0x4000) - traverse_trie2(trie, offset+2, v); - printf("offset %d: ", offset); - const int bspaces = (code & 0x3F); - const int func = (code >> 11 & 0x07); - const int complete_offset = TDATA(offset+1); - const char *completion = (const char *)&CDATA(complete_offset); - v->cb_func(v, bspaces, func, completion); - } - // BRANCH node - else if (code & 0x4000) { - //printf("BRANCH node at offset %d\n", offset); - code &= 0x3FFF; - for (; code; offset += 2, code = TDATA(offset)) { - // Get 16bit offset to child node - const int child_offset = TDATA(offset+1); - // Traverse down child node - stack_push(&v->stack, keycode_to_char(code)); - traverse_trie2(trie, child_offset, v); - stack_pop(&v->stack); - } - } - // Chain node - else { - //printf("CHAIN node at offset %d\n", offset); - // Travel down chain until we reach a zero byte - const int prev_stack_size = v->stack.size; - for (; code; code = TDATA(++offset)) - stack_push(&v->stack, keycode_to_char(code)); - // After a chain, there should be a leaf or branch - traverse_trie2(trie, offset+1, v); - v->stack.size = prev_stack_size; - } -} -////////////////////////////////////////////////////////////////////////////////// -bool search_trie2(const trie2_t *trie, int offset, trie2_visitor_t *v) -{ - assert(offset < trie->dict_size); - search_buffer_t *search = (search_buffer_t*)v->cb_data; - uint16_t code = TDATA(offset); - assert(code); - // MATCH node if bit 15 is set - if (code & 0x8000) { - // If bit 14 is also set, there's a child node after the completion string - if ((code & 0x4000) && search_trie2(trie, offset+2, v)) - return true; - // If no better match found deeper, this is the result! - const int bspaces = (code & 0x3F); - const int func = (code >> 11 & 0x7); - const int complete_offset = TDATA(offset+1); - const char *completion = (const char *)&CDATA(complete_offset); - v->cb_func(v, bspaces, func, completion); - // Found a match so return true! - return true; - } - // BRANCH node if bit 14 is set - if (code & 0x4000) { - if ((v->stack.size+1) > search->size) - return false; - code &= 0x3FFF; - const char cur_char = search->data[search->size - (v->stack.size+1)]; - // find child that matches our current buffer location - for (; code; offset += 2, code = TDATA(offset)) { - const char c = keycode_to_char(code); - if (cur_char == c) { - // Get 15bit offset to child node - const int child_offset = TDATA(offset+1); - // Traverse down child node - stack_push(&v->stack, c); - const bool res = search_trie2(trie, child_offset, v); - stack_pop(&v->stack); - return res; - } - } - // Couldn't go deeper, so return false. - return false; - } - // No high bits set, so this is a chain node - // Travel down chain until we reach a zero code, or we no longer match our buffer - const int prev_stack_size = v->stack.size; - for (; code; code = TDATA(++offset)) { - const char c = keycode_to_char(code); - stack_push(&v->stack, c); - if (v->stack.size > search->size || - c != search->data[search->size - v->stack.size]) { - v->stack.size = prev_stack_size; - return false; - } - } - // After a chain, there should be a leaf or branch - const bool res = search_trie2(trie, offset+1, v); - v->stack.size = prev_stack_size; - return res; -} - -////////////////////////////////////////////////////////////////////////////////// -void print_traverse_cb2(trie2_visitor_t *v, int bspaces, int func, const char *completion) -{ - printf(" depth %d: ", v->stack.size); - printf(" -> %s (bspc: %d, func: %d)\n", completion, bspaces, func); - - if (v->cb_data) { - int entries = *(int*)v->cb_data; - *(int*)v->cb_data = entries + 1; - } -} - -////////////////////////////////////////////////////////////////////////////////// -void print_search_cb2(trie2_visitor_t *v, int bspaces, int func, const char *completion) -{ - printf(" depth %d: ", v->stack.size); - stack_print(&v->stack); - search_buffer_t *search = (search_buffer_t*)v->cb_data; - char last_char; - int i; - switch (func) { - case 1: // repeat - i = search->size - 1; - last_char = search->data[i]; - while ((last_char == '*' || last_char == '@') && i >= 0) { - last_char = search->data[--i]; - } - search->data[search->size-1] = last_char; - printf(" -> %s%c (bspc: %d, func: %d)\n", completion, last_char, bspaces, func); - printf(" new buffer: %s", search->data); - printf("\n"); - break; - case 2: // one-shot-shift - printf(" -> %s (bspc: %d, func: %d)\n", completion, bspaces, func); - printf(" Activating One-Shot-Shift\n"); - break; - default: - printf(" -> %s (bspc: %d, func: %d)\n", completion, bspaces, func); - } - - if (v->cb_data) { - int entries = *(int*)v->cb_data; - *(int*)v->cb_data = entries + 1; - } -} -////////////////////////////////////////////////////////////////////////////////// -void test_traverse2(trie2_t *trie) -{ - printf("Traversing Trie2:\n"); - int entries = 0; - trie2_visitor_t visitor; - visitor.stack.size = 0; - visitor.cb_data = (void*)&entries; - visitor.cb_func = print_traverse_cb2; - traverse_trie2(trie, 0, &visitor); - printf("Found %d entries.\n\n", entries); -} -////////////////////////////////////////////////////////////////////////////////// -void test_search2(const trie2_t *trie, const char *buffer) -{ - printf("Searching Trie2 for '%s':\n", buffer); - search_buffer_t search; - strcpy(search.data, buffer); - search.size = (int)strlen(buffer); - trie2_visitor_t visitor; - visitor.stack.size = 0; - visitor.cb_data = (void*)&search; - visitor.cb_func = print_search_cb2; - search_trie2(trie, 0, &visitor); -} -////////////////////////////////////////////////////////////////////////////////// -void test_trie2() -{ - trie2_t trie2 = { - magickey_data, - magickey_completions_data, - DICTIONARY_SIZE, - COMPLETIONS_SIZE - }; - test_traverse2(&trie2); - // Test search - test_search2(&trie2, "i*"); - test_search2(&trie2, ":sti@"); - test_search2(&trie2, "stati*"); - test_search2(&trie2, "bo*"); - test_search2(&trie2, "judge@"); - test_search2(&trie2, "cop*"); - test_search2(&trie2, "beh@"); - test_search2(&trie2, ":beh@"); - test_search2(&trie2, "cat*"); - test_search2(&trie2, ":ex@"); - test_search2(&trie2, "j*"); - test_search2(&trie2, ":i@"); - test_search2(&trie2, ":i@m"); - test_search2(&trie2, ":i@d"); - test_search2(&trie2, ":i@l"); - test_search2(&trie2, "o@"); - test_search2(&trie2, ".@"); -} - -int main() -{ - test_trie2(); -} diff --git a/keyboards/moonlander/keymaps/ikcelaks/trie2.h b/keyboards/moonlander/keymaps/ikcelaks/trie2.h deleted file mode 100644 index 65f0ec1b..00000000 --- a/keyboards/moonlander/keymaps/ikcelaks/trie2.h +++ /dev/null @@ -1,14 +0,0 @@ -#pragma once -#include - -#define PROGMEM -#include "magickey_data.h" - -typedef struct { - const uint16_t *dict; - const uint8_t *completions; - int dict_size; - int completions_size; -} trie2_t; - -void test_trie2(); diff --git a/keyboards/moonlander/keymaps/ikcelaks/util2.cpp b/keyboards/moonlander/keymaps/ikcelaks/util2.cpp deleted file mode 100644 index 73599487..00000000 --- a/keyboards/moonlander/keymaps/ikcelaks/util2.cpp +++ /dev/null @@ -1,62 +0,0 @@ -#include "keycodes-copy.h" -#include "util2.h" - -#define QK_LSFT 0x0200 -#define pgm_read_byte(address_short) *((uint8_t*)(address_short)) -#define PROGMEM - -static const char magic_chars[] = { '*', '@' }; - -const char unshifted_keycode_to_ascii_lut[53] PROGMEM = { -// KC_A KC_B KC_C KC_D - 'a', 'b', 'c', 'd', -// KC_E KC_F KC_G KC_H KC_I KC_J KC_K KC_L - 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', -// KC_M KC_N KC_O KC_P KC_Q KC_R KC_S KC_T - 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', -// KC_U KC_V KC_W KC_X KC_Y KC_Z KC_1 KC_2 - 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', -// KC_3 KC_4 KC_5 KC_6 KC_7 KC_8 KC_9 KC_0 - '3', '4', '5', '6', '7', '8', '9', '0', -// KC_ENTR KC_ESC KC_BSPC KC_TAB KC_SPC KC_MINS KC_EQL KC_LBRC - ' ', ' ', ' ', ' ', ' ', '-', '=', '[', -// KC_RBRC KC_BSLS KC_NUHS KC_SCLN KC_QUOT KC_GRV KC_COMM KC_DOT - ']', '\\', ' ', ';', '\'', '`', ',', '.', -// KC_SLSH - '/' -}; -const char shifted_keycode_to_ascii_lut[53] PROGMEM = { -// KC_A KC_B KC_C KC_D - 'A', 'B', 'C', 'D', -// KC_E KC_F KC_G KC_H KC_I KC_J KC_K KC_L - 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', -// KC_M KC_N KC_O KC_P KC_Q KC_R KC_S KC_T - 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', -// KC_U KC_V KC_W KC_X KC_Y KC_Z KC_EXLM KC_AT - 'U', 'V', 'W', 'X', 'Y', 'Z', '!', '@', -// KC_HASH KC_DLR KC_PERC KC_CIRC KC_AMPR KC_ASTR KC_LPRN KC_RPRN - '#', '$', '%', '^', '&', '*', '(', ')', -// KC_ENTR KC_ESC KC_BSPC KC_TAB KC_SPC KC_UNDS KC_PLUS KC_LCBR - ' ', ' ', ' ', ' ', ' ', '_', '+', '{', -// KC_RCBR KC_PIPE KC_NUHS KC_COLN KC_DQUO KC_GRV KC_LABK KC_RABK - '}', '|', ' ', ':', '"', '~', '<', '>', -// KC_QUES - '?' -}; - -//////////////////////////////////////////////////////////////////////////////// -char keycode_to_char(uint16_t keycode) -{ - if (keycode >= KC_MAGIC_0) - return magic_chars[keycode - KC_MAGIC_0]; - if (keycode == KC_SPC) - return ':'; - const bool shifted = keycode & QK_LSFT; - keycode &= 0xFF; - if (keycode >= KC_A && keycode <= KC_SLASH) { - keycode -= KC_A; - return shifted ? pgm_read_byte(&shifted_keycode_to_ascii_lut[keycode]) : - pgm_read_byte(&unshifted_keycode_to_ascii_lut[keycode]); - } - return ' '; -} diff --git a/keyboards/moonlander/keymaps/ikcelaks/util2.h b/keyboards/moonlander/keymaps/ikcelaks/util2.h deleted file mode 100644 index 0f696f19..00000000 --- a/keyboards/moonlander/keymaps/ikcelaks/util2.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once -#include - -#define KC_MAGIC_0 0x0100 - -char keycode_to_char(uint16_t code);