Beispiel #1
0
layers = Layers()
modtap = ModTap()
rgb_ext = RGB(pixel_pin=keyboard.rgb_pixel_pin, num_pixels=27, val_limit=100, hue_default=190, sat_default=100, val_default=5)
split = Split()

keyboard.modules = [modtap, layers, split]
keyboard.extensions = [rgb_ext]

_______ = KC.TRNS
XXXXXXX = KC.NO
SHFT_INS = KC.LSHIFT(KC.INS)

BASE = KC.DF(0)
GAMING = KC.DF(1)
LT1_SP = KC.MO(2)
LT2_SP = KC.LT(3, KC.SPC)
TAB_SB = KC.LT(5, KC.TAB)
SUPER_L = KC.LM(4, KC.LGUI)

# ---------------------- Keymap ---------------------------------------------------------

keyboard.keymap = [
    [
        # df
        KC.GRV,   KC.N1,    KC.N2,    KC.N3,   KC.N4,   KC.N5,  KC.N6,  KC.N7,   KC.N8,   KC.N9,   KC.N0, KC.DEL,
        KC.GESC,  KC.QUOT,  KC.COMM,  KC.DOT,  KC.P,    KC.Y,   KC.F,   KC.G,    KC.C,    KC.R,    KC.L,   KC.BSPC,
        TAB_SB,   KC.A,     KC.O,     KC.E,    KC.U,    KC.I,   KC.D,   KC.H,    KC.T,    KC.N,    KC.S,   KC.ENT,
        KC.LSFT,  KC.SCLN,  KC.Q,     KC.J,    KC.K,    KC.X,   KC.B,   KC.M,    KC.W,    KC.V,    KC.Z,   KC.SLSH,
        KC.LCTRL, KC.LGUI,  KC.LALT,  KC.LALT, SUPER_L, LT1_SP, LT2_SP, KC.LCTL, KC.LEFT, KC.DOWN, KC.UP, KC.RIGHT,
    ],
Beispiel #2
0
encoder_ext = EncoderHandler([board.D40], [board.D41], encoder_map)
encoder_ext.encoders[0].is_inverted = True

keyboard.modules = [layers_ext, encoder_ext]

keyboard.tap_time = 250
keyboard.debug_enabled = False

# custom keys
NEW = KC.LCTL(KC.N)
NEW_DIR = KC.LCTL(KC.LSFT(KC.N))
CAD = KC.LCTL(KC.LALT(KC.DEL))
RES = KC.LCTL(KC.LSFT(KC.ESC))
FE = KC.LGUI(KC.E)
LT1_DEL = KC.LT(1, KC.DEL)
LT2_ENT = KC.LT(2, KC.ENT)
SAVE_AS = KC.LCTL(KC.LSFT(KC.S))
PSCR = KC.LGUI(KC.PSCR)
SNIP = simple_key_sequence((
    KC.LGUI,
    KC.MACRO_SLEEP_MS(25),
    KC.S,
    KC.N,
    KC.I,
    KC.P,
    KC.MACRO_SLEEP_MS(25),
    KC.ENT,
))

# programming layer keys
Beispiel #3
0
keyboard.rgb_config['animation_mode'] = 'static'
keyboard.rgb_config['animation_speed'] = 2
keyboard.debug_enabled = False


# ---------------------- Custom Functions --------------------------------------------

BASE = 0
GAMING = 1
FN1 = 2

_______ = KC.TRNS
XXXXXXX = KC.NO
HOME = KC.MT(KC.HOME, KC.LSFT)
END = KC.MT(KC.END, KC.RSFT)
LEFT_LAY = KC.LT(FN1, KC.LEFT)
SHFT_INS = KC.LSFT(KC.INS)


# ---------------------- Keymap ---------------------------------------------------------


keyboard.keymap = [
    # df
    [
        KC.GESC, KC.N1,   KC.N2,   KC.N3,  KC.N4,   KC.N5,   KC.N6,   KC.N7, KC.N8, KC.N9, KC.N0, KC.LBRC, KC.RBRC, KC.BSPC,
        KC.LEAD, KC.QUOT, KC.COMM, KC.DOT, KC.P,    KC.Y,    KC.F,    KC.G,  KC.C,  KC.R,  KC.L,  KC.SLSH, KC.EQL,  KC.BSLS,
        KC.TAB,  KC.A,    KC.O,    KC.E,   KC.U,    KC.I,    KC.D,    KC.H,  KC.T,  KC.N,  KC.S,  KC.MINS, KC.ENT,
        HOME,    KC.SCLN, KC.Q,    KC.J,   KC.K,    KC.X,    KC.B,    KC.M,  KC.W,  KC.V,  KC.Z,  END,
        KC.LCTL, KC.LGUI, KC.LALT,        KC.SPC,              LEFT_LAY, KC.DOWN, KC.UP,   KC.RIGHT,
    ],
Beispiel #4
0
from kmk.modules.modtap import ModTap

keyboard = KMKKeyboard()


modtap = ModTap()
layers_ext = Layers()
led = LED()
keyboard.extensions = [led]
keyboard.modules = [layers_ext, modtap]

# Cleaner key names
_______ = KC.TRNS
XXXXXXX = KC.NO

FN1_SPC = KC.LT(1, KC.SPC)
FN2_BSPC = KC.LT(2, KC.BSPC)
FN3_C = KC.LT(3, KC.C)
FN4_V = KC.LT(4, KC.V)
FN5_B = KC.LT(5, KC.B)
CTL_Z = KC.CTL_T(KC.Z)
ALT_X = KC.ALT(KC.X)
ALT_N = KC.ALT(KC.N)
CTL_M = KC.CTL(KC.M)
SFT_ENT = KC.SFT(KC.ENT)
BL_DEC = KC.BL_DEC
BL_INC = KC.BL_INC

keyboard.keymap = [
    [
        KC.Q,    KC.W,    KC.E,    KC.R,   KC.T,     KC.Y,    KC.U,    KC.I,    KC.O,    KC.P,
Beispiel #5
0
    def test_basic_kmk_keyboard(self):
        keyboard = KeyboardTest(
            [Layers(), ModTap(), OneShot()],
            [
                [
                    KC.MT(KC.A, KC.LCTL),
                    KC.LT(1, KC.B), KC.C, KC.D,
                    KC.OS(KC.E)
                ],
                [KC.N1, KC.N2, KC.N3, KC.N4, KC.N5],
            ],
            debug_enabled=False,
        )

        keyboard.test('MT tap behaviour', [(0, True), 100, (0, False)],
                      [{KC.A}, {}])

        keyboard.test('MT hold behaviour', [(0, True), 350, (0, False)],
                      [{KC.LCTL}, {}])

        # TODO test multiple mods being held

        # MT
        keyboard.test(
            'MT within tap time sequential -> tap behavior',
            [(0, True), 100, (0, False), (3, True), (3, False)],
            [{KC.A}, {}, {KC.D}, {}],
        )

        keyboard.test(
            'MT within tap time rolling -> hold behavior',
            [(0, True), 100, (3, True), 250, (0, False), (3, False)],
            [{KC.LCTL}, {KC.LCTL, KC.D}, {KC.D}, {}],
        )

        keyboard.test(
            'MT within tap time nested -> hold behavior',
            [(0, True), 100, (3, True), (3, False), 250, (0, False)],
            [{KC.LCTL}, {KC.LCTL, KC.D}, {KC.LCTL}, {}],
        )

        keyboard.test(
            'MT after tap time sequential -> hold behavior',
            [(0, True), 350, (0, False), (3, True), (3, False)],
            [{KC.LCTL}, {}, {KC.D}, {}],
        )

        keyboard.test(
            'MT after tap time rolling -> hold behavior',
            [(0, True), 350, (3, True), (0, False), (3, False)],
            [{KC.LCTL}, {KC.LCTL, KC.D}, {KC.D}, {}],
        )

        keyboard.test(
            'MT after tap time nested -> hold behavior',
            [(0, True), 350, (3, True), (3, False), (0, False)],
            [{KC.LCTL}, {KC.LCTL, KC.D}, {KC.LCTL}, {}],
        )

        # LT
        keyboard.test(
            'LT within tap time sequential -> tap behavior',
            [(1, True), 100, (1, False), (3, True), (3, False)],
            [{KC.B}, {}, {KC.D}, {}],
        )

        keyboard.test(
            'LT within tap time rolling -> tap behavior',
            [(1, True), 100, (3, True), 250, (1, False), (3, False)],
            [{KC.B}, {KC.B, KC.D}, {KC.D}, {}],
        )

        keyboard.test(
            'LT within tap time nested -> tap behavior',
            [(1, True), 100, (3, True), (3, False), 250, (1, False)],
            [{KC.B}, {KC.B, KC.D}, {KC.B}, {}],
        )

        keyboard.test(
            'LT after tap time sequential -> hold behavior',
            [(1, True), 350, (1, False), (3, True), (3, False)],
            [{KC.D}, {}],
        )

        keyboard.test(
            'LT after tap time rolling -> hold behavior',
            [(1, True), 350, (3, True), (1, False), (3, False)],
            [{KC.N4}, {}],
        )

        keyboard.test(
            'LT after tap time nested -> hold behavior',
            [(1, True), 350, (3, True), (3, False), (1, False)],
            [{KC.N4}, {}],
        )

        # TODO test TT

        # OS
        keyboard.test(
            'OS timed out',
            [(4, True), (4, False), 1050],
            [{KC.E}, {}],
        )

        keyboard.test(
            'OS interrupt within tap time',
            [(4, True), (4, False), 100, (3, True), (3, False)],
            [{KC.E}, {KC.D, KC.E}, {}],
        )

        keyboard.test(
            'OS hold with multiple interrupt keys',
            [(4, True), 100, (3, True), (3, False), (2, True), (2, False),
             (4, False)],
            [{KC.E}, {KC.D, KC.E}, {KC.E}, {KC.C, KC.E}, {KC.E}, {}],
        )
Beispiel #6
0
              num_pixels=16,
              val_limit=150,
              hue_default=0,
              sat_default=100,
              val_default=20)
keyboard.modules = [layers, media_keys, split]
keyboard.extensions = [rgb_ext]

# ------------------User level config variables ---------------------------------------
keyboard.unicode_mode = UnicodeMode.LINUX
keyboard.tap_time = 150

keyboard.debug_enabled = False

LOWER = KC.TT(3)
UP_HYP = KC.LT(4, KC.MINS)
_______ = KC.TRNS
XXXXXXX = KC.NO

# ---------------------- Keymap ---------------------------------------------------------

keyboard.keymap = [
    [
        # Default
        KC.GESC,
        KC.Q,
        KC.W,
        KC.E,
        KC.R,
        KC.T,
        KC.Y,
Beispiel #7
0
keyboard.rgb_config['val_step'] = 5
keyboard.rgb_config['hue_default'] = 260
keyboard.rgb_config['sat_default'] = 100
keyboard.rgb_config['val_default'] = 20
keyboard.rgb_config['knight_effect_length'] = 4
keyboard.rgb_config['animation_mode'] = 'static'
keyboard.rgb_config['animation_speed'] = 1
keyboard.debug_enabled = False


_______ = KC.TRNS
XXXXXXX = KC.NO
SHFT_INS = KC.LSHIFT(KC.INS)

BASE = KC.DF(0)
LT2_SP = KC.LT(3, KC.SPC)
GAMING = KC.DF(1)

# ---------------------- Keymap ---------------------------------------------------------

keyboard.keymap = [
    [
        # df
        KC.GESC,  KC.N1,    KC.N2,    KC.N3,   KC.N4,   KC.N5,  KC.N6,  KC.N7,     KC.N8,   KC.N9,   KC.N0, KC.DEL,
        KC.GRV,   KC.QUOTE, KC.COMMA, KC.DOT,  KC.P,    KC.Y,   KC.F,   KC.G,      KC.C,    KC.R,    KC.L,  KC.BKSP,
        KC.TAB,   KC.A,     KC.O,     KC.E,    KC.U,    KC.I,   KC.D,   KC.H,      KC.T,    KC.N,    KC.S,  KC.ENT,
        KC.LSFT,  KC.SCLN,  KC.Q,     KC.J,    KC.K,    KC.X,   KC.B,   KC.M,      KC.W,    KC.V,    KC.Z,  KC.SLSH,
        KC.LCTRL, KC.LGUI,  KC.LALT,  KC.RGB_TOG, KC.MO(2), LT2_SP, LT2_SP, KC.MO(4), KC.LEFT, KC.DOWN, KC.UP, KC.RIGHT,
    ],
    [
        # gw
Beispiel #8
0
     [
         KC.GESC, KC.QUOTE, KC.COMMA, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C,
         KC.R, KC.L, KC.BKSP
     ],
     [
         KC.TAB, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S,
         KC.ENT
     ],
     [
         KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.B, KC.M, KC.W, KC.V,
         KC.Z, KC.SLSH
     ],
     [
         KC.LCTRL, KC.LGUI, KC.LALT, KC.LEAD,
         KC.MO(2),
         KC.LT(3, KC.SPC),
         KC.LT(3, KC.SPC),
         KC.MO(4), KC.LEFT, KC.DOWN, KC.UP, KC.RIGHT
     ],
 ],
 [
     # Gaming
     [
         KC.TAB, KC.QUOT, KC.COMM, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C,
         KC.R, KC.L, KC.BKSP
     ],
     [
         KC.ESC, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S,
         KC.ENT
     ],
     [
Beispiel #9
0
keyboard.rgb_config['animation_mode'] = 'static'
keyboard.rgb_config['animation_speed'] = 2
keyboard.debug_enabled = False


# ---------------------- Custom Functions --------------------------------------------

BASE = 0
GAMING = 1
FN1 = 2

_______ = KC.TRNS
XXXXXXX = KC.NO
HOME = KC.MT(KC.HOME, KC.LSFT)
END = KC.MT(KC.END, KC.RSFT)
LEFT_LAY = KC.LT(FN1, KC.LEFT)
SHFT_INS = KC.LSFT(KC.INS)
SPC = KC.LT(2, KC.SPC)


# ---------------------- Keymap ---------------------------------------------------------


keyboard.keymap = [
    # df
    [
        KC.GESC, KC.N1,   KC.N2,   KC.N3,  KC.N4,   KC.N5,   KC.N6,   KC.N7, KC.N8, KC.N9, KC.N0, KC.LBRC, KC.RBRC, KC.BSPC,
        KC.LEAD, KC.QUOT, KC.COMM, KC.DOT, KC.P,    KC.Y,    KC.F,    KC.G,  KC.C,  KC.R,  KC.L,  KC.SLSH, KC.EQL,  KC.BSLS,
        KC.TAB,  KC.A,    KC.O,    KC.E,   KC.U,    KC.I,    KC.D,    KC.H,  KC.T,  KC.N,  KC.S,  KC.MINS, KC.ENT,
        KC.LSFT, KC.SCLN, KC.Q,    KC.J,   KC.K,    KC.X,    KC.B,    KC.M,  KC.W,  KC.V,  KC.Z,  KC.RSFT,
        KC.LCTL, KC.LGUI, KC.LALT,           SPC,              KC.LEFT, KC.DOWN, KC.UP,   KC.RIGHT,
Beispiel #10
0
from kb import KMKKeyboard, rgb_pixel_pin

from kmk.extensions.ble_split import BLE_Split
from kmk.extensions.layers import Layers
from kmk.extensions.rgb import RGB
from kmk.keys import KC

keyboard = KMKKeyboard()

# Cleaner key names
_______ = KC.TRNS
XXXXXXX = KC.NO

LOWER = KC.MO(1)
RAISE = KC.MO(2)
ADJUST = KC.LT(3, KC.SPC)

RGB_TOG = KC.RGB_TOG
RGB_HUI = KC.RGB_HUI
RGB_HUD = KC.RGB_HUI
RGB_SAI = KC.RGB_SAI
RGB_SAD = KC.RGB_SAD
RGB_VAI = KC.RGB_VAI
RGB_VAD = KC.RGB_VAD

# Adding extensions
rgb = RGB(pixel_pin=rgb_pixel_pin,
          num_pixels=27,
          val_limit=100,
          hue_default=190,
          sat_default=100,
Beispiel #11
0
     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.ESC,
     KC.MT(KC.Z, KC.LCTRL),
     KC.MT(KC.X, KC.LALT),
     KC.LT(3, KC.C),
     KC.LT(4, KC.V),
     KC.LT(2, KC.BSPC),
     KC.LT(1, KC.SPC),
     KC.LT(5, KC.B),
     KC.MT(KC.N, KC.RALT),
     KC.MT(KC.M, KC.RCTRL),
     KC.MT(KC.ENT, KC.RSFT),
 ],
 [
     KC.N1,
     KC.N2,
     KC.N3,
     KC.N4,
     KC.N5,
     KC.N6,
Beispiel #12
0
    'f': emoticons.F,
    'meh': emoticons.MEH,
    'yay': emoticons.YAY,
}

WPM = send_string('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Bibendum arcu vitae elementum curabitur vitae nunc sed. Facilisis sed odio morbi quis.')

# ---------------------- Keymap ---------------------------------------------------------

keyboard.keymap = [
    [
        # default
        KC.GESC, KC.QUOTE, KC.COMMA, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BKSP,
        KC.TAB, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.ENT,
        KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.SLSH,
        KC.LCTRL, KC.LGUI, KC.LALT, KC.LEAD, KC.MO(2), KC.LT(3, KC.SPC), KC.LT(3, KC.SPC), KC.MO(4), KC.LEFT, KC.DOWN, KC.UP, KC.RIGHT,
    ],
    [
        # Gaming
        KC.TAB, KC.QUOT, KC.COMM, KC.DOT, KC.P, KC.Y, KC.F, KC.G, KC.C, KC.R, KC.L, KC.BKSP,
        KC.ESC, KC.A, KC.O, KC.E, KC.U, KC.I, KC.D, KC.H, KC.T, KC.N, KC.S, KC.ENT,
        KC.LSFT, KC.SCLN, KC.Q, KC.J, KC.K, KC.X, KC.B, KC.M, KC.W, KC.V, KC.Z, KC.SLSH,
        KC.LCTRL, KC.LGUI, KC.LALT, KC.F1, KC.F2, KC.SPC, KC.SPC, KC.MO(4), KC.LEFT, KC.DOWN, KC.UP, KC.RIGHT,
    ],
    [
        # Raise1
        KC.TILD, KC.EXLM, KC.AT, KC.HASH, KC.DLR, KC.PERC, KC.CIRC, KC.AMPR, KC.ASTR, KC.LPRN, KC.RPRN, KC.DEL,
        KC.TRNS, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.LBRC, KC.RBRC, KC.BSLS,
        KC.TRNS, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.NO, KC.INS, KC.PGDN, KC.PGUP, KC.MINS,
        KC.RESET, KC.TRNS, KC.TRNS, KC.TRNS, KC.TRNS, KC.NO, KC.NO, KC.EQL, KC.HOME, KC.VOLD, KC.VOLU, KC.END,
    ],
Beispiel #13
0
# ---------------------- Leader Key Macros --------------------------------------------

keyboard.leader_dictionary = {
    'flip': emoticons.ANGRY_TABLE_FLIP,
    'cheer': emoticons.CHEER,
    'wat': emoticons.WAT,
    'ff': emoticons.FF,
    'f': emoticons.F,
    'meh': emoticons.MEH,
    'yay': emoticons.YAY,
    'gw': KC.DF(1),
}

_______ = KC.TRNS
XXXXXXX = KC.NO
LT3_SP = KC.LT(3, KC.SPC)
SHFT_INS = KC.LSHIFT(KC.INS)

df = 0
gw = 1
r1 = 2
r2 = 3
r3 = 4
# ---------------------- Keymap ---------------------------------------------------------

keyboard.keymap = [
    [
        # df
        [
            KC.GESC, KC.N1, KC.N2, KC.N3, KC.N4, KC.N5, KC.N6, KC.N7, KC.N8,
            KC.N9, KC.N0, KC.DEL