layout.py (16945B)
1 # -*- coding: utf-8 -*- 2 # yapf: disable 3 4 # Add all used Unicode symbols to this list. 5 # The key (e.g. "SNEK") is used in keymap.c for "enum", "unicode_map" and "keymaps", so it needs to be a valid C variable name. 6 # The key is also used in this file to define the layout, so use recognizeable names. 7 # The value (e.g. "0x1f40d") is used in keymap.c for "unicode_map" and to automatically generate the "ASCII"-art comments. 8 # When adding new Unicode names, use "0x1f40d" until you looked up the correct Unicode code point. 9 uc_dict = { 10 "SNEK": "0x1f40d", ## Error 11 ## qwertz 12 "ACUTE": "0x00b4", 13 ## QWERTZ 14 "INV_EXCL": "0x00a1", 15 "INV_QST": "0x00bf", 16 ## numpad 17 "SUP1": "0x00b9", 18 "SUP2": "0x00b2", 19 "SUP3": "0x00b3", 20 "SUP_MIN": "0x207b", 21 "ROOT": "0x221a", 22 "DEGREE": "0x00b0", 23 "MINUTE": "0x02b9", 24 "SECOND": "0x02ba", 25 "CURRENCY": "0x00a4", 26 "CENT": "0x00a2", 27 "YEN": "0x00a5", 28 "POUND": "0x00a3", 29 "EURO": "0x20ac", 30 "DIVISION": "0x00f7", 31 "MICRO": "0x00b5", 32 "OHM": "0x2126", 33 "BITCOIN": "0x20bf", 34 "SECTION": "0x00a7", 35 ## NAV_TYPO 36 "SQT1": "0x203a", 37 "SQT2": "0x201a", 38 "SQT3": "0x2018", 39 "SQT4": "0x2019", 40 "SQT5": "0x2039", 41 "SUP_A": "0x00aa", 42 "SUP_O": "0x00ba", 43 "TMARK": "0x2122", 44 "COPYR": "0x00a9", 45 "REGTM": "0x00ae", 46 "DOTS": "0x2026", 47 "CROSS": "0x2020", 48 "BULLET": "0x2022", 49 "EMDASH": "0x2014", 50 "PERMIL": "0x2030", 51 "DQT1": "0x00bb", 52 "DQT2": "0x201e", 53 "DQT3": "0x201c", 54 "DQT4": "0x201d", 55 "DQT5": "0x00ab", 56 ## lang 57 "ae": "0x00e4", 58 "oe": "0x00f6", 59 "ue": "0x00fc", 60 "sz": "0x00df", 61 "n_tilde": "0x00f1", 62 ## LANG 63 "AE": "0x00c4", 64 "OE": "0x00d6", 65 "UE": "0x00dc", 66 "SZ": "0x1e9e", 67 "N_TILDE": "0x00d1", 68 ## greek 69 "alpha": "0x03b1", 70 "beta": "0x03b2", 71 "gamma": "0x03b3", 72 "delta": "0x03b4", 73 "epsilon": "0x03b5", 74 "zeta": "0x03b6", 75 "eta": "0x03b7", 76 "theta": "0x03b8", 77 "iota": "0x03b9", 78 "kappa": "0x03ba", 79 "lambda": "0x03bb", 80 "my": "0x03bc", 81 "ny": "0x03bd", 82 "xi": "0x03be", 83 "omikron": "0x03bf", 84 "pi": "0x03c0", 85 "rho": "0x03c1", 86 "sigma": "0x03c3", 87 "tau": "0x03c4", 88 "ypsilon": "0x03c5", 89 "phi": "0x03c6", 90 "chi": "0x03c7", 91 "psi": "0x03c8", 92 "omega": "0x03c9", 93 # variants 94 "beta2": "0x03d0", 95 "epsi2": "0x03f5", 96 "theta2": "0x03d1", 97 "kappa2": "0x03f0", 98 "pi2": "0x03d6", 99 "rho2": "0x03f1", 100 "sigma2": "0x03c2", 101 "sigma3": "0x03f2", 102 "phi2": "0x03d5", 103 # non-standard 104 "digamma": "0x03dd", 105 "stigma": "0x03db", 106 "heta": "0x0371", 107 "san": "0x03fb", 108 "koppa": "0x03d9", 109 "sampi": "0x0373", 110 "scho": "0x03f8", 111 ## GREEK 112 "ALPHA": "0x0391", 113 "BETA": "0x0392", 114 "GAMMA": "0x0393", 115 "DELTA": "0x0394", 116 "EPSILON": "0x0395", 117 "ZETA": "0x0396", 118 "ETA": "0x0397", 119 "THETA": "0x0398", 120 "IOTA": "0x0399", 121 "KAPPA": "0x039a", 122 "LAMBDA": "0x039b", 123 "MY": "0x039c", 124 "NY": "0x039d", 125 "XI": "0x039e", 126 "OMIKRON": "0x039f", 127 "PI": "0x03a0", 128 "RHO": "0x03a1", 129 "SIGMA": "0x03a3", 130 "TAU": "0x03a4", 131 "YPSILON": "0x03a5", 132 "PHI": "0x03a6", 133 "CHI": "0x03a7", 134 "PSI": "0x03a8", 135 "OMEGA": "0x03a9", 136 # variants 137 "YPSI2": "0x03d2", 138 # non-standard 139 "DIGAMMA": "0x03dc", 140 "STIGMA": "0x03da", 141 "HETA": "0x0370", 142 "SAN": "0x03fa", 143 "KOPPA": "0x03d8", 144 "SAMPI": "0x0372", 145 "SCHO": "0x03f7", 146 ## symbol 147 "SHOGI_WD": "0x26c9", 148 "FLAG_W": "0x2690", 149 "LETTER": "0x2709", 150 "PHONE": "0x2706", 151 "INFO": "0x1f6c8", 152 "REWIND": "0x23ee", 153 "PLAY": "0x23ef", 154 "FORWARD": "0x23ed", 155 "STOP": "0x25fc", 156 "EJECT": "0x23cf", 157 "SHOGI_W": "0x2616", 158 "FEMALE": "0x2640", 159 "MALE": "0x2642", 160 "NO": "0x2717", 161 "YES": "0x2713", 162 "FLAT": "0x266d", 163 "NATURAL": "0x266e", 164 "SHARP": "0x266f", 165 "COMMON_T": "0x1d134", 166 "ALLA_BR": "0x1d135", 167 "PAWN_W": "0x2659", 168 "DIAMS_W": "0x2662", 169 "HEARTS_W": "0x2661", 170 "SPADES_W": "0x2664", 171 "CLUBS_W": "0x2667", 172 "WHOLE_N": "0x1d15d", 173 "HALF_N": "0x1d15e", 174 "QUART_N": "0x1d15f", 175 "EIGHTH_N": "0x1d160", 176 "SIXT_N": "0x1d161", 177 "ROOK_W": "0x2656", 178 "KNIGHT_W": "0x2658", 179 "BISHOP_W": "0x2657", 180 "QUEEN_W": "0x2655", 181 "KING_W": "0x2654", 182 "C_CLEF": "0x1d121", 183 "G_CLEF": "0x1d11e", 184 "F_CLEF": "0x1d122", 185 "PEDAL": "0x1d1ae", 186 "PEDAL_UP": "0x1d1af", 187 ## SYMBOL 188 "SHOGI_BD": "0x26ca", 189 "FLAG_B": "0x2691", 190 "SPEAKER_UP": "0x1f50a", 191 "SPEAKER_TG": "0x1f507", 192 "SPEAKER_DN": "0x1f509", 193 "SHOGI_B": "0x2617", 194 "KEY": "0x1f511", 195 "LOCK": "0x1f512", 196 "LOCK_OPEN": "0x1f513", 197 "STAFF": "0x1d11a", 198 "BARLINE": "0x1d100", 199 "BARLINE_D": "0x1d101", 200 "BARLINE_FIN": "0x1d102", 201 "CODA": "0x1d10c", 202 "PAWN_B": "0x265f", 203 "DIAMS_B": "0x2666", 204 "HEARTS_B": "0x2665", 205 "SPADES_B": "0x2660", 206 "CLUBS_B": "0x2663", 207 "WHOLE_P": "0x1d13b", 208 "HALF_P": "0x1d13c", 209 "QUART_P": "0x1d13d", 210 "EIGHTH_P": "0x1d13e", 211 "SIXT_P": "0x1d13f", 212 "ROOK_B": "0x265c", 213 "KNIGHT_B": "0x265e", 214 "BISHOP_B": "0x265d", 215 "QUEEN_B": "0x265b", 216 "KING_B": "0x265a", 217 "REPEAT_S": "0x1d106", 218 "REPEAT_E": "0x1d107", 219 "SEGNO": "0x1d10b", 220 "DALSEGNO": "0x1d109", 221 "DACAPO": "0x1d10a", 222 ## math 223 "EXISTS": "0x2203", 224 "FORALL": "0x2200", 225 "EQUIV": "0x2261", 226 "CORRESP": "0x2259", 227 "INEQUAL": "0x2260", 228 "DEFINE": "0x2254", 229 "TO": "0x27f6", 230 "MAPSTO": "0x27fc", 231 "SETMINUS": "0x2216", 232 "QED": "0x220e", 233 "OR_": "0x22c1", 234 "AND_": "0x22c0", 235 "OR": "0x2228", 236 "AND": "0x2227", 237 "NOT": "0x00ac", 238 "BICOND": "0x21d4", 239 "IMPL_REV": "0x21d0", 240 "IMPL": "0x21d2", 241 "TOP": "0x22a4", 242 "BOTTOM": "0x22a5", 243 "SUM_": "0x2211", 244 "PROD_": "0x220f", 245 "MDOT": "0x22c5", 246 "NOTIN": "0x2209", 247 "IN": "0x2208", 248 "LS_EQ": "0x2264", 249 "GR_EQ": "0x2265", 250 "INFTY": "0x221e", 251 "UNION_": "0x22c3", 252 "INTERS_": "0x22c2", 253 "UNION": "0x222a", 254 "INTERS": "0x2229", 255 "NOTSUBS": "0x2288", 256 "PR_SUBSET": "0x2282", 257 "SUBSET": "0x2286", 258 "SUBSET_REV": "0x2287", 259 "EMPTYSET": "0x2205", 260 ## MATHSCRIPT 261 "LEFT_CEIL": "0x2308", 262 "REAL_P": "0x211c", 263 "NABLA": "0x2207", 264 "RIGHT_CEIL": "0x2309", 265 "LEFT_FLOOR": "0x230a", 266 "BRA": "0x27e8", 267 "IMAG_P": "0x2111", 268 "KET": "0x27e9", 269 "RIGHT_FLOOR": "0x230b", 270 "Q_SET": "0x211a", 271 "e_FUN": "0x0065", 272 "R_SET": "0x211d", 273 "Z_SET": "0x2124", 274 "U_SET": "0x1d54c", 275 "i_UNIT": "0x0069", 276 "BIG_O": "0x1d4aa", 277 "POWERSET": "0x1d4ab", 278 "A_SET": "0x1d538", 279 "INTEGRAL": "0x222b", 280 "PARTIAL": "0x2202", 281 "F_SET": "0x1d53d", 282 "H_SET": "0x210d", 283 "K_SET": "0x1d542", 284 "LENGTH": "0x2113", 285 "ALEPH": "0x2135", 286 "BETH": "0x2136", 287 "C_SET": "0x2102", 288 "B_SET": "0x1d539", 289 "N_SET": "0x2115", 290 "INDICATOR": "0x1d7cf", 291 "FOURIER": "0x2131", 292 "HAMILTON": "0x210b", 293 "LAPLACE": "0x2112", 294 ## MATHEXT 295 "RIGHT_TACK": "0x22a2", 296 "MODELS": "0x22a7", 297 "AB_VEC": "0x20d7", 298 "AB_LINE": "0x0305", 299 "AB_ARC": "0x0361", 300 "LESS_LESS": "0x226a", 301 "PRED": "0x227a", 302 "EMBED": "0x21aa", 303 "SUCC": "0x227b", 304 "GREAT_GREAT": "0x226b", 305 "TRIANGLE": "0x25b3", 306 "SQUARE": "0x25a1", 307 "CIRCLE": "0x25cb", 308 "DOT_OP": "0x2299", 309 "PLUS_OP": "0x2295", 310 "MINUS_OP": "0x2296", 311 "ROUGHLY": "0x2248", 312 "ISOMORPH": "0x2245", 313 "LTIMES": "0x22c9", 314 "RTIMES": "0x22ca", 315 "BOWTIE": "0x22c8", 316 "M_ANGLE": "0x2221", 317 "ANGLE": "0x2220", 318 "CIRC_MID": "0x2218", 319 "AST_MID": "0x2217", 320 "TIMES": "0x00d7", 321 "PLUS_MINUS": "0x00b1", 322 "MINUS_PLUS": "0x2213", 323 "LEFT_OUTER": "0x27d5", 324 "RIGHT_OUTER": "0x27d6", 325 "FULL_OUTER": "0x27d7", 326 "SQ_LS": "0x228f", 327 "SQ_LS_EQ": "0x2291", 328 "PROP_TO": "0x221d", 329 "PARALLEL": "0x2225", 330 "NOT_PARA": "0x2226", 331 "TIMES_OP": "0x2297", 332 "NOT_DIV": "0x2224" 333 } 334 335 # Add all used Keycodes to this list. 336 # The key (e.g. "a") is used in keymap.c to automatically generate the comments. The first 7 chars will show as a keycap legend. 337 qmk_dict = { 338 # test cases (These are handled in generate_km.py within toKC() and toLgd(), so these definitions will be ignored. 339 # If you find "BAD" in your keymaps, then something went wrong.) 340 "a": "BAD", "A": "BAD", "0": "BAD", 341 # Basic Keycodes 342 "XXX": "KC_NO", "": "KC_TRNS", 343 "!": "S(KC_1)", "@": "S(KC_2)", "#": "S(KC_3)", "$": "S(KC_4)", "%": "S(KC_5)", 344 "^": "S(KC_6)", "&": "S(KC_7)", "*": "S(KC_8)", "(": "S(KC_9)", ")": "S(KC_0)", 345 "Enter": "KC_ENT", "Esc": "KC_ESC", "BSpace": "KC_BSPC", "Tab": "KC_TAB", 346 "Space": "KC_SPC", "-": "KC_MINS", "_": "S(KC_MINS)", "=": "KC_EQL", 347 "+": "S(KC_EQL)", "[": "KC_LBRC", "{": "S(KC_LBRC)", "]": "KC_RBRC", 348 "}": "S(KC_RBRC)", "\\": "KC_BSLS", "|": "S(KC_BSLS)", ";": "KC_SCLN", 349 ":": "S(KC_SCLN)", "'": "KC_QUOT", "\"": "S(KC_QUOT)", "`": "KC_GRV", 350 "~": "S(KC_GRV)", ",": "KC_COMM", "<": "S(KC_COMM)", ".": "KC_DOT", 351 ">": "S(KC_DOT)", "/": "KC_SLSH", "?": "S(KC_SLSH)", "Caps": "KC_CAPS", 352 "Pr Scr": "KC_PSCR", "Scr Lck": "KC_SCRL", "Pause": "KC_BRK", "Insert": "KC_INS", "SInsert": "LSFT(KC_INS)", 353 "Home": "KC_HOME", "Pg Up": "KC_PGUP", "Del": "KC_DEL", "End": "KC_END", 354 "Pg Down": "KC_PGDN", "> Arrow": "KC_RGHT", "< Arrow": "KC_LEFT", 355 "v Arrow": "KC_DOWN", "^ Arrow": "KC_UP", 356 # Keypad keycodes missing 357 "App": "KC_APP", "Menu": "KC_MENU", 358 # Command keycodes missing (Execute, Help, ..., Find) 359 # Basic Keycodes missing from Print Screen onwards, included as fallback 360 # random Keycodes 361 "RGui": "KC_RGUI", "LGui": "KC_LGUI", "LAlt": "KC_LALT", "RLAlt": "LALT_T(KC_RALT)", "RAlt": "KC_RALT", "LShift": "KC_LSFT", "LCtrl": "KC_LCTL", "LCtTBsp": "LCTL_T(KC_BSPC)", "LCtTEsc": "LCTL_T(KC_ESC)", "RCtrl": "KC_RCTL", 362 "LShift(": "SC_LSPO", "RShift)": "SC_RSPC", 363 # "LShift(": "LSFT_T(KC_9)", "RShift)": "RSFT_T(RSFT(KC_0))", 364 "LCtrl[": "LCTL_T(KC_LBRC)", "RCtrl]": "RCTL_T(KC_RBRC)", 365 "L1_ENT": "LT(1, KC_ENT)", "LT2_BSP": "LT(2,KC_BSPC)", "LT4_DEL": "LT(4,KC_DEL)", "LT4_ENT": "LT(4,KC_ENT)", "LT6_SPC": "LT(6,KC_SPC)", 366 "CPg Dn": "LCTL(KC_PGDN)", "CPg Up": "LCTL(KC_PGUP)", 367 "S_Enter": "S(KC_ENT)", "S_Tab": "S(KC_TAB)", "Compose": "KC_ALGR", 368 "RShift": "KC_RSFT", 369 "Vol 0": "KC_MUTE", "Vol +": "KC_VOLU", "Vol -": "KC_VOLD", 370 ">>|": "KC_MNXT", "|<<": "KC_MPRV", "play/ps": "KC_MPLY", 371 "Bri +": "KC_BRIU", "Bri -": "KC_BRID", 372 # Quantum Keycodes 373 "_reset": "QK_BOOT", "_debug": "DB_TOGG", "_eep_re": "EE_CLR", 374 # Audio Keys missing 375 # Backlighting 376 "Led 0": "BL_TOGG", "Led +": "BL_UP", "Led -": "BL_DOWN", "Led ~": "BL_BRTG", 377 # Bootmagic missing 378 # Bluetooth 379 "OU_AUTO": "OU_AUTO", "OU_USB": "OU_USB", "OU_BT": "OU_BT", 380 # Layer Switching missing, Lx -> MO(x), Tx -> TG(x) 381 "qwertz": "DF(0)", "neo": "DF(2)", 382 # Mouse Keys 383 "^ Mouse": "MS_UP", "v Mouse": "MS_DOWN", "< Mouse": "MS_LEFT", 384 "> Mouse": "MS_RGHT", "Mouse 1": "MS_BTN1", "Mouse 2": "MS_BTN2", 385 "Mouse 3": "MS_BTN3", "Mouse 4": "MS_BTN4", "Mouse 5": "MS_BTN5", 386 "^ Wheel": "MS_WHLU", "v Wheel": "MS_WHLD", "< Wheel": "MS_WHLL", 387 "> Wheel": "MS_WHLR", "acc0": "MS_ACL0", "acc1": "MS_ACL1", 388 "acc2": "MS_ACL2", 389 # Modifiers missinng, add entry for each specific application 390 # Mod-Tap Keys missing, add entry for each specific application 391 "_Sh_swp": "LSFT_T(SH_TOGG)", 392 # RGB Lighting missing 393 # RGB Matrix Lighting missing 394 # Thermal Printer missing 395 # US ANSI Shifted Symbols done via S(), don't add KC_entries 396 # One Shot Keys missing 397 # Swap Hands 398 "_sp_swp": "SHT(KC_SPC)", 399 # Unicode support included implicitly 400 # Switching Unicode Input Modes 401 "UC_win": "UC_WINC", "UC_lnx": "UC_LINX", "UC_mac": "UC_MAC", 402 403 # custom keys 404 "altF4": "LALT(KC_F4)", 405 "Undo": "LCTL(KC_Z)", "Cut": "LCTL(KC_X)", "Copy": "LCTL(KC_C)", "Paste": "LCTL(KC_V)", 406 "< Tab": "LCTL(S(KC_TAB))", "> Tab": "LCTL(KC_TAB)", 407 "Tab x": "LCTL(KC_W)", "Tab n": "LCTL(KC_T)", 408 "Gui Tab": "LGUI(KC_TAB)", "< Gui": "LGUI(KC_LEFT)", "> Gui": "LGUI(KC_RGHT)", 409 "C+A+Del": "LCTL(LALT(KC_DEL))", "Mic 0": "LCTL(KC_M)", 410 "Power": "KC_PWR", "Sleep": "KC_SLEP", 411 412 # macros 413 "Macro 1": "KC_1", "Macro 2": "KC_2", "Macro 3": "KC_3", "Macro 4": "KC_4", "Macro 5": "KC_5", 414 415 # custom layers 416 "GREEK": "GREEK", 417 "SYMBOL": "SYMBOL", 418 "MATH": "MATH", 419 "GAME": "GAME", 420 "MOUSE": "MOUSE", 421 "NEO": "TG(2)" 422 } 423 424 # These keys are repeated in all layers. 425 # Generate a keymap.c with the python script and refer to the "ASCII"-art comments, to see which positions this concerns. 426 # If you want to put different keycodes in these positions for different layers, you need to modify the python script by yourself. 427 static = ["NEO", "GREEK", "GREEK", "GREEK", "GREEK", "MOUSE"] 428 429 # mutex_layers = {"GREEK": 8, "GAME": 10, "MOUSE": 11} 430 # layer_graph = ... 431 432 # 0 433 qwerty = [ 434 "Tab", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[", 435 "LCtTEsc", "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'", 436 "LShift(", "z", "x", "c", "v", "b", "n", "m", ",", ".", "/", "RShift)", 437 "LCtrl[", "LAlt", "LGui", "TT2", "LT6_SPC", "LT4_DEL", "LT4_ENT", "Space", "LT2_BSP", "RGui", "RLAlt", "RCtrl]", 438 ] 439 440 # 1 441 colemak = [ 442 "Tab", "q", "w", "f", "p", "g", "j", "l", "u", "y", ";", "[", 443 "LCtTEsc", "a", "r", "s", "t", "d", "h", "n", "e", "i", "o", "'", 444 "LShift(", "z", "x", "c", "v", "b", "k", "m", ",", ".", "/", "RShift)", 445 "LCtrl[", "LAlt", "LGui", "TT2", "LT6_SPC", "LT4_DEL", "LT4_ENT", "Space", "LT2_BSP", "RGui", "RLAlt", "RCtrl]", 446 ] 447 448 # 2 449 numpad = [ 450 "`", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "]", 451 "", "DF0", "DF1", "XXX", "MO3", "MO3", "4", "4", "5", "6", "-", "=", 452 "", "MO5", "XXX", "XXX", "XXX", "XXX", "1", "1", "2", "3", "\\", "", 453 "TG2", "", "", "", "", "Del", "", "0", "BSpace", "", "", "", 454 ] 455 456 # 3 457 fpad = [ 458 "", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "XXX", 459 "", "XXX", "XXX", "XXX", "MO3", "MO3", "F4", "F4", "F5", "F6", "F11", "XXX", 460 "", "XXX", "XXX", "XXX", "XXX", "XXX", "F1", "F1", "F2", "F3", "F12", "", 461 "TG3", "", "", "", "", "", "", "", "", "", "", "", 462 ] 463 464 # 4 465 movement = [ 466 "Esc", "Esc", "Tab x", "Tab n", "CPg Dn", "CPg Dn", "Pg Down", "Home", "^ Arrow", "Insert", "SInsert", "Esc", 467 "", "Caps", "< Gui", "Gui Tab", "> Gui", "> Gui", "< Arrow", "< Arrow", "v Arrow", "> Arrow", "End", "Pr Scr", 468 "", "XXX", "XXX", "XXX", "CPg Up", "CPg Up", "Pg Up", "", "v Arrow", "XXX", "App", "", 469 "TG4", "", "", "", "", "Del", "", "BSpace", "", "", "", "", 470 ] 471 472 # 5 473 media = [ 474 "", "XXX", "play/ps", "Vol +", "Vol +", "XXX", "XXX", "XXX", "XXX", "XXX", "_reset", "Power", 475 "", "XXX", "|<<", "Vol 0", ">>|", "XXX", "XXX", "XXX", "XXX", "XXX", "XXX", "Sleep", 476 "", "MO5", "XXX", "Vol -", "Vol -", "XXX", "XXX", "XXX", "XXX", "XXX", "XXX", "XXX", 477 "TG5", "", "", "", "", "", "", "", "", "", "", "", 478 ] 479 480 # 6 481 mouse = [ 482 "", "acc1", "XXX", "XXX", "XXX", "XXX", "^ Wheel", "< Wheel", "^ Mouse", "> Wheel", "XXX", "XXX", 483 "", "acc2", "Mouse 2", "Mouse 3", "Mouse 1", "Mouse 1", "< Mouse", "< Mouse", "v Mouse", "> Mouse", "XXX", "XXX", 484 "", "acc0", "XXX", "XXX", "XXX", "XXX", "v Wheel", "XXX", "v Mouse", "XXX", "XXX", "", 485 "TG6", "", "", "", "", "", "", "", "", "", "", "", 486 ] 487 488 layers = [ 489 qwerty, 490 colemak, 491 numpad, 492 fpad, 493 movement, 494 media, 495 mouse 496 ]