Compare commits

..

No commits in common. "850f982c1eab7145fb619f8ab311143083ee24db" and "dc81063300e0ebccea586eb590fbb5c16f2fdcd0" have entirely different histories.

2 changed files with 7 additions and 4 deletions

View File

@ -190,7 +190,12 @@ static uint8_t read_input(CardputerKeyboardInternal* internal) {
return mask; return mask;
} }
// Scans the full matrix and resolves it to a Unicode codepoint // Scans the full matrix and resolves it to a single key (Unicode codepoint, 0 if none - never an
// LV_KEY_* constant, see KeyboardKeyData::key's contract), applying priority: enter > space >
// backspace > tab (U+21E5 tab-to-bar, or U+21E4 with shift - the closest standard Unicode symbol
// for focus navigation) > first regular character found in scan order, with fn changing the
// interpretation of backspace/enter/punctuation. Modifier keys (fn/shift/ctrl/opt/alt) are never
// reported themselves.
static uint32_t scan_key(CardputerKeyboardInternal* internal) { static uint32_t scan_key(CardputerKeyboardInternal* internal) {
bool fn = false, shift = false, ctrl = false; bool fn = false, shift = false, ctrl = false;
bool del_flag = false; bool del_flag = false;

View File

@ -167,9 +167,7 @@ static error_t claim(struct Device* device, enum UsbDeviceClass usb_class, const
return ERROR_INVALID_STATE; return ERROR_INVALID_STATE;
} }
// MSC is deliberately excluded from CDC compositing as it doesn't work on Tab5/P4 devices. const bool cdc_enabled = is_cdc_enabled(device);
// It could be re-enabled for other architectures after more extensive future testing.
const bool cdc_enabled = usb_class != USB_DEVICE_CLASS_MSC && is_cdc_enabled(device);
// ---- String table: primary's table, plus CDC's own interface string appended last. // ---- String table: primary's table, plus CDC's own interface string appended last.
size_t string_count = config->string_descriptor_count; size_t string_count = config->string_descriptor_count;