Adafruit_Learning_System_Gu.../Split_Ortho_Keyboard/keymaps.py
2022-10-14 16:41:01 -07:00

236 lines
7 KiB
Python

# SPDX-FileCopyrightText: Copyright (c) 2022 John Park & Tod Kurt for Adafruit Industries
#
# SPDX-License-Identifier: MIT
from adafruit_hid.keycode import Keycode
# https://docs.circuitpython.org/projects/hid/en/latest/api.html#adafruit-hid-keycode-keycode
# keymap is keynumber, (modifier, keycode)
# lower keymap layer
km_lf_0 = {
(1) : (0, Keycode.F11),
(2) : (0, Keycode.F1),
(3) : (0, Keycode.F2),
(4) : (0, Keycode.F3),
(5) : (0, Keycode.F4),
(6) : (0, Keycode.F5),
(11) : (0, None),
(12) : (0, None),
(13) : (0, None),
(14) : (0, None),
(15) : (0, None),
(16) : (0, None),
(21) : (0, None),
(22) : (0, None),
(23) : (0, None),
(24) : (0, None),
(25) : (0, None),
(26) : (0, None),
(31) : (0, None),
(32) : (0, None),
(33) : (0, None),
(34) : (0, None),
(35) : (0, None),
(36) : (0, None),
(41) : (0, Keycode.CONTROL),
(42) : (0, Keycode.GUI),
(43) : (0, Keycode.ALT),
(44) : (0, Keycode.GUI),
(45) : (1, Keycode.L), # lower (the keycode doesn't matter here, it's never typed)
(46) : (0, Keycode.SPACE)
}
km_rt_0 = {
(1) : (0, Keycode.F6),
(2) : (0, Keycode.F7),
(3) : (0, Keycode.F8),
(4) : (0, Keycode.F9),
(5) : (0, Keycode.F10),
(6) : (0, Keycode.F12),
(11) : (0, Keycode.HOME),
(12) : (0, Keycode.PAGE_DOWN),
(13) : (0, Keycode.PAGE_UP),
(14) : (0, Keycode.END),
(15) : (0, Keycode.INSERT),
(16) : (0, Keycode.DELETE),
(21) : (0, None),
(22) : (0, None),
(23) : (0, None),
(24) : (0, None),
(25) : (0, None),
(26) : (0, None),
(31) : (0, None),
(32) : (0, None),
(33) : (0, None),
(34) : (0, None),
(35) : (0, None),
(36) : (0, None),
(41) : (0, Keycode.SPACE),
(42) : (2, Keycode.R), # raise
(43) : (0, Keycode.LEFT_ARROW),
(44) : (0, Keycode.DOWN_ARROW),
(45) : (0, Keycode.UP_ARROW),
(46) : (0, Keycode.RIGHT_ARROW)
}
# main keymap layer
km_lf_1 = {
(1) : (0, Keycode.GRAVE_ACCENT),
(2) : (0, Keycode.ONE),
(3) : (0, Keycode.TWO),
(4) : (0, Keycode.THREE),
(5) : (0, Keycode.FOUR),
(6) : (0, Keycode.FIVE),
(11) : (0, Keycode.ESCAPE),
(12) : (0, Keycode.Q),
(13) : (0, Keycode.W),
(14) : (0, Keycode.E),
(15) : (0, Keycode.R),
(16) : (0, Keycode.T),
(21) : (0, Keycode.TAB),
(22) : (0, Keycode.A),
(23) : (0, Keycode.S),
(24) : (0, Keycode.D),
(25) : (0, Keycode.F),
(26) : (0, Keycode.G),
(31) : (0, Keycode.SHIFT),
(32) : (0, Keycode.Z),
(33) : (0, Keycode.X),
(34) : (0, Keycode.C),
(35) : (0, Keycode.V),
(36) : (0, Keycode.B),
(41) : (0, Keycode.CONTROL),
(42) : (0, Keycode.GUI),
(43) : (0, Keycode.ALT),
(44) : (0, Keycode.GUI),
(45) : (1, Keycode.L), # lower
(46) : (0, Keycode.SPACE)
}
km_rt_1 = {
(1) : (0, Keycode.SIX),
(2) : (0, Keycode.SEVEN),
(3) : (0, Keycode.EIGHT),
(4) : (0, Keycode.NINE),
(5) : (0, Keycode.ZERO),
(6) : (0, Keycode.BACKSPACE),
(11) : (0, Keycode.Y),
(12) : (0, Keycode.U),
(13) : (0, Keycode.I),
(14) : (0, Keycode.O),
(15) : (0, Keycode.P),
(16) : (0, Keycode.BACKSLASH),
(21) : (0, Keycode.H),
(22) : (0, Keycode.J),
(23) : (0, Keycode.K),
(24) : (0, Keycode.L),
(25) : (0, Keycode.SEMICOLON),
(26) : (0, Keycode.QUOTE),
(31) : (0, Keycode.N),
(32) : (0, Keycode.M),
(33) : (0, Keycode.COMMA),
(34) : (0, Keycode.PERIOD),
(35) : (0, Keycode.FORWARD_SLASH),
(36) : (0, Keycode.ENTER),
(41) : (0, Keycode.SPACE),
(42) : (2, Keycode.R), # raise
(43) : (0, Keycode.LEFT_ARROW),
(44) : (0, Keycode.DOWN_ARROW),
(45) : (0, Keycode.UP_ARROW),
(46) : (0, Keycode.RIGHT_ARROW)
}
# upper keymap layer
km_lf_2 = {
(1) : (0, None),
(2) : (0, None),
(3) : (0, None),
(4) : (0, None),
(5) : (0, None),
(6) : (0, None),
(11) : (0, Keycode.ESCAPE),
(12) : (0, None),
(13) : (0, None),
(14) : (0, None),
(15) : (0, None),
(16) : (0, None),
(21) : (0, Keycode.TAB),
(22) : (0, None),
(23) : (0, None),
(24) : (0, Keycode.MINUS),
(25) : (0, Keycode.EQUALS),
(26) : (7, Keycode.BACKSLASH), # PIPE '|'
(31) : (0, Keycode.SHIFT),
(32) : (0, None),
(33) : (0, None),
(34) : (7, Keycode.MINUS), # UNDERSCORE
(35) : (0, Keycode.KEYPAD_PLUS),
(36) : (0, Keycode.BACKSLASH),
(41) : (0, Keycode.CONTROL),
(42) : (0, Keycode.GUI),
(43) : (0, Keycode.ALT),
(44) : (0, Keycode.GUI),
(45) : (1, Keycode.L), # lower
(46) : (0, Keycode.SPACE)
}
km_rt_2 = {
(1) : (0, None),
(2) : (0, None),
(3) : (0, None),
(4) : (0, None),
(5) : (0, None),
(6) : (0, Keycode.BACKSPACE),
(11) : (0, None),
(12) : (0, None),
(13) : (0, None),
(14) : (0, None),
(15) : (0, None),
(16) : (0, Keycode.BACKSLASH),
(21) : (0, None),
(22) : (0, Keycode.LEFT_BRACKET),
(23) : (0, Keycode.RIGHT_BRACKET),
(24) : (0, None),
(25) : (0, None),
(26) : (0, Keycode.QUOTE),
(31) : (0, None),
(32) : (7, Keycode.LEFT_BRACKET),
(33) : (7, Keycode.RIGHT_BRACKET),
(34) : (0, None),
(35) : (0, None),
(36) : (0, Keycode.ENTER),
(41) : (0, Keycode.SPACE),
(42) : (2, Keycode.R), # raise
(43) : (0, Keycode.LEFT_ARROW),
(44) : (0, Keycode.DOWN_ARROW),
(45) : (0, Keycode.UP_ARROW),
(46) : (0, Keycode.RIGHT_ARROW)
}
# put the keymaps in layer lists for easy iteration later
keymaps_1 = (km_lf_0, km_rt_0)
keymaps_2 = (km_lf_1, km_rt_1)
keymaps_3 = (km_lf_2, km_rt_2)
layer_keymaps = (keymaps_1, keymaps_2, keymaps_3)