|
| 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() |
0 commit comments