2 Commits

Author SHA1 Message Date
cole
adc8b5dfc7 formating 2023-02-19 22:17:22 -08:00
Cole Smith
6c9904ccdb fixed tg4x and tested now works 2023-01-31 10:46:15 -08:00
6 changed files with 106 additions and 194 deletions

View File

@@ -6,18 +6,16 @@ from kmk.scanners import DiodeOrientation
class KMKKeyboard(_KMKKeyboard): class KMKKeyboard(_KMKKeyboard):
row_pins = (pins[19], pins[18], pins[17], pins[16]) row_pins = (board.pins[19], board.pins[18], board.pins[17], board.pins[16])
col_pins = ( col_pins = (
pins[6], board.pins[6],
pins[7], board.pins[7],
pins[8], board.pins[8],
pins[9], board.pins[9],
pins[10], board.pins[10],
) )
diode_orientation = DiodeOrientation.COLUMNS diode_orientation = DiodeOrientation.COLUMNS
rgb_pixel_pin = pins[0] rgb_pixel_pin = pins[0]
rgb_num_pixels = 40 rgb_num_pixels = 40
data_pin = pins[1] data_pin = board.pins[1]
SCL = board.SCL
SDA = board.SDA
i2c = board.I2C i2c = board.I2C

View File

@@ -1,53 +1,27 @@
from kb import KMKKeyboard from kb import KMKKeyboard
from kmk.extensions.peg_oled_Display import ( from kmk.extensions.layers import Layers
Oled, from kmk.extensions.split import Split, SplitSide, SplitType
OledData,
OledDisplayMode,
OledReactionType,
)
from kmk.keys import KC from kmk.keys import KC
from kmk.modules.layers import Layers
from kmk.modules.split import Split, SplitSide, SplitType
keyboard = KMKKeyboard() keyboard = KMKKeyboard()
split = Split(use_pio=True) # TODO Comment one of these on each side
oled_ext = Oled( split_side = SplitSide.LEFT
OledData( split_side = SplitSide.RIGHT
corner_one={ split = Split(split_type=SplitType.BLE, split_side=split_side)
0: OledReactionType.STATIC,
1: ['1 2 3 4 5 6', '', '', '', '', '', '', ''],
},
corner_two={
0: OledReactionType.STATIC,
1: [' 7 8 Layer', '', '', '', '', '', '', ' 7 8 Layer'],
},
corner_three={
0: OledReactionType.LAYER,
1: ['^', ' ^', ' ^', ' ^', ' ^', ' ^', '', ''],
},
corner_four={
0: OledReactionType.LAYER,
1: ['', '', '', '', '', '', ' ^', ' ^'],
},
),
toDisplay=OledDisplayMode.TXT,
flip=True,
)
keyboard.extensions.append(oled_ext)
layers_ext = Layers() layers_ext = Layers()
keyboard.modules = [layers_ext, split] keyboard.extensions = [layers_ext, split]
# Cleaner key names
_______ = KC.TRNS _______ = KC.TRNS
XXXXXXX = KC.NO XXXXXXX = KC.NO
LOWER = KC.MO(2) LOWER = KC.MO(2)
RAISE = KC.MO(1) RAISE = KC.MO(1)
KC_Z_SF = KC.LSFT(KC.Z) KC_Z_SF = KC.LSFT(KC.Z)
KC_SLSF = KC.RSFT(KC.SLSH) KC_SLSF = KC.RSFT(KC.SLSH)
KC_11SF = KC.LSFT(KC.F11) KC_11SF = KC.LSFT(KC.F11)
@@ -55,131 +29,23 @@ KC_GRSF = KC.RSFT(KC.GRV)
keyboard.keymap = [ keyboard.keymap = [
[ #QWERTY [ #QWERTY
KC.Q, KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P,
KC.W, KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.ENT,
KC.E, KC.Z_SF, KC.X, KC.C, KC.V, KC.B, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSF,
KC.R, KC.LCTL, KC.LALT, KC.LGUI, LOWER, KC.BSPC, KC.SPC, RAISE, KC.RGUI, KC.APP, KC.RCTL
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.ENT,
KC_Z_SF,
KC.X,
KC.C,
KC.V,
KC.B,
KC.N,
KC.M,
KC.COMM,
KC.DOT,
KC_SLSF,
KC.LCTL,
KC.LALT,
KC.LGUI,
LOWER,
KC.BSPC,
KC.SPC,
RAISE,
KC.RGUI,
KC.APP,
KC.RCTL,
], ],
[ #RAISE [ #RAISE
KC.N1, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0,
KC.N2, KC.LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.LEFT, KC.DOWN, KC.UP, KC.RGHT, KC.RSFT,
KC.N3, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.MINS, KC.RO, KC.COMM, KC.DOT, KC.SLSF,
KC.N4, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
KC.N5,
KC.N6,
KC.N7,
KC.N8,
KC.N9,
KC.N0,
KC.LSFT,
XXXXXXX,
XXXXXXX,
XXXXXXX,
XXXXXXX,
KC.LEFT,
KC.DOWN,
KC.UP,
KC.RGHT,
KC.RSFT,
XXXXXXX,
XXXXXXX,
XXXXXXX,
XXXXXXX,
XXXXXXX,
KC.MINS,
KC.RO,
KC.COMM,
KC.DOT,
KC_SLSF,
_______,
_______,
_______,
_______,
_______,
_______,
_______,
_______,
_______,
_______,
], ],
[ #LOWER [ #LOWER
KC.F1, KC.F1, KC.F2, KC.F3, KC.F4, KC.F5, KC.MINS, KC.EQL, KC.LBRC, KC.RBRC, KC.BSLS,
KC.F2, KC.F6, KC.F7, KC.F8, KC.F9, KC.F10, XXXXXXX, XXXXXXX, XXXXXXX, KC.SCLN, KC.QUOT,
KC.F3, KC.N11SF, KC.F12, KC.ESC, KC.TAB, _______, KC.DEL, XXXXXXX, XXXXXXX, KC.RO, KC.GRSF,
KC.F4, _______, _______, _______, _______, KC.DEL, _______, _______, _______, _______, _______
KC.F5, ]
KC.MINS,
KC.EQL,
KC.LBRC,
KC.RBRC,
KC.BSLS,
KC.F6,
KC.F7,
KC.F8,
KC.F9,
KC.F10,
XXXXXXX,
XXXXXXX,
XXXXXXX,
KC.SCLN,
KC.QUOT,
KC_11SF,
KC.F12,
KC.ESC,
KC.TAB,
_______,
KC.DEL,
XXXXXXX,
XXXXXXX,
KC.RO,
KC_GRSF,
_______,
_______,
_______,
_______,
KC.DEL,
_______,
_______,
_______,
_______,
_______,
],
] ]
if __name__ == '__main__': if __name__ == '__main__':

