Update Fri Dec 15 06:24:08 AM CST 2023
This commit is contained in:
6
sweep-kmk/README.md
Normal file
6
sweep-kmk/README.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# Ferris Sweep
|
||||
|
||||
The [Ferris Sweep](https://github.com/davidphilipbarr/Sweep) is a split, 34 key keyboard designed by David Philip Barr. It uses a Pro-Micro footprint.
|
||||
|
||||
It's based in turn on the Ferris by Philip Chevalier.
|
||||
The default keymap is based on the [original Ferris default keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ferris/keymaps/default).
|
||||
Binary file not shown.
BIN
sweep-kmk/flash_nuke.uf2
Normal file
BIN
sweep-kmk/flash_nuke.uf2
Normal file
Binary file not shown.
36
sweep-kmk/kb.py
Normal file
36
sweep-kmk/kb.py
Normal file
@@ -0,0 +1,36 @@
|
||||
# Ferris Sweep pinout translated from QMK repo
|
||||
# CreditT: 2018-2020 ENDO Katsuhiro, David Philip Barr, Pierre Chevalier
|
||||
|
||||
import board
|
||||
|
||||
from storage import getmount
|
||||
|
||||
from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard
|
||||
from kmk.quickpin.pro_micro.elite_pi import pinout as pins
|
||||
from kmk.scanners.keypad import KeysScanner
|
||||
|
||||
# GPIO to key mapping - each line is a new row.
|
||||
# fmt: off
|
||||
_KEY_CFG_LEFT = [
|
||||
pins[9], pins[16], pins[17], pins[18], pins[19],
|
||||
pins[15], pins[14], pins[13], pins[12], pins[0],
|
||||
pins[4], pins[5], pins[6], pins[7], pins[8],
|
||||
pins[10], pins[11],
|
||||
]
|
||||
|
||||
|
||||
# fmt: on
|
||||
|
||||
class KMKKeyboard(_KMKKeyboard):
|
||||
def __init__(self):
|
||||
# create and register the scanner
|
||||
self.matrix = KeysScanner(_KEY_CFG_LEFT)
|
||||
|
||||
# flake8: noqa
|
||||
# fmt: off
|
||||
coord_mapping = [
|
||||
0, 1, 2, 3, 4, 21, 20, 19, 18, 17,
|
||||
5, 6, 7, 8, 9, 26, 25, 24, 23, 22,
|
||||
10, 11, 12, 13, 14, 31, 30, 29, 28, 27,
|
||||
15, 16, 33, 32
|
||||
]
|
||||
113
sweep-kmk/main.py
Normal file
113
sweep-kmk/main.py
Normal file
@@ -0,0 +1,113 @@
|
||||
|
||||
import board
|
||||
|
||||
from kb import KMKKeyboard
|
||||
|
||||
from kmk.keys import KC
|
||||
from kmk.modules.layers import Layers
|
||||
from kmk.modules.mouse_keys import MouseKeys
|
||||
from kmk.modules.split import Split, SplitSide
|
||||
from kmk.handlers.sequences import send_string
|
||||
from kmk.modules.tapdance import TapDance
|
||||
from kmk.modules.capsword import CapsWord
|
||||
from kmk.modules.combos import Combos, Chord, Sequence
|
||||
from kmk.modules.autoshift import Autoshift
|
||||
|
||||
keyboard = KMKKeyboard()
|
||||
keyboard.debug_enabled = False
|
||||
|
||||
|
||||
# TODO Comment one of these on each side
|
||||
split_side = SplitSide.LEFT
|
||||
#split_side = SplitSide.RIGHT
|
||||
split = Split(
|
||||
# split_flip=True,
|
||||
data_pin=board.D1,
|
||||
split_side=split_side,
|
||||
split_target_left=False,
|
||||
# Using the default wasn't working, try pio
|
||||
use_pio=True,
|
||||
uart_flip=True,
|
||||
)
|
||||
|
||||
layers = Layers()
|
||||
mouse_key = MouseKeys()
|
||||
tapdance = TapDance()
|
||||
tapdance.tap_time = 750
|
||||
caps_word=CapsWord()
|
||||
combos = Combos()
|
||||
autoshift = Autoshift()
|
||||
|
||||
keyboard.modules = [layers, split, mouse_key, tapdance, caps_word, combos, autoshift]
|
||||
|
||||
# Cleaner key names
|
||||
_______ = KC.TRNS
|
||||
XXXXXXX = KC.NO
|
||||
|
||||
# Tap Dance
|
||||
Q_ESC = KC.TD(
|
||||
# Tap once for "Q"
|
||||
KC.Q,
|
||||
# Tap twice for "ESC"
|
||||
KC.ESC,
|
||||
)
|
||||
|
||||
|
||||
# Layer tap for other home row keys
|
||||
NAV_BKSP = KC.LT(1, KC.BSPC)
|
||||
FUN_TAB = KC.LT(4, KC.TAB)
|
||||
SYM_ENTER = KC.LT(3, KC.ENT)
|
||||
NUM_SPC = KC.LT(2, KC.SPC)
|
||||
|
||||
# Send String
|
||||
M_PASS1 = send_string("T3lg3Ranch!2023")
|
||||
M_PASS2 = send_string("P0plarLake!2023")
|
||||
|
||||
# COMBOS
|
||||
combos.combos = [
|
||||
Chord((KC.F, KC.A), KC.LGUI),
|
||||
Chord((KC.F, KC.S), KC.LALT),
|
||||
Chord((KC.F, KC.D), KC.LCTL),
|
||||
Chord((KC.J, KC.QUOT), KC.RGUI),
|
||||
Chord((KC.J, KC.L), KC.RALT),
|
||||
Chord((KC.J, KC.K), KC.RCTL),
|
||||
Chord((KC.Z, KC.X), KC.LSFT)
|
||||
]
|
||||
|
||||
# fmt: off
|
||||
# flake8: noqa
|
||||
keyboard.keymap = [
|
||||
[ # 0 QWERTY/ BASE
|
||||
Q_ESC, 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.QUOT,
|
||||
KC.Z, KC.X, KC.C, KC.V, KC.B, KC.N, KC.M, KC.COMM, KC.DOT, KC.SLSH,
|
||||
NAV_BKSP, FUN_TAB, SYM_ENTER, NUM_SPC,
|
||||
],
|
||||
[ # 1 NAVIGATION
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, KC.CAPSWORD, KC.LEFT, KC.DOWN, KC.UP, KC.RGHT,
|
||||
_______, _______, _______, M_PASS2, M_PASS1, _______, KC.HOME, KC.PGUP, KC.PGDN, KC.END,
|
||||
_______, _______, _______, _______,
|
||||
],
|
||||
[ # 2 NUMBERS
|
||||
KC.LBRC, KC.N7, KC.N8, KC.N9, KC.RBRC, _______, _______, _______, _______, _______,
|
||||
KC.SCLN, KC.N4, KC.N5, KC.N6, KC.PLUS, _______, _______, _______, _______, _______,
|
||||
KC.DOT, KC.N1, KC.N2, KC.N3, KC.BSLS, _______, _______, _______, _______, _______,
|
||||
KC.N0, KC.MINS, _______, _______,
|
||||
],
|
||||
[ # 3 SYMBOLS
|
||||
KC.LCBR, KC.AMPR, KC.ASTR, KC.LPRN, KC.RCBR, _______, _______, _______, _______, _______,
|
||||
KC.COLN, KC.DLR, KC.PERC, KC.CIRC, KC.PLUS, _______, _______, _______, _______, _______,
|
||||
KC.TILD, KC.EXLM, KC.AT, KC.HASH, KC.PIPE, _______, _______, _______, _______, _______,
|
||||
KC.RPRN, KC.UNDS, _______, _______,
|
||||
],
|
||||
[ # 4 FUNCTION
|
||||
_______, _______, _______, _______, _______, _______, KC.F7, KC.F8, KC.F9, KC.F10,
|
||||
_______, _______, _______, _______, _______, _______, KC.F4, KC.F5, KC.F6, KC.F11,
|
||||
_______, _______, _______, _______, _______, _______, KC.F1, KC.F2, KC.F3, KC.F12,
|
||||
_______, _______, _______, _______,
|
||||
],
|
||||
]
|
||||
|
||||
if __name__ == "__main__":
|
||||
keyboard.go()
|
||||
Reference in New Issue
Block a user