Skip to content

Commit 8f179c4

Browse files
committed
Added Gherkin files
1 parent 83398ee commit 8f179c4

File tree

2 files changed

+87
-0
lines changed

2 files changed

+87
-0
lines changed

PB_Gherkin/code.py

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
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()

PB_Gherkin/kb.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# SPDX-FileCopyrightText: 2022 Eva Herrada for Adafruit Industries
2+
# SPDX-License-Identifier: MIT
3+
4+
import board
5+
6+
from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard
7+
from kmk.matrix import DiodeOrientation
8+
9+
# For PB Gherkin (version with no LEDs and where switches can be mounted in 4 orientations)
10+
# and Adafruit KB2040
11+
12+
13+
class KMKKeyboard(_KMKKeyboard):
14+
row_pins = (board.D10, board.MOSI, board.MISO, board.SCK, board.A0)
15+
col_pins = (
16+
board.D3,
17+
board.D4,
18+
board.D5,
19+
board.D6,
20+
board.D7,
21+
board.D8,
22+
)
23+
diode_orientation = DiodeOrientation.COLUMNS
24+
i2c = board.I2C

0 commit comments

Comments
 (0)