View File

@@ -7,25 +7,79 @@ from kmk.scanners import DiodeOrientation
class KMKKeyboard(_KMKKeyboard): class KMKKeyboard(_KMKKeyboard):
row_pins = ( row_pins = (
board.pins[11], pins[11],
board.pins[10], pins[10],
board.pins[9], pins[9],
board.pins[8], pins[8],
board.pins[7], pins[7],
board.pins[6], pins[6],
board.pins[5], pins[5],
board.pins[4], pins[4],
) )
col_pins = [ col_pins = [
pins[0], pins[0],
board.pins[14], pins[14],
board.pins[15], pins[15],
board.pins[16], pins[16],
board.pins[17], pins[17],
board.pins[18], pins[18],
board.pins[19], pins[19],
] ]
diode_orientation = DiodeOrientation.COLUMNS diode_orientation = DiodeOrientation.COLUMNS
rgb_pixel_pin = board.pins[1] rgb_pixel_pin = pins[1]
rgb_num_pixels = 6 rgb_num_pixels = 7
i2c = board.I2C i2c = board.I2C
# large keys
coord_mapping = [
0,
1,
2,
3,
4,
5,
6,
28,
29,
30,
31,
33,
7,
8,
9,
10,
11,
12,
13,
35,
36,
37,
38,
39,
14,
15,
16,
17,
18,
19,
20,
42,
43,
44,
46,
21,
22,
23,
25,
26,
50,
51,
52,
53,
]
# all keys
# coord_mapping = [
# 0 ,1 ,2 ,3 ,4 ,5 ,6 ,28,29,30,31,32,33,
# 7 ,8 ,9 ,10,11,12,13,35,36,37,38,39,
# 14,15,16,17,18,19,20,42,43,44,45,46,
# 21,22,23,25,26,50,51,52,53
# ]

View File

@@ -84,7 +84,7 @@ class Layers(_Layers):
last_top_layer = 0 last_top_layer = 0
hues = (4, 20, 69) hues = (4, 20, 69)
def after_hid_send(self, keyboard): def after_hid_send(keyboard):
if keyboard.active_layers[0] != self.last_top_layer: if keyboard.active_layers[0] != self.last_top_layer:
self.last_top_layer = keyboard.active_layers[0] self.last_top_layer = keyboard.active_layers[0]
rgb.set_hsv_fill(self.hues[self.last_top_layer], 255, 255) rgb.set_hsv_fill(self.hues[self.last_top_layer], 255, 255)

View File

@@ -59,7 +59,7 @@ def hsv_to_rgb(hue, sat, val):
return (r >> 8), (g >> 8), (b >> 8) return (r >> 8), (g >> 8), (b >> 8)
def hsv_to_rgbw(hue, sat, val): def hsv_to_rgbw(self, hue, sat, val):
''' '''
Converts HSV values, and returns a tuple of RGBW values Converts HSV values, and returns a tuple of RGBW values
:param hue: :param hue:

View File

@@ -46,9 +46,7 @@ class Layers(HoldTap):
on_release=self._mo_released, on_release=self._mo_released,
) )
make_argumented_key( make_argumented_key(
validator=layer_key_validator, validator=layer_key_validator, names=('DF',), on_press=self._df_pressed
names=('DF',),
on_press=self._df_pressed,
) )
make_argumented_key( make_argumented_key(
validator=layer_key_validator, validator=layer_key_validator,
@@ -57,14 +55,10 @@ class Layers(HoldTap):
on_release=self._lm_released, on_release=self._lm_released,
) )
make_argumented_key( make_argumented_key(
validator=layer_key_validator, validator=layer_key_validator, names=('TG',), on_press=self._tg_pressed
names=('TG',),
on_press=self._tg_pressed,
) )
make_argumented_key( make_argumented_key(
validator=layer_key_validator, validator=layer_key_validator, names=('TO',), on_press=self._to_pressed
names=('TO',),
on_press=self._to_pressed,
) )
make_argumented_key( make_argumented_key(
validator=layer_key_validator_lt, validator=layer_key_validator_lt,