/ PB_Gherkin / code.py
code.py
1 # SPDX-FileCopyrightText: 2022 Eva Herrada for Adafruit Industries 2 # SPDX-License-Identifier: MIT 3 4 from kb import KMKKeyboard 5 6 from kmk.keys import KC 7 from kmk.modules.layers import Layers 8 from kmk.modules.modtap import ModTap 9 10 keyboard = KMKKeyboard() 11 12 # Designed for PB Gherkin (version without LEDs and where switches can be mounted in 4 13 # different orientations 14 15 modtap = ModTap() 16 layers_ext = Layers() 17 keyboard.modules = [layers_ext, modtap] 18 19 # Cleaner key names 20 _______ = KC.TRNS 21 XXXXXXX = KC.NO 22 23 FN1_SPC = KC.LT(1, KC.SPC) 24 FN2_BSPC = KC.LT(2, KC.BSPC) 25 FN3_C = KC.LT(3, KC.C) 26 FN4_V = KC.LT(4, KC.V) 27 CTL_Z = KC.MT(KC.Z, KC.LCTL) 28 ALT_X = KC.MT(KC.X, KC.LALT) 29 ALT_N = KC.MT(KC.N, KC.LALT) 30 CTL_M = KC.MT(KC.M, KC.LCTL) 31 SFT_ENT = KC.LSFT(KC.ENT) 32 33 34 keyboard.keymap = [ 35 [ 36 KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P, 37 KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.ESC, 38 CTL_Z, ALT_X, FN3_C, FN4_V, FN2_BSPC, FN1_SPC, KC.B, ALT_N, CTL_M, SFT_ENT 39 ], 40 [ 41 KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, 42 KC.F1, KC.F2, KC.F3, KC.F4, KC.F5, KC.F6, KC.F7, KC.F8, KC.F9, KC.F10, 43 _______, _______, _______, _______, KC.DEL, _______, _______, _______, _______, _______ 44 ], 45 [ 46 KC.EXLM, KC.AT, KC.HASH, KC.DLR, KC.PERC, KC.CIRC, KC.AMPR, KC.ASTR, KC.LPRN, KC.RPRN, 47 KC.F11, KC.F12, _______, _______, _______, _______, _______, _______, _______, KC.GRV, 48 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 49 ], 50 [ 51 _______, _______, _______, _______, _______, KC.MINS, KC.EQL, KC.LBRC, KC.RBRC, KC.BSLS, 52 KC.TAB, _______, _______, _______, _______, KC.COMM, KC.DOT, KC.SLSH, KC.SCLN, KC.QUOT, 53 _______, _______, _______, _______, _______, _______, KC.LEFT, KC.DOWN, KC.UP, KC.RGHT 54 ], 55 [ 56 _______, _______, _______, _______, _______, KC.UNDS, KC.PLUS, KC.LCBR, KC.RCBR, KC.PIPE, 57 KC.TAB, _______, _______, _______, _______, KC.LABK, KC.RABK, KC.QUES, KC.COLN, KC.DQUO, 58 _______, _______, _______, _______, _______, _______, KC.HOME, KC.PGDN, KC.PGUP, KC.END 59 ], 60 ] 61 62 if __name__ == '__main__': 63 keyboard.go()