2020-09-29 01:07:19 +02:00
|
|
|
import board
|
|
|
|
|
|
|
|
from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard
|
|
|
|
from kmk.matrix import DiodeOrientation
|
|
|
|
from kmk.matrix import intify_coordinate as ic
|
|
|
|
|
2020-10-10 03:32:20 +02:00
|
|
|
|
2020-09-29 01:07:19 +02:00
|
|
|
class KMKKeyboard(_KMKKeyboard):
|
2020-10-10 03:32:20 +02:00
|
|
|
col_pins = (
|
|
|
|
board.P0_31,
|
|
|
|
board.P0_29,
|
|
|
|
board.P0_02,
|
|
|
|
board.P1_15,
|
|
|
|
board.P1_13,
|
|
|
|
board.P1_11,
|
|
|
|
)
|
2020-09-29 01:07:19 +02:00
|
|
|
row_pins = (board.P0_22, board.P0_24, board.P1_00, board.P0_11)
|
|
|
|
diode_orientation = DiodeOrientation.COLUMNS
|
|
|
|
|
2020-10-10 03:32:20 +02:00
|
|
|
split_type = 'UART' # TODO add bluetooth support as well
|
2020-09-29 01:07:19 +02:00
|
|
|
split_flip = True
|
|
|
|
split_offsets = [6, 6, 6, 6, 6]
|
|
|
|
uart_pin = board.P0_08
|
|
|
|
rgb_pixel_pin = board.P0_06
|
2020-10-10 03:32:20 +02:00
|
|
|
extra_data_pin = board.SDA # TODO This is incorrect. Find better solution
|
2020-09-29 01:07:19 +02:00
|
|
|
|
|
|
|
coord_mapping = []
|
|
|
|
coord_mapping.extend(ic(0, x) for x in range(12))
|
|
|
|
coord_mapping.extend(ic(1, x) for x in range(12))
|
|
|
|
coord_mapping.extend(ic(2, x) for x in range(12))
|
|
|
|
|
|
|
|
# And now, to handle R3, which at this point is down to just six keys
|
|
|
|
coord_mapping.extend(ic(3, x) for x in range(3, 9))
|