USB startup wait loop delays UHS2 Task() starting for a while
like 200-600ms and USB suspend loop blocks the Task() while power
saving like 15-17ms. These loops may cause keyboard enumeration
failure, perhaps. Not confirmed it yet though.
Device classes are registered to array of config driver pool and
tried in that order until proper class is found in configuration process.
If tried driver cannot handle device, bus reset is issued to the device.
according to the code:
static uint8_t matrix[MATRIX_ROWS];
#define ROW(code) (code>>3)
#define COL(code) (code&0x07)
in converter/terminal_usb/matrix.c
ROW is decided by bits 7-4 of scancode
COL is decided by bits 2-0 of scancode
according to the code:
static uint8_t matrix[MATRIX_ROWS];
#define ROW(code) (code>>3)
#define COL(code) (code&0x07)
in converter/ps2_usb/matrix.c
ROW is decided by bits 7~4 of scancode
COL is decided by bits 2~0 of scancode
- Change keyboard_init() timing and matrix_scan() is called in USB
startup wait loop for FC660C
- FC660C startup seems to be faster and it doesn't work without this fix
when plugin the keyboard and converter at same time
- This bug occurs when sending LED out report before keyboard becomes ready
- Ckecking with isReady() before using SetReport() solves this
- Slow startup keyboard like TMK trrigers this bug and Linux shows following error just after plugin converter
usb 3-1: device descriptor read/64, error -62