Make CPs keypad.KeyMatrix scanner the default.
This commit is contained in:
parent
c880c02ad5
commit
8ac497d99b
@ -4,8 +4,7 @@ from kmk.consts import KMK_RELEASE, UnicodeMode
|
||||
from kmk.hid import BLEHID, USBHID, AbstractHID, HIDModes
|
||||
from kmk.keys import KC
|
||||
from kmk.kmktime import ticks_add, ticks_diff
|
||||
from kmk.scanners import intify_coordinate
|
||||
from kmk.scanners.digitalio_matrix import MatrixScanner
|
||||
from kmk.scanners.native_keypad_scanner import keypad_matrix
|
||||
|
||||
|
||||
class Sandbox:
|
||||
@ -26,7 +25,6 @@ class KMKKeyboard:
|
||||
col_pins = None
|
||||
diode_orientation = None
|
||||
matrix = None
|
||||
matrix_scanner = MatrixScanner
|
||||
uart_buffer = []
|
||||
|
||||
unicode_mode = UnicodeMode.NOOP
|
||||
@ -74,7 +72,7 @@ class KMKKeyboard:
|
||||
'KMKKeyboard('
|
||||
'debug_enabled={} '
|
||||
'diode_orientation={} '
|
||||
'matrix_scanner={} '
|
||||
'matrix={} '
|
||||
'unicode_mode={} '
|
||||
'_hid_helper={} '
|
||||
'keys_pressed={} '
|
||||
@ -86,7 +84,7 @@ class KMKKeyboard:
|
||||
).format(
|
||||
self.debug_enabled,
|
||||
self.diode_orientation,
|
||||
self.matrix_scanner,
|
||||
self.matrix,
|
||||
self.unicode_mode,
|
||||
self._hid_helper,
|
||||
# internal state
|
||||
@ -291,16 +289,9 @@ class KMKKeyboard:
|
||||
return
|
||||
|
||||
if not self.coord_mapping:
|
||||
self.coord_mapping = []
|
||||
|
||||
rows_to_calc = len(self.row_pins)
|
||||
cols_to_calc = len(self.col_pins)
|
||||
|
||||
for ridx in range(rows_to_calc):
|
||||
for cidx in range(cols_to_calc):
|
||||
self.coord_mapping.append(
|
||||
intify_coordinate(ridx, cidx, cols_to_calc)
|
||||
)
|
||||
self.coord_mapping = list(range(cols_to_calc * rows_to_calc))
|
||||
|
||||
def _init_hid(self):
|
||||
if self.hid_type == HIDModes.NOOP:
|
||||
@ -317,14 +308,11 @@ class KMKKeyboard:
|
||||
def _init_matrix(self):
|
||||
if self.matrix is None:
|
||||
if self.debug_enabled:
|
||||
print('Initialising matrix scanner from self.matrix_scanner')
|
||||
self.matrix = self.matrix_scanner(
|
||||
cols=self.col_pins,
|
||||
rows=self.row_pins,
|
||||
diode_orientation=self.diode_orientation,
|
||||
rollover_cols_every_rows=getattr(
|
||||
self, 'rollover_cols_every_rows', None
|
||||
),
|
||||
print('Initialising default matrix scanner.')
|
||||
self.matrix = keypad_matrix(
|
||||
col_pins=self.col_pins,
|
||||
row_pins=self.row_pins,
|
||||
direction=self.diode_orientation,
|
||||
)
|
||||
else:
|
||||
if self.debug_enabled:
|
||||
|
@ -22,8 +22,7 @@ class Scanner:
|
||||
Base class for scanners.
|
||||
'''
|
||||
|
||||
def __init__(self):
|
||||
self.coord_mapping = None
|
||||
coord_mapping = None
|
||||
|
||||
def scan_for_changes(self):
|
||||
'''
|
||||
|
@ -7,6 +7,7 @@ from kmk.hid import HIDModes
|
||||
from kmk.keys import ModifierKey
|
||||
from kmk.kmk_keyboard import KMKKeyboard
|
||||
from kmk.scanners import DiodeOrientation
|
||||
from kmk.scanners.digitalio_matrix import MatrixScanner
|
||||
|
||||
|
||||
class DigitalInOut(Mock):
|
||||
@ -29,6 +30,11 @@ class KeyboardTest:
|
||||
self.keyboard.col_pins = (DigitalInOut(),)
|
||||
self.keyboard.row_pins = self.pins
|
||||
self.keyboard.diode_orientation = DiodeOrientation.COL2ROW
|
||||
self.keyboard.matrix = MatrixScanner(
|
||||
cols=self.keyboard.col_pins,
|
||||
rows=self.keyboard.row_pins,
|
||||
diode_orientation=self.keyboard.diode_orientation,
|
||||
)
|
||||
self.keyboard.keymap = keymap
|
||||
|
||||
self.keyboard._init(hid_type=HIDModes.NOOP)
|
||||
|
Loading…
x
Reference in New Issue
Block a user