Make CPs keypad.KeyMatrix scanner the default.

This commit is contained in:
xs5871 2022-04-09 19:34:06 +00:00 committed by Kyle Brown
parent c880c02ad5
commit 8ac497d99b
3 changed files with 16 additions and 23 deletions

View File

@ -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:

View File

@ -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):
'''

View File

@ -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)