Created
January 16, 2023 18:29
-
-
Save takashicompany/245604b8d9bf4081b02691f251ef2180 to your computer and use it in GitHub Desktop.
KMK Firmware for Gherkin
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #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 | |
| from kmk.modules.layers import Layers # ←追加 | |
| from kmk.modules.modtap import ModTap # ←追加 | |
| # from kmk.modules.tapdance import TapDance | |
| gherkin = KMKKeyboard() | |
| layers = Layers() | |
| layers.tap_time = 125 | |
| gherkin.modules.append(layers) # ←追加 | |
| gherkin.modules.append(ModTap()) # ←追加 | |
| # tapdance = TapDance() | |
| # tapdance.tap_time = 50 | |
| # gherkin.modules.append(tapdance) | |
| 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.LT(3, 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.LT(2, KC.D), KC.F, KC.G, KC.H, KC.J, KC.LT(2, KC.K), KC.L, KC.ENT, | |
| KC.MT(KC.Z, KC.LSFT), KC.MT(KC.X, KC.LALT), KC.MT(KC.C, KC.LGUI), KC.LT(1, KC.V), KC.B, KC.N, KC.LT(1, KC.M), KC.COMMA, KC.MT(KC.DOT, KC.LCTRL), KC.BSPC, | |
| ], | |
| [ | |
| KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, | |
| KC.MT(KC.EQL, KC.LCTRL), KC.LBRC, KC.SLSH, KC.MINS, KC.RO, KC.SCLN, KC.QUOT, KC.RBRC, KC.NUHS, KC.JYEN, | |
| KC.LSFT, KC.LALT, KC.LGUI, KC.LANG2, KC.SPC, KC.SPC, KC.LANG1, KC.TRNS, KC.TRNS, KC.TRNS, | |
| ], | |
| [ | |
| KC.NO, KC.TAB, KC.NO, KC.NO, KC.NO, KC.NO, KC.MO, KC.UP, KC.NO, KC.NO, | |
| KC.NO, KC.NO, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.LEFT, KC.DOWN, KC.RGHT, KC.GRV, | |
| KC.LSFT, KC.TRNS, KC.TRNS, KC.LANG2, KC.SPC, KC.SPC, KC.LANG1, 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 | |
| # ["KC_1","KC_2","KC_3","KC_4","KC_5","KC_6","KC_7","KC_8","KC_9","KC_0", | |
| # "LCTL_T(KC_EQL)","KC_LBRC","KC_SLSH","KC_MINS","KC_RO","KC_SCLN","KC_QUOT","KC_RBRC","KC_NUHS","KC_JYEN", | |
| # "KC_LSFT","KC_LGUI","KC_LALT","KC_LANG2","KC_LSFT","KC_SPC","KC_LANG1","KC_TRNS","KC_TRNS","KC_DEL", | |
| # "KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"], | |
| # ["KC_ESC","KC_TAB","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_UP","KC_NO","KC_NO", | |
| # "KC_LCTL","KC_TRNS","KC_QUES","KC_EXLM","KC_NO","KC_NO","KC_LEFT","KC_DOWN","KC_RGHT","KC_NO", | |
| # "KC_LSFT","KC_LGUI","KC_LALT","KC_LANG2","KC_TRNS","KC_NO","KC_LANG1","KC_NO","KC_NO","KC_DEL", | |
| # "KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"], | |
| # ["KC_NO","KC_TAB","KC_NO","KC_NO","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_F6", | |
| # "KC_NO","KC_NO","KC_NO","KC_NO","KC_F7","KC_F8","KC_F9","KC_F10","KC_F11","KC_F12", | |
| # "KC_LSFT","KC_NO","KC_NO","KC_NO","KC_TRNS","KC_TRNS","KC_TRNS","KC_NO","MO(4)","MO(5)", | |
| # "KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"], | |
| # ["RGB_TOG","RGB_MOD","RGB_HUI","RGB_SAI","RGB_VAI","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO", | |
| # "RGB_M_P","RGB_M_B","RGB_M_R","RGB_M_SW","RGB_M_SN","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO", | |
| # "RGB_M_K","RGB_M_X","RGB_M_G","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO", | |
| # "KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"], | |
| # ["KC_NO","BLE_DIS","BLE_EN","SEL_BLE","USB_DIS","USB_EN","SEL_USB","KC_NO","KC_NO","BATT_LV", | |
| # "ADV_ID0","ADV_ID1","ADV_ID2","ADV_ID3","ADV_ID4","ADV_ID5","ADV_ID6","ADV_ID7","AD_WO_L","KC_NO", | |
| # "ENT_DFU","ENT_WEB","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_TRNS", | |
| # [["LT(6,KC_Q)","KC_W","KC_E","KC_R","KC_T","KC_Y","KC_U","KC_I","KC_O","KC_P", | |
| # "KC_A","KC_S","LT(5,KC_D)","KC_F","KC_G","KC_H","KC_J","LT(5,KC_K)","KC_L","KC_ENT", | |
| # "LSFT_T(KC_Z)","LGUI_T(KC_X)","KC_C","KC_V","KC_B","KC_N","KC_M","KC_COMM","LCTL_T(KC_DOT)","KC_BSPC", | |
| # "LALT_T(KC_LANG2)","LSFT_T(KC_TAB)","KC_SPC","LT(1,KC_LANG1)"], | |
| # ["KC_1","KC_2","KC_3","KC_4","KC_5","KC_6","KC_7","KC_8","KC_9","KC_0", | |
| # "LCTL_T(KC_EQL)","KC_LBRC","KC_SLSH","KC_MINS","KC_RO","KC_SCLN","KC_QUOT","KC_RBRC","KC_NUHS","KC_JYEN", | |
| # "KC_LSFT","KC_LGUI","KC_LALT","KC_LANG2","KC_LSFT","KC_SPC","KC_LANG1","KC_TRNS","KC_TRNS","KC_DEL", | |
| # "KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"], | |
| # ["LT(6,KC_Q)","KC_W","KC_E","KC_R","KC_T","KC_Y","KC_U","KC_I","KC_O","KC_P", | |
| # "KC_A","KC_S","LT(5,KC_D)","KC_F","KC_G","KC_H","KC_J","LT(5,KC_K)","KC_L","KC_ENT", | |
| # "LSFT_T(KC_Z)","LGUI_T(KC_X)","KC_C","KC_V","KC_B","KC_N","KC_M","KC_COMM","LCTL_T(KC_DOT)","KC_BSPC", | |
| # "LALT_T(KC_LANG2)","LSFT_T(KC_TAB)","KC_SPC","LT(3,KC_LANG1)"], | |
| # ["KC_1","KC_2","KC_3","KC_4","KC_5","KC_6","KC_7","KC_8","KC_9","KC_0", | |
| # "KC_CIRC","KC_AT","KC_SLSH","KC_MINS","KC_UNDS","KC_SCLN","KC_COLN","KC_LBRC","KC_RBRC","KC_JYEN", | |
| # "MO(4)","KC_LGUI","KC_LALT","KC_LANG2","KC_LSFT","KC_SPC","KC_LANG1","KC_TRNS","KC_TRNS","KC_DEL", | |
| # "KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"], | |
| # ["KC_EXLM","KC_DQUO","KC_HASH","KC_DLR","KC_PERC","KC_AMPR","KC_QUOT","KC_LPRN","KC_RPRN","KC_0", | |
| # "KC_TILD","KC_GRV","KC_QUES","KC_EQL","KC_UNDS","KC_PLUS","KC_ASTR","KC_LCBR","KC_RCBR","KC_PIPE", | |
| # "KC_LSFT","KC_LGUI","KC_LALT","KC_LANG2","KC_LSFT","KC_SPC","KC_LANG1","KC_TRNS","KC_TRNS","KC_DEL", | |
| # "KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"], | |
| # ["KC_ESC","KC_TAB","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_UP","KC_NO","KC_NO", | |
| # "KC_LCTL","KC_TRNS","KC_QUES","KC_EXLM","KC_NO","KC_NO","KC_LEFT","KC_DOWN","KC_RGHT","KC_NO", | |
| # "KC_LSFT","KC_LGUI","KC_LALT","KC_LANG2","KC_TRNS","KC_NO","KC_LANG1","KC_NO","KC_NO","KC_DEL", | |
| # "KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"], | |
| # ["KC_NO","KC_TAB","KC_NO","KC_NO","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_F6", | |
| # "KC_NO","KC_NO","KC_NO","KC_NO","KC_F7","KC_F8","KC_F9","KC_F10","KC_F11","KC_F12", | |
| # "KC_LSFT","KC_NO","KC_NO","KC_NO","KC_TRNS","KC_TRNS","KC_TRNS","KC_NO","MO(7)","MO(8)", | |
| # "KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"], | |
| # ["RGB_TOG","RGB_MOD","RGB_HUI","RGB_SAI","RGB_VAI","KC_NO","KC_NO","KC_NO","DF(0)","DF(2)", | |
| # "RGB_M_P","RGB_M_B","RGB_M_R","RGB_M_SW","RGB_M_SN","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO", | |
| # "RGB_M_K","RGB_M_X","RGB_M_G","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO", | |
| # "KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"], | |
| # ["KC_NO","BLE_DIS","BLE_EN","SEL_BLE","USB_DIS","USB_EN","SEL_USB","KC_NO","KC_NO","BATT_LV", | |
| # "ADV_ID0","ADV_ID1","ADV_ID2","ADV_ID3","ADV_ID4","ADV_ID5","ADV_ID6","ADV_ID7","AD_WO_L","KC_NO", | |
| # "ENT_DFU","ENT_WEB","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_NO","KC_TRNS", | |
| # "KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"]]} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment