41 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import board
 | 
						|
 | 
						|
from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard
 | 
						|
from kmk.scanners import DiodeOrientation
 | 
						|
 | 
						|
 | 
						|
class KMKKeyboard(_KMKKeyboard):
 | 
						|
    # Pin mappings for converter board found at hardware/README.md
 | 
						|
    # QMK: MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6 }
 | 
						|
    # QMK: MATRIX_ROW_PINS { D7, E6, B4, D2, D4 }
 | 
						|
    col_pins = (board.A2, board.A3, board.A4, board.A5, board.SCK, board.MOSI)
 | 
						|
    row_pins = (board.D11, board.D10, board.D9, board.RX, board.D13)
 | 
						|
    diode_orientation = DiodeOrientation.COLUMNS
 | 
						|
 | 
						|
    split_flip = True
 | 
						|
    split_offset = (6, 6, 6, 6, 6)
 | 
						|
    split_type = 'UART'
 | 
						|
    data_pin = board.SCL
 | 
						|
    data_pin2 = board.SDA
 | 
						|
    rgb_num_pixels = 12
 | 
						|
    i2c = board.I2C
 | 
						|
    rgb_pixel_pin = board.TX
 | 
						|
    led_pin = board.D7
 | 
						|
 | 
						|
    # Buckle up friends, the bottom row of this keyboard is wild, and making
 | 
						|
    # our layouts match, visually, what the keyboard looks like, requires some
 | 
						|
    # surgery on the bottom two rows of coords
 | 
						|
 | 
						|
    # Row index 3 is actually perfectly sane and we _could_ expose it
 | 
						|
    # just like the above three rows, however, visually speaking, the
 | 
						|
    # top-right thumb cluster button (when looking at the left-half PCB)
 | 
						|
    # is more inline with R3, so we'll jam that key (and its mirror) in here
 | 
						|
    # flake8: noqa
 | 
						|
    coord_mapping = [
 | 
						|
     0,  1,  2,  3,  4,  5,          36, 35, 34, 33, 32, 31,
 | 
						|
     6,  7,  8,  9, 10, 11,          42, 41, 40, 39, 38, 37,
 | 
						|
    12, 13, 14, 15, 16, 17,          48, 47, 46, 45, 44, 43,
 | 
						|
    18, 19, 20, 21, 22, 23, 26,  57, 54, 53, 52, 51, 50, 49,
 | 
						|
                28, 29, 30,          60, 59, 58,
 | 
						|
    ]
 |