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