/ Split_Ortho_Keyboard / keymaps.py
keymaps.py
1 # SPDX-FileCopyrightText: Copyright (c) 2022 John Park & Tod Kurt for Adafruit Industries 2 # 3 # SPDX-License-Identifier: MIT 4 from adafruit_hid.keycode import Keycode 5 # https://docs.circuitpython.org/projects/hid/en/latest/api.html#adafruit-hid-keycode-keycode 6 # keymap is keynumber, (modifier, keycode) 7 # lower keymap layer 8 km_lf_0 = { 9 (1) : (0, Keycode.F11), 10 (2) : (0, Keycode.F1), 11 (3) : (0, Keycode.F2), 12 (4) : (0, Keycode.F3), 13 (5) : (0, Keycode.F4), 14 (6) : (0, Keycode.F5), 15 16 (11) : (0, None), 17 (12) : (0, None), 18 (13) : (0, None), 19 (14) : (0, None), 20 (15) : (0, None), 21 (16) : (0, None), 22 23 (21) : (0, None), 24 (22) : (0, None), 25 (23) : (0, None), 26 (24) : (0, None), 27 (25) : (0, None), 28 (26) : (0, None), 29 30 (31) : (0, None), 31 (32) : (0, None), 32 (33) : (0, None), 33 (34) : (0, None), 34 (35) : (0, None), 35 (36) : (0, None), 36 37 (41) : (0, Keycode.CONTROL), 38 (42) : (0, Keycode.GUI), 39 (43) : (0, Keycode.ALT), 40 (44) : (0, Keycode.GUI), 41 (45) : (1, Keycode.L), # lower (the keycode doesn't matter here, it's never typed) 42 (46) : (0, Keycode.SPACE) 43 } 44 45 km_rt_0 = { 46 (1) : (0, Keycode.F6), 47 (2) : (0, Keycode.F7), 48 (3) : (0, Keycode.F8), 49 (4) : (0, Keycode.F9), 50 (5) : (0, Keycode.F10), 51 (6) : (0, Keycode.F12), 52 53 (11) : (0, Keycode.HOME), 54 (12) : (0, Keycode.PAGE_DOWN), 55 (13) : (0, Keycode.PAGE_UP), 56 (14) : (0, Keycode.END), 57 (15) : (0, Keycode.INSERT), 58 (16) : (0, Keycode.DELETE), 59 60 (21) : (0, None), 61 (22) : (0, None), 62 (23) : (0, None), 63 (24) : (0, None), 64 (25) : (0, None), 65 (26) : (0, None), 66 67 (31) : (0, None), 68 (32) : (0, None), 69 (33) : (0, None), 70 (34) : (0, None), 71 (35) : (0, None), 72 (36) : (0, None), 73 74 (41) : (0, Keycode.SPACE), 75 (42) : (2, Keycode.R), # raise 76 (43) : (0, Keycode.LEFT_ARROW), 77 (44) : (0, Keycode.DOWN_ARROW), 78 (45) : (0, Keycode.UP_ARROW), 79 (46) : (0, Keycode.RIGHT_ARROW) 80 } 81 82 # main keymap layer 83 km_lf_1 = { 84 (1) : (0, Keycode.GRAVE_ACCENT), 85 (2) : (0, Keycode.ONE), 86 (3) : (0, Keycode.TWO), 87 (4) : (0, Keycode.THREE), 88 (5) : (0, Keycode.FOUR), 89 (6) : (0, Keycode.FIVE), 90 91 (11) : (0, Keycode.ESCAPE), 92 (12) : (0, Keycode.Q), 93 (13) : (0, Keycode.W), 94 (14) : (0, Keycode.E), 95 (15) : (0, Keycode.R), 96 (16) : (0, Keycode.T), 97 98 (21) : (0, Keycode.TAB), 99 (22) : (0, Keycode.A), 100 (23) : (0, Keycode.S), 101 (24) : (0, Keycode.D), 102 (25) : (0, Keycode.F), 103 (26) : (0, Keycode.G), 104 105 (31) : (0, Keycode.SHIFT), 106 (32) : (0, Keycode.Z), 107 (33) : (0, Keycode.X), 108 (34) : (0, Keycode.C), 109 (35) : (0, Keycode.V), 110 (36) : (0, Keycode.B), 111 112 (41) : (0, Keycode.CONTROL), 113 (42) : (0, Keycode.GUI), 114 (43) : (0, Keycode.ALT), 115 (44) : (0, Keycode.GUI), 116 (45) : (1, Keycode.L), # lower 117 (46) : (0, Keycode.SPACE) 118 } 119 120 km_rt_1 = { 121 (1) : (0, Keycode.SIX), 122 (2) : (0, Keycode.SEVEN), 123 (3) : (0, Keycode.EIGHT), 124 (4) : (0, Keycode.NINE), 125 (5) : (0, Keycode.ZERO), 126 (6) : (0, Keycode.BACKSPACE), 127 128 (11) : (0, Keycode.Y), 129 (12) : (0, Keycode.U), 130 (13) : (0, Keycode.I), 131 (14) : (0, Keycode.O), 132 (15) : (0, Keycode.P), 133 (16) : (0, Keycode.BACKSLASH), 134 135 (21) : (0, Keycode.H), 136 (22) : (0, Keycode.J), 137 (23) : (0, Keycode.K), 138 (24) : (0, Keycode.L), 139 (25) : (0, Keycode.SEMICOLON), 140 (26) : (0, Keycode.QUOTE), 141 142 (31) : (0, Keycode.N), 143 (32) : (0, Keycode.M), 144 (33) : (0, Keycode.COMMA), 145 (34) : (0, Keycode.PERIOD), 146 (35) : (0, Keycode.FORWARD_SLASH), 147 (36) : (0, Keycode.ENTER), 148 149 (41) : (0, Keycode.SPACE), 150 (42) : (2, Keycode.R), # raise 151 (43) : (0, Keycode.LEFT_ARROW), 152 (44) : (0, Keycode.DOWN_ARROW), 153 (45) : (0, Keycode.UP_ARROW), 154 (46) : (0, Keycode.RIGHT_ARROW) 155 } 156 157 # upper keymap layer 158 km_lf_2 = { 159 (1) : (0, None), 160 (2) : (0, None), 161 (3) : (0, None), 162 (4) : (0, None), 163 (5) : (0, None), 164 (6) : (0, None), 165 166 (11) : (0, Keycode.ESCAPE), 167 (12) : (0, None), 168 (13) : (0, None), 169 (14) : (0, None), 170 (15) : (0, None), 171 (16) : (0, None), 172 173 (21) : (0, Keycode.TAB), 174 (22) : (0, None), 175 (23) : (0, None), 176 (24) : (0, Keycode.MINUS), 177 (25) : (0, Keycode.EQUALS), 178 (26) : (7, Keycode.BACKSLASH), # PIPE '|' 179 180 (31) : (0, Keycode.SHIFT), 181 (32) : (0, None), 182 (33) : (0, None), 183 (34) : (7, Keycode.MINUS), # UNDERSCORE 184 (35) : (0, Keycode.KEYPAD_PLUS), 185 (36) : (0, Keycode.BACKSLASH), 186 187 (41) : (0, Keycode.CONTROL), 188 (42) : (0, Keycode.GUI), 189 (43) : (0, Keycode.ALT), 190 (44) : (0, Keycode.GUI), 191 (45) : (1, Keycode.L), # lower 192 (46) : (0, Keycode.SPACE) 193 } 194 195 km_rt_2 = { 196 (1) : (0, None), 197 (2) : (0, None), 198 (3) : (0, None), 199 (4) : (0, None), 200 (5) : (0, None), 201 (6) : (0, Keycode.BACKSPACE), 202 203 (11) : (0, None), 204 (12) : (0, None), 205 (13) : (0, None), 206 (14) : (0, None), 207 (15) : (0, None), 208 (16) : (0, Keycode.BACKSLASH), 209 210 (21) : (0, None), 211 (22) : (0, Keycode.LEFT_BRACKET), 212 (23) : (0, Keycode.RIGHT_BRACKET), 213 (24) : (0, None), 214 (25) : (0, None), 215 (26) : (0, Keycode.QUOTE), 216 217 (31) : (0, None), 218 (32) : (7, Keycode.LEFT_BRACKET), 219 (33) : (7, Keycode.RIGHT_BRACKET), 220 (34) : (0, None), 221 (35) : (0, None), 222 (36) : (0, Keycode.ENTER), 223 224 (41) : (0, Keycode.SPACE), 225 (42) : (2, Keycode.R), # raise 226 (43) : (0, Keycode.LEFT_ARROW), 227 (44) : (0, Keycode.DOWN_ARROW), 228 (45) : (0, Keycode.UP_ARROW), 229 (46) : (0, Keycode.RIGHT_ARROW) 230 } 231 232 # put the keymaps in layer lists for easy iteration later 233 keymaps_1 = (km_lf_0, km_rt_0) 234 keymaps_2 = (km_lf_1, km_rt_1) 235 keymaps_3 = (km_lf_2, km_rt_2) 236 layer_keymaps = (keymaps_1, keymaps_2, keymaps_3)