Compare commits

..

2 Commits

Author SHA1 Message Date
Ken Van Hoeylandt
850f982c1e Update comment 2026-08-23 10:21:39 +02:00
Ken Van Hoeylandt
cf549bf14a Fix for CDC on P4/Tab5 2026-08-23 00:10:22 +02:00
2 changed files with 4 additions and 7 deletions

View File

@ -190,12 +190,7 @@ static uint8_t read_input(CardputerKeyboardInternal* internal) {
return mask;
}
// 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.
// Scans the full matrix and resolves it to a Unicode codepoint
static uint32_t scan_key(CardputerKeyboardInternal* internal) {
bool fn = false, shift = false, ctrl = false;
bool del_flag = false;

View File

@ -167,7 +167,9 @@ static error_t claim(struct Device* device, enum UsbDeviceClass usb_class, const
return ERROR_INVALID_STATE;
}
const bool cdc_enabled = is_cdc_enabled(device);
// MSC is deliberately excluded from CDC compositing as it doesn't work on Tab5/P4 devices.
// 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.
size_t string_count = config->string_descriptor_count;