187 lines
3.2 KiB
Python
187 lines
3.2 KiB
Python
from kb import KMKKeyboard
|
|
|
|
from kmk.extensions.peg_oled_Display import (
|
|
Oled,
|
|
OledData,
|
|
OledDisplayMode,
|
|
OledReactionType,
|
|
)
|
|
from kmk.keys import KC
|
|
from kmk.modules.layers import Layers
|
|
from kmk.modules.split import Split, SplitSide, SplitType
|
|
|
|
keyboard = KMKKeyboard()
|
|
|
|
split = Split(use_pio=True)
|
|
oled_ext = Oled(
|
|
OledData(
|
|
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()
|
|
|
|
keyboard.modules = [layers_ext, split]
|
|
|
|
_______ = KC.TRNS
|
|
XXXXXXX = KC.NO
|
|
|
|
LOWER = KC.MO(2)
|
|
RAISE = KC.MO(1)
|
|
|
|
|
|
KC_Z_SF = KC.LSFT(KC.Z)
|
|
KC_SLSF = KC.RSFT(KC.SLSH)
|
|
KC_11SF = KC.LSFT(KC.F11)
|
|
KC_GRSF = KC.RSFT(KC.GRV)
|
|
|
|
keyboard.keymap = [
|
|
[ # QWERTY
|
|
KC.Q,
|
|
KC.W,
|
|
KC.E,
|
|
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
|
|
KC.N1,
|
|
KC.N2,
|
|
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
|
|
KC.F1,
|
|
KC.F2,
|
|
KC.F3,
|
|
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__':
|
|
keyboard.go()
|