diff --git a/PiPi Gherkin/PiPi_Gherkin.png b/PiPi Gherkin/PiPi_Gherkin.png new file mode 100644 index 0000000..fee0e02 Binary files /dev/null and b/PiPi Gherkin/PiPi_Gherkin.png differ diff --git a/PiPi Gherkin/PiPi_Gherkin.zip b/PiPi Gherkin/PiPi_Gherkin.zip new file mode 100644 index 0000000..785b4d0 Binary files /dev/null and b/PiPi Gherkin/PiPi_Gherkin.zip differ diff --git a/PiPi Gherkin/code.py b/PiPi Gherkin/code.py new file mode 100644 index 0000000..a879af2 --- /dev/null +++ b/PiPi Gherkin/code.py @@ -0,0 +1,56 @@ +#PiPi-GHERKIN - Raspberry Pi PICO +import board +from kmk.keys import KC +from kmk.kmk_keyboard import KMKKeyboard +from kmk.matrix import DiodeOrientation +from kmk.hid import HIDModes + +gherkin = KMKKeyboard() + +gherkin.col_pins = (board.GP2, board.GP3, board.GP4, board.GP5, board.GP6, board.GP7) +gherkin.row_pins = (board.GP8, board.GP9, board.GP10, board.GP11, board.GP12) + +#Rotate gherkin so USB on Right Side. Not needed if USB on Left Side. +gherkin.col_pins = tuple(reversed(gherkin.col_pins)) +gherkin.row_pins = tuple(reversed(gherkin.row_pins)) + +gherkin.diode_orientation = DiodeOrientation.COLUMNS + +gherkin.debug_enabled = False + +gherkin.keymap = [ + [ + KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P, + KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.ESC, + KC.MT(KC.Z, KC.LCTRL), KC.MT(KC.X, KC.LALT), KC.LT(3, KC.C), KC.LT(4, KC.V), KC.LT(2, KC.BSPC), + KC.LT(1, KC.SPC), KC.LT(5, KC.B), KC.MT(KC.N, KC.RALT), KC.MT(KC.M, KC.RCTRL), KC.MT(KC.ENT, KC.RSFT), + ], + [ + KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, + KC.F1, KC.F2, KC.F3, KC.F4, KC.F5, KC.F6, KC.F7, KC.F8, KC.F9, KC.F10, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.DEL, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + ], + [ + KC.EXLM, KC.AT, KC.HASH, KC.DLR, KC.PERC, KC.CIRC, KC.AMPR, KC.ASTR, KC.LPRN, KC.RPRN, + KC.F11, KC.F12, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.GRV, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + ], + [ + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.MINS, KC.EQL, KC.LBRC, KC.RBRC, KC.BSLS, + KC.TAB, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.COMM, KC.DOT, KC.SLSH, KC.SCLN, KC.QUOT, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.LEFT, KC.DOWN, KC.UP, KC.RGHT, + ], + [ + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.UNDS, KC.PLUS, KC.LCBR, KC.RCBR, KC.PIPE, + KC.TAB, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.LABK, KC.RABK, KC.QUES, KC.COLN, KC.DQUO, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.HOME, KC.PGDN, KC.PGUP, KC.END, + ], + [ + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, + ], +] + +if __name__ == '__main__': + gherkin.go(hid_type=HIDModes.USB) #Wired USB enable \ No newline at end of file diff --git a/PiPi Gherkin/readme.md b/PiPi Gherkin/readme.md new file mode 100644 index 0000000..01d7136 --- /dev/null +++ b/PiPi Gherkin/readme.md @@ -0,0 +1,20 @@ +More info here: + +http://www.40percent.club/2021/02/pipi-gherkin.html + +[How to order PCBs from gerber files](http://www.40percent.club/2017/03/ordering-pcb.html) + +EasyEDA ordering info: + +PCB + +![PiPi_Gherkin](PiPi_Gherkin.png) + +Gerber: PiPi_Gherkin.zip + + Dimension: 55mm*192mm + + +Gerber files released under https://creativecommons.org/licenses/by-sa/4.0/ + +![Creative Commons Attribution-ShareAlike 4.0 International License](https://i.creativecommons.org/l/by-sa/4.0/88x31.png) \ No newline at end of file