Make CPs keypad.KeyMatrix scanner the default.
This commit is contained in:
		@@ -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)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user