7 Commits

Author SHA1 Message Date
cole
72fade3635 formating 2023-02-19 22:29:25 -08:00
Cole Smith
c86be365de fixed? 2023-02-05 14:30:25 -08:00
Cole Smith
0ec08c7ee0 fixed rhymestone keyboard and tested it 2023-02-05 12:22:16 -08:00
hixan
47c242a2c9 Update layers.md
The advanced example was missing a self argument
2023-01-29 02:53:53 +00:00
xs5871
4d52afa086 Remove erroneous argument from hsv_to_rgbw conversion function 2023-01-26 18:57:08 -08:00
claycooper
1935f05ccb Updated key creation for consistency 2023-01-24 16:41:43 +00:00
claycooper
83110c5f80 Re-formatted key creation to be consistent 2023-01-24 16:41:43 +00:00
5 changed files with 178 additions and 36 deletions

View File

@@ -6,16 +6,18 @@ from kmk.scanners import DiodeOrientation
class KMKKeyboard(_KMKKeyboard): class KMKKeyboard(_KMKKeyboard):
row_pins = (board.pins[19], board.pins[18], board.pins[17], board.pins[16]) row_pins = (pins[19], pins[18], pins[17], pins[16])
col_pins = ( col_pins = (
board.pins[6], pins[6],
board.pins[7], pins[7],
board.pins[8], pins[8],
board.pins[9], pins[9],
board.pins[10], 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 = board.pins[1] data_pin = pins[1]
SCL = board.SCL
SDA = board.SDA
i2c = board.I2C i2c = board.I2C

View File

@@ -1,27 +1,53 @@
from kb import KMKKeyboard from kb import KMKKeyboard
from kmk.extensions.layers import Layers from kmk.extensions.peg_oled_Display import (
from kmk.extensions.split import Split, SplitSide, SplitType Oled,
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()
# TODO Comment one of these on each side split = Split(use_pio=True)
split_side = SplitSide.LEFT oled_ext = Oled(
split_side = SplitSide.RIGHT OledData(
split = Split(split_type=SplitType.BLE, split_side=split_side) corner_one={
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.extensions = [layers_ext, split] keyboard.modules = [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)
@@ -29,23 +55,131 @@ KC_GRSF = KC.RSFT(KC.GRV)
keyboard.keymap = [ keyboard.keymap = [
[ # QWERTY [ # QWERTY
KC.Q, KC.W, KC.E, KC.R, KC.T, KC.Y, KC.U, KC.I, KC.O, KC.P, KC.Q,
KC.A, KC.S, KC.D, KC.F, KC.G, KC.H, KC.J, KC.K, KC.L, KC.ENT, KC.W,
KC.Z_SF, KC.X, KC.C, KC.V, KC.B, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSF, KC.E,
KC.LCTL, KC.LALT, KC.LGUI, LOWER, KC.BSPC, KC.SPC, RAISE, KC.RGUI, KC.APP, KC.RCTL KC.R,
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.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8, KC.N9, KC.N0, KC.N1,
KC.LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.LEFT, KC.DOWN, KC.UP, KC.RGHT, KC.RSFT, KC.N2,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC.MINS, KC.RO, KC.COMM, KC.DOT, KC.SLSF, KC.N3,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 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.F2, KC.F3, KC.F4, KC.F5, KC.MINS, KC.EQL, KC.LBRC, KC.RBRC, KC.BSLS, KC.F1,
KC.F6, KC.F7, KC.F8, KC.F9, KC.F10, XXXXXXX, XXXXXXX, XXXXXXX, KC.SCLN, KC.QUOT, KC.F2,
KC.N11SF, KC.F12, KC.ESC, KC.TAB, _______, KC.DEL, XXXXXXX, XXXXXXX, KC.RO, KC.GRSF, KC.F3,
_______, _______, _______, _______, KC.DEL, _______, _______, _______, _______, _______ KC.F4,
] 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

@@ -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(keyboard): def after_hid_send(self, 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(self, hue, sat, val): def hsv_to_rgbw(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,7 +46,9 @@ class Layers(HoldTap):
on_release=self._mo_released, on_release=self._mo_released,
) )
make_argumented_key( make_argumented_key(
validator=layer_key_validator, names=('DF',), on_press=self._df_pressed validator=layer_key_validator,
names=('DF',),
on_press=self._df_pressed,
) )
make_argumented_key( make_argumented_key(
validator=layer_key_validator, validator=layer_key_validator,
@@ -55,10 +57,14 @@ class Layers(HoldTap):
on_release=self._lm_released, on_release=self._lm_released,
) )
make_argumented_key( make_argumented_key(
validator=layer_key_validator, names=('TG',), on_press=self._tg_pressed validator=layer_key_validator,
names=('TG',),
on_press=self._tg_pressed,
) )
make_argumented_key( make_argumented_key(
validator=layer_key_validator, names=('TO',), on_press=self._to_pressed validator=layer_key_validator,
names=('TO',),
on_press=self._to_pressed,
) )
make_argumented_key( make_argumented_key(
validator=layer_key_validator_lt, validator=layer_key_validator_lt,