convert 'setup_physical_config' to abstract method, add 'hardware' sub-module and move 'setup_physical_config' definition to dedicated hardware implementations
This commit is contained in:
parent
c48b536d61
commit
0d062cfad1
0
ardux/hardware/__init__.py
Normal file
0
ardux/hardware/__init__.py
Normal file
10
ardux/hardware/thepaintbrush.py
Normal file
10
ardux/hardware/thepaintbrush.py
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
from ardux.kb import _ArduxKeyboard
|
||||||
|
from kmk.scanners.keypad import KeysScanner
|
||||||
|
from kmk.quickpin.pro_micro.kb2040 import pinout as pins
|
||||||
|
|
||||||
|
# ThePaintbrush Implementation
|
||||||
|
class ThePaintbrushArduxKeyboard(_ArduxKeyboard):
|
||||||
|
def setup_physical_config(self):
|
||||||
|
# Direct wire & matrix setup
|
||||||
|
self.matrix = KeysScanner([pins[16], pins[17], pins[18], pins[19], pins[12], pins[13], pins[14], pins[15]])
|
||||||
|
|
15
ardux/kb.py
15
ardux/kb.py
|
@ -2,13 +2,9 @@
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import board
|
import board
|
||||||
from kmk.quickpin.pro_micro.kb2040 import pinout as pins
|
|
||||||
|
|
||||||
from kmk.kmk_keyboard import KMKKeyboard
|
from kmk.kmk_keyboard import KMKKeyboard
|
||||||
from kmk.scanners.keypad import KeysScanner
|
|
||||||
|
|
||||||
from kmk.keys import KC
|
from kmk.keys import KC
|
||||||
from ardux.chord import ArduxChord
|
from ardux.chord import ArduxChord # FIXME: Need to fix ArduxChord / sort layer filters for combos
|
||||||
|
|
||||||
from kmk.modules.layers import Layers
|
from kmk.modules.layers import Layers
|
||||||
from kmk.modules.combos import Combos, Chord
|
from kmk.modules.combos import Combos, Chord
|
||||||
|
@ -26,7 +22,7 @@ LAYER_ID_SYMBOLS = 4
|
||||||
LAYER_ID_CUSTOM = 5
|
LAYER_ID_CUSTOM = 5
|
||||||
LAYER_ID_MOUSE = 6
|
LAYER_ID_MOUSE = 6
|
||||||
|
|
||||||
class ArduxKeyboard(KMKKeyboard):
|
class _ArduxKeyboard(KMKKeyboard):
|
||||||
coord_mapping = [
|
coord_mapping = [
|
||||||
0, 1, 2, 3,
|
0, 1, 2, 3,
|
||||||
4, 5, 6, 7,
|
4, 5, 6, 7,
|
||||||
|
@ -34,9 +30,10 @@ class ArduxKeyboard(KMKKeyboard):
|
||||||
|
|
||||||
keymap = []
|
keymap = []
|
||||||
|
|
||||||
|
# Switch to ABC python3 stl abstract class methods
|
||||||
|
# See https://stackoverflow.com/a/4382964 for detail (the accepted answer)
|
||||||
def setup_physical_config(self):
|
def setup_physical_config(self):
|
||||||
# Direct wire & matrix setup
|
raise NotImplementedError('Please define the physical config for your keyboard')
|
||||||
self.matrix = KeysScanner([pins[16], pins[17], pins[18], pins[19], pins[12], pins[13], pins[14], pins[15]])
|
|
||||||
|
|
||||||
# Init / constructor / setup
|
# Init / constructor / setup
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@ -190,5 +187,3 @@ class ArduxKeyboard(KMKKeyboard):
|
||||||
#####
|
#####
|
||||||
# std - mouse
|
# std - mouse
|
||||||
self.combo_module.combos.append(Chord((KC.MB_RMB, KC.MS_DN, KC.MB_LMB), KC.TO(LAYER_ID_BASE)))
|
self.combo_module.combos.append(Chord((KC.MB_RMB, KC.MS_DN, KC.MB_LMB), KC.TO(LAYER_ID_BASE)))
|
||||||
|
|
||||||
|
|
||||||
|
|
4
main.py
4
main.py
|
@ -3,8 +3,8 @@ import os
|
||||||
|
|
||||||
#####
|
#####
|
||||||
# Main keyboard object
|
# Main keyboard object
|
||||||
from ardux.kb import ArduxKeyboard
|
from ardux.hardware.thepaintbrush import ThePaintbrushArduxKeyboard
|
||||||
ardux_keyboard = ArduxKeyboard()
|
ardux_keyboard = ThePaintbrushArduxKeyboard()
|
||||||
|
|
||||||
#####
|
#####
|
||||||
# NeoPixel on kb2040 (tune accordingly / remove if different mcu)
|
# NeoPixel on kb2040 (tune accordingly / remove if different mcu)
|
||||||
|
|
Loading…
Reference in a new issue