Клавиши CTRL и ALT по какой-то причине сопоставлены с Shift
Я установил Ubuntu 14.04, и мне это нравится. Однако, играя в игру под названием Garry's Mod, я заметил, что обе мои клавиши CTRL и ALT на проводной клавиатуре были обнаружены как Shift. Я посмотрел на раскладку клавиатуры и подтвердил это. Я также заметил, что мои Windows или Super Key, правый CTRL и правый ALT отображаются на левую клавишу Shift.
Они все работают отлично, их просто неправильно обнаруживают. Я выбрал раскладку Соединенных Штатов, которая должна быть моей клавиатурой в Windows. Кто-нибудь может помочь? Моя клавиатура определяется как USB-клавиатура SONiX (фактическая марка клавиатуры - Avazz).
мой
xev -event keyboard
вывод это для каждого:KeyRelease event, serial 28, synthetic NO, window 0x4a00001, root 0xdc, subw 0x0, time 2446369, (730,547), root:(795,599), state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False
Единственное, что меняется, это время.
sudo evtest
Команда показывает все клавиши-модификаторы какtype 4 (EV_MSC), code 4 (MSC_SCAN), value 700e1v type 1 (EV_KEY), code 42 (KEY_LEFTSHIFT), value 0
за
lsusb
драйвер, который он используетusbhid
Водитель.lsusb
показывает что-то непонятное; тот же порт, что моя клавиатура отображается в других командах, отображается вlsusb
как драйвер моей беспроводной мыши,Logitech, Inc. Unifying Receiver
, Это может быть проблемой, но я, вероятно, просто ошибаюсь, в каком порту он включен. Из-за этого я не уверен, какой драйвер какой. Я собираюсь опубликовать все из них, хотя это может быть раздражающим. У меня есть отдельная клавиатура, подключенная вдоль моей основной, чтобы использовать CTRL, Super или ALT, кстати, так что не смущайтесь с драйвером клавиатуры Logitech Classic.Bus 001 Device 009: ID 0bda:8172 Realtek Semiconductor Corp. RTL8191SU 802.11n WLAN Adapter Bus 001 Device 008: ID 046d:c315 Logitech, Inc. Classic Keyboard 200 Bus 001 Device 007: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB Bus 001 Device 006: ID 0480:0200 Toshiba America Info. Systems, Inc. Bus 001 Device 004: ID 0c45:6340 Microdia Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 004: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller Bus 002 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver Bus 002 Device 002: ID 0c45:7603 Microdia Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
За
lsusb -t
используемый драйверusbhid
,for i in $(ls /sys/module/usbhid/parameters/); do echo -ne "$i\t"; more /sys/module/usbhid/parameters/$i; done
является:ignoreled 0 mousepoll 0 quirks (null),(null),(null),(null)
Я не думаю, что вам это нужно, так как я сказал, что это
usbhid
но вот оно все равно.for i in $(ls /sys/module/hid/parameters/); do echo -ne "$i\t"; more /sys/module/hid/parameters/$i; done
выходной.отладка 0 ignore_special_drivers 0
modinfo usbhid
вывод:filename: /lib/modules/3.18.3-031803-generic/kernel/drivers/hid/usbhid/usbhid.ko license: GPL description: USB HID core driver author: Jiri Kosina author: Vojtech Pavlik author: Andreas Gal srcversion: A395FA22EA2729BAC1557C9 alias: usb:v*p*d*dc*dsc*dp*ic03isc*ip*in* depends: hid intree: Y vermagic: 3.18.3-031803-generic SMP mod_unload modversions signer: Magrathea: Glacier signing key sig_key: 29:DB:FD:FC:5A:CC:82:3C:C5:2C:39:4C:C1:C7:4C:01:C3:BE:BF:78 sig_hashalgo: sha512 parm: mousepoll:Polling interval of mice (uint) parm: ignoreled:Autosuspend with active leds (uint) parm: quirks:Add/modify USB HID quirks by specifying quirks=vendorID:productID:quirks where vendorID, productID, and quirks are all in 0x-prefixed hex (array of charp)
cat /sys/kernel/debug/usb/usbmon/2u > /tmp/usb.mon.out
говорит мне, что не найден, хотя я изменился2
на мой автобус ID. Что я здесь не так делаю? Уточни, если можешь, вроде как запутался там. Я пытался положить2
,02
а также002
, Выход изsudo ls /sys/kernel/debug/usb/usbmon/
является0s 0u 1s 1t 1u 2s 2t 2u
2 ответа
Моя клавиатура - Perixx P1800. Это такая же идентификация lsusb (0c45:7603 Microdia). Судя по всему, она использует ту же плату, что и клавиатура azio L70.
Драйвер linux для клавиатуры был сделан вручную и доступен по этому адресу.
На Debian он работает очень хорошо для меня (после update-initramfs
) за исключением одной клавиши, близкой к Enter (* на клавиатуре Azerty * клавиатура работает хорошо).
У меня тоже была эта пробема. Я мучился с этим месяцами, но потом попытался найти способ решить его.
Вот водитель; хотя моя клавиатура не той марки, она работала отлично. Надеюсь, это тоже решит твою проблему. Драйвер и инструкция ЗДЕСЬ:
https://bitbucket.org/Swoogan/aziokbd
PD: я не писал драйвер, я просто нашел его.
Отредактированный после предложений #GrammarNazy xD