Misc files
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #PB-GHERKIN on a Raspberry Pi PICO
  2. import board
  3. from kmk.keys import KC
  4. from kmk.kmk_keyboard import KMKKeyboard
  5. from kmk.matrix import DiodeOrientation
  6. from kmk.matrix import intify_coordinate as ic
  7. from kmk.hid import HIDModes
  8. gherkin = KMKKeyboard()
  9. gherkin.col_pins = (board.GP1, board.GP2, board.GP3, board.GP4, board.GP5, board.GP6)
  10. gherkin.row_pins = (board.GP7, board.GP8, board.GP9, board.GP10, board.GP11)
  11. #Rotate gherkin so USB on Right Side. Not needed if USB on Left Side.
  12. #gherkin.col_pins = tuple(reversed(gherkin.col_pins))
  13. #gherkin.row_pins = tuple(reversed(gherkin.row_pins))
  14. gherkin.diode_orientation = DiodeOrientation.COLUMNS
  15. #coord_mapping to rearrange keys for PB_Gherkin PCB upside-down, not needed if PCB right side up.
  16. #gherkin.coord_mapping = []
  17. #gherkin.coord_mapping.extend(ic(1, x) for x in range(2, 6))
  18. #gherkin.coord_mapping.extend(ic(0, x) for x in range(6))
  19. #gherkin.coord_mapping.extend(ic(3, x) for x in range(4, 6))
  20. #gherkin.coord_mapping.extend(ic(2, x) for x in range(6))
  21. #gherkin.coord_mapping.extend(ic(1, x) for x in range(2))
  22. #gherkin.coord_mapping.extend(ic(4, x) for x in range(6))
  23. #gherkin.coord_mapping.extend(ic(3, x) for x in range(4))
  24. gherkin.debug_enabled = False
  25. gherkin.keymap = [
  26. [
  27. KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P,
  28. KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.ESC,
  29. 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),
  30. 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),
  31. ],
  32. [
  33. KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0,
  34. KC.F1, KC.F2, KC.F3, KC.F4, KC.F5, KC.F6, KC.F7, KC.F8, KC.F9, KC.F10,
  35. KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.DEL, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS,
  36. ],
  37. [
  38. KC.EXLM, KC.AT, KC.HASH, KC.DLR, KC.PERC, KC.CIRC, KC.AMPR, KC.ASTR, KC.LPRN, KC.RPRN,
  39. KC.F11, KC.F12, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.GRV,
  40. KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS,
  41. ],
  42. [
  43. KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.MINS, KC.EQL, KC.LBRC, KC.RBRC, KC.BSLS,
  44. KC.TAB, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.COMM, KC.DOT, KC.SLSH, KC.SCLN, KC.QUOT,
  45. KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.LEFT, KC.DOWN, KC.UP, KC.RGHT,
  46. ],
  47. [
  48. KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.UNDS, KC.PLUS, KC.LCBR, KC.RCBR, KC.PIPE,
  49. KC.TAB, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.LABK, KC.RABK, KC.QUES, KC.COLN, KC.DQUO,
  50. KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.HOME, KC.PGDN, KC.PGUP, KC.END,
  51. ],
  52. [
  53. KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS,
  54. KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS,
  55. KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS,
  56. ],
  57. ]
  58. if __name__ == '__main__':
  59. gherkin.go(hid_type=HIDModes.USB) #Wired USB enable
  60. #gherkin.go(hid_type=HIDModes.BLE) #BLE enable