netch80: (Default)
netch80 ([personal profile] netch80) wrote2021-10-27 11:19 pm

(no subject)

Электроника местами настолько загадочная вещь, что хочется докопаться до причин именно потому, что не понимаешь, как такое могли получить. Вот есть банальная десктопная клава Sven 301 с USB интерфейсом. Цепляюсь через usbhid-dump и наблюдаю реакцию. Если одновременно придавить qwer и yuio, например, то через секунду оно начинает жаловаться на rollover error (далее ROE). А если qwer и uiop - не жалуется. Почему, чёрт возьми? Что за злобные дизайнерские изыски в столь банальном устройстве, зачем? Что виновато - хард или софт? И зачем оно ждёт секунду?

Если зажать sdf, то: wertgxcvb - любая из этих добавленная к sdf вызывает ROE. А вот a,q,z - не вызывают. Только не говорите, что проводки так идут:) wasd одновременно вызывают ROE. Явно не геймерское устройство:) А вот asdf - нет. Любая из dfg, fgh, ghj, hjk - да. jkl - нет. Чо?

(Ну да, мне было откровенно нечего делать. Но...)

UPD: секунду, а не полсекунды. Добавил второй абзац.

UPD2: Клавиша \| имеет код 0x2b в Set 1 и 0x5d в Set 2, единообразно. Но в USB это 0x31 на клавах где она в D13 (ANSI) и E13 (JIS), но 0x32 на ISO (позиция C12). Л - логика.
(Согласно HID tables это таки в USB две разных клавиши: Keyboard \ and |, и Keyboard Non-US # and ~. Но зачем, если они одновременно не встречаются?)
ircicq: (Default)

[personal profile] ircicq 2021-10-28 02:24 am (UTC)(link)
Про пол-секунды логично.
Кратковременное нажатие нескольких клавиш - нормальный режим работы.
А если долго - на клаву лёг кот

(Anonymous) 2022-06-27 05:09 pm (UTC)(link)
"Что виновато - хард" =*)