kmk_firmware/boards/crowboard/main.py

70 lines
2.9 KiB
Python
Raw Normal View History

2022-05-22 17:01:20 +02:00
import board
import busio as io
from kmk.kmk_keyboard import KMKKeyboard
from kmk.keys import KC
from kmk.scanners import DiodeOrientation
2022-05-22 19:53:07 +02:00
2022-05-22 17:01:20 +02:00
keyboard = KMKKeyboard()
from kmk.modules.layers import Layers
keyboard.modules.append(Layers())
from kmk.modules.modtap import ModTap
modtap = ModTap()
keyboard.modules.append(modtap)
keyboard.col_pins = (board.GP6, board.GP7, board.GP8, board.GP9, board.GP10, board.GP18, board.GP19, board.GP20, board.GP21, board.GP22,) # try D5 on Feather, keeboar
keyboard.row_pins = (board.GP14, board.GP15, board.GP16, board.GP17,) # try D6 on Feather, keeboar
keyboard.diode_orientation = DiodeOrientation.COL2ROW
NONE = KC.NO
QWERTY = KC.MO(0)
LOWER = KC.MO(1)
RAISE = KC.MO(2)
ADJUST = KC.MO(3)
CAE = KC.LCTL(KC.LALT(KC.END))
CAD = KC.LCTL(KC.LALT(KC.DEL))
2022-05-22 19:53:07 +02:00
2022-05-22 17:01:20 +02:00
ZSFT = KC.MT(KC.Z, KC.LSFT, prefer_hold=True, tap_interrupted=False, tap_time=3000)
SLSHSFT = KC.MT(KC.SLSH, KC.LSFT, prefer_hold=True, tap_interrupted=False, tap_time=3000)
ALCTL = KC.MT(KC.A, KC.LCTRL, prefer_hold=False, tap_interrupted=False, tap_time=150)
keyboard.keymap = [
[ #QWERTY
KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P,
ALCTL, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.QUOT,
ZSFT, KC.X, KC.C, KC.V, KC.B, KC.N, KC.M, KC.COMM, KC.DOT, SLSHSFT,
NONE, NONE, KC.LCTL, LOWER, KC.SPACE, KC.BSPC, RAISE, KC.RALT, NONE, NONE,
],
[ #LOWER
KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0,
KC.TAB, KC.LEFT, KC.DOWN, KC.UP, KC.RIGHT, KC.TRNS, KC.MINUS, KC.EQUAL, KC.LBRC, KC.RBRC,
KC.LCTL, KC.GRAVE, KC.LGUI, KC.LALT, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.BSLS, KC.SCLN,
KC.NO, KC.NO, KC.TRNS, KC.TRNS, KC.TRNS, KC.ENTER, ADJUST, KC.TRNS, KC.NO, KC.NO,
],
[ #RAISE
KC.EXLM, KC.AT, KC.HASH, KC.DLR, KC.PERC, KC.CIRC, KC.AMPR, KC.ASTR, KC.LPRN, KC.RPRN,
KC.ESC, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.UNDS, KC.PLUS, KC.LCBR, KC.RCBR,
KC.CAPS, KC.TILDE, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.PIPE, KC.COLN,
KC.NO, KC.NO, KC.TRNS, ADJUST, KC.TRNS, KC.ENTER, KC.TRNS, KC.DEL, KC.NO, KC.NO,
],
[ #ADJUST
KC.F1, KC.F2, KC.F3, KC.F4, KC.F5, KC.F6, KC.F7, KC.F8, KC.F9, KC.F10,
KC.F11, KC.F12, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, CAE, CAD, CAD,
KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS,
KC.NO, KC.NO, KC.TRNS, KC.TRNS, KC.TRNS, KC.ENTER, KC.TRNS, KC.TRNS, KC.NO, KC.NO,
]
]
if __name__ == '__main__':
keyboard.go()