/ 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()