Некорректно работает клавиатура [РЕШЕНО]

4.10.6-1-ARCH x86_64. На клавиатуре Qumo dragon war axe не работают клавиши alt, ctrl и super - при нажатии этих клавиш жмется левый shift. Скан коды этих клавиш также соответствуют левому shift.
Вывод lsusb (клавиатура определяется как Sigma Micro):
lsusb
Bus 002 Device 005: ID 1bcf:0005 Sunplus Innovation Technology Inc. Optical Mouse
Bus 002 Device 055: ID 1c4f:0056 SiGma Micro
Bus 002 Device 056: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0ac8:c40a Z-Star Microelectronics Corp.
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Вывод dmesg:
[61633.365648] usb 2-1.4: new low-speed USB device number 58 using ehci-pci
[61633.476403] input: SIGMACH1P USB Keyboard as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/0003:1C4F:0056.0094/input/input161
[61633.532592] hid-generic 0003:1C4F:0056.0094: input,hidraw1: USB HID v1.10 Keyboard [SIGMACH1P USB Keyboard] on usb-0000:00:1d.0-1.4/input0
[61633.541288] input: SIGMACH1P USB Keyboard as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.1/0003:1C4F:0056.0095/input/input162
[61633.595876] hid-generic 0003:1C4F:0056.0095: input,hidraw2: USB HID v1.10 Keyboard [SIGMACH1P USB Keyboard] on usb-0000:00:1d.0-1.4/input1

Пытался адаптировать под свою клавиатуру драйвер https://bitbucket.org/Swoogan/aziokbd, но не преуспел. После всех попыток адаптировать драйвер dmesg выводит:
[65755.594616] usb 2-1.4: can't resubmit intr, 0000:00:1d.0-1.4/input0, status -19
[65755.670136] aziokbd: usb_submit_urb(leds) failed
[65755.753461] aziokbd: usb_submit_urb(leds) failed
[65756.303442] usb 2-1.4: new low-speed USB device number 77 using ehci-pci
[65756.406713] <1>aziokbd: detected SIGMACH1P USB Keyboard
[65756.406803] input: SIGMACH1P USB Keyboard as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.0/input/input234
[65756.407160] <1>aziokbd: detected SIGMACH1P USB Keyboard
[65756.407225] input: SIGMACH1P USB Keyboard as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4/2-1.4:1.1/input/input235

Как можно адаптировать этот драйвер под свою клавиатуру? Или подскажите пожалуйста драйвера на sigmachip клавиатуру.
Заранее спасибо!
SniK140
Скан коды этих клавиш также соответствуют левому shift
Клавиатура геймерская, не стандартная .............. интересно посмотреть на эти сканкоды .........
А лучше посмотреть выводы showkey -s, showkey -k, showkey, evtest

PS ... забыл отметить - сразу после определения сканкодов необходимо посмотреть сообщения dmsg/journalctl на предмет ошибок
Ошибки не исчезают с опытом - они просто умнеют
showkey -s (alt super и ctrl):
press any key (program terminates 10s after last keypress)...
0x9c
0x2a
0xaa
0x2a 0xaa
0x2a 0xaa
0x2a 0xaa

showkey -k:
press any key (program terminates 10s after last keypress)...
keycode 28 release
keycode 42 press
keycode 42 release
keycode 42 press
keycode 42 release
keycode 42 press
keycode 42 release

showkey:
press any key (program terminates 10s after last keypress)...
keycode 28 release
keycode 42 press
keycode 42 release
keycode 42 press
keycode 42 release
keycode 42 press
keycode 42 release

evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Power Button
/dev/input/event1: Power Button
/dev/input/event2: USB Optical Mouse
/dev/input/event3: SIGMACH1P USB Keyboard
/dev/input/event4: SIGMACH1P USB Keyboard
/dev/input/event5: USB Keyboard
/dev/input/event6: USB Keyboard
/dev/input/event7: PC Speaker
/dev/input/event8: HDA Digital PCBeep
/dev/input/event9: HDA Intel PCH Rear Mic
/dev/input/event10: HDA Intel PCH Front Mic
/dev/input/event11: HDA Intel PCH Line
/dev/input/event12: HDA Intel PCH Line Out
/dev/input/event13: HDA NVidia HDMI/DP,pcm=3
/dev/input/event14: HDA NVidia HDMI/DP,pcm=7
/dev/input/event15: A4 TECH USB2.0 PC Camera J
Клава определяется как SIGMACH1P USB Keyboard
в dmesg и в journalctl чисто
И действительно, сканкоды и кейкоды соответствую клавише Shift … а я не верил, но погуглил … и выяснил, ты не одинок в этом
Но только я не понял, почему именно aziokbd ….. насколько я понял этот драйвер не имеет отношения к твоей клавиатуре ….. он имеет отношение к SONiX USB Keyboard 0c45:7603 …. (в приведенном там списке то же нет твоего типа клавиатуры)
Так почему был выбран именно этот драйвер? … кто то посоветовал? ...
Но если все-таки желаешь собрать, то почитай этот топик , где обсуждают сборку этого модуля (там есть ссылки и на другие топики)

UPD …. В части применения evtest - с его помощью тоже можно посмотреть и сканкод и кейкод …...... но, думаю, нет смысла — покажет тоже самое …
PS …. еще несколько непоняток - в выводе устройств (evtest) — видно два типа клавиатуры (и почему то некоторые устройства дублируются - вижу такое впервые …..... а может я просто не обращал внимания ... ??? ...... если знаешь, проясни)
/dev/input/event3: SIGMACH1P USB Keyboard
/dev/input/event4: SIGMACH1P USB Keyboard
/dev/input/event5: USB Keyboard
/dev/input/event6: USB Keyboard
И еще вопрос — в блэклист другой модуль заносил? .... не нужно ... вроде написано, что install.sh это все сделает автоматом и в ручную ничего делать не нужно ........ но что то в это автоматом верится с трудом
Ошибки не исчезают с опытом - они просто умнеют
почему aziokbd? где-то вычитал, что смогли на этом драйвере завести эту клавиатуру. В евтест две клавы - потому что пришлось подключить вторую, чтобы хоть как то терминалом пользоваться. После модернизации драйвера aziokbd вносил ид своего устройства в quirks usbhid.conf. клава перестала работать, вываливались ошибки при работе с led индикацией.
А на собранный драйвер не ругается , если его выгрузить и загрузить по новой, но с опцией -v
И просмотри внимательнее инфу о клаве в выводе lsusb -vv
Ошибки не исчезают с опытом - они просто умнеют
# modprobe aziokbd -v
insmod /lib/modules/4.10.6-1-ARCH/kernel/drivers/input/keyboard/aziokbd.ko
# dmeg
[158827.779600] usb 2-1.3: new low-speed USB device number 111 using ehci-pci
[158827.883968] <1>aziokbd: detected SIGMACH1P USB Keyboard
[158827.884048] input: SIGMACH1P USB Keyboard as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/input/input341
[158827.884394] <1>aziokbd: detected SIGMACH1P USB Keyboard
[158827.884451] input: SIGMACH1P USB Keyboard as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.1/input/input342
И работает только управление мультимедиа.
Никогда с таким не сталкивался ...... а потому даже и посоветовать нечего ......
Все эти навороченные устройства подгоняют под винду, где они нормально работают ... в Linux же с такими устройствами всегда имеются проблемы пока кто-нибудь из спецов сам лично не столкнется с этим и не напишет для себя драйвер или патч или что другое ...
Гуглил - проблема такая имеется, но решения или патча не встречал ...... Главное впервые узнал, что сканкоды у нескольких клавиш могут быть одинаковы, а минус в том, что сканкод изменить нельзя, в отличие от кейкода ....
UPD .... еще раз убеждаюсь, что приобретая что то экзотическое для Linux, необходимо проверять ...
Ошибки не исчезают с опытом - они просто умнеют
Случилось что-то не совсем понятное. Удалил aziokbd, поставил пакет usbdump, чтобы перехватить нажатия клавиш wireshark'ом. Для удобства сравнения подключил обе клавиатуры, открыл два окна wiresharka, перехватил данные и начал сверять - данные с клавиатур совпадали. Оказалось - после включения wiresharka клавиатура чудесным образом начинает работать правильно. После отключения стандартной клавиатуры и закрытия wireshark клавиатура работает.

Согласен, насчет экзотических клавиатур.
SniK140
Удалил aziokbd
А не в этом ли причина, случаем? :)
 
Зарегистрироваться или войдите чтобы оставить сообщение.