evdev ButtonMapping логи в порядке, но не имеет никакого эффекта

Команда Ignore работает, но не ButtonMapping.

Я создал файл /usr/share/X11/xorg.conf.d/39-myinput.com:

Section "InputClass"
        Identifier "Apple MagicKeyboard"
        MatchIsKeyboard "on"
        MatchProduct "Magic Keyboard"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "Ignore" "off"
        Option "ButtonMapping" "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0"
EndSection

На данный момент я просто тестирую ButtonMapping, но, похоже, это не дает никакого эффекта. Можете ли вы указать мне правильное направление?

я использовал evtest определить, что ключи 16 и 17 являются Q и W:

Event: time 1512268567.675999, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70014
Event: time 1512268567.675999, type 1 (EV_KEY), code 16 (KEY_Q), value 0
Event: time 1512268567.675999, -------------- SYN_REPORT ------------
Event: time 1512268568.531055, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7001a
Event: time 1512268568.531055, type 1 (EV_KEY), code 17 (KEY_W), value 1
Event: time 1512268568.531055, -------------- SYN_REPORT ------------

... и я установил их 0 в моем KeyMapping строка, чтобы отключить их, но я не нахожу их отключенными после перезапуска X. Если я изменю Ignore директива к on вместо offТем не менее, я обнаружил, что вся моя MagicKeyboard отключена (хотя моя другая подключенная клавиатура все еще действует).

мой xorg.conf.d Каталог содержит следующее:

10-amdgpu.conf
10-evdev.conf
10-quirks.conf
10-radeon.conf
11-evdev-quirks.conf
11-evdev-trackpoint.conf
39-myinput.conf
40-libinput.conf
51-synaptics-quirks.conf
70-synaptics.conf
70-wacom.conf

мой /var/log/X.log.0 содержит следующее:

[196248.970] (II) config/udev: Adding input device Magic Keyboard (/dev/input/event20)
[196248.970] (**) Magic Keyboard: Applying InputClass "Apple MagicKeyboard"
[196248.970] (**) Magic Keyboard: Applying InputClass "evdev keyboard catchall"
[196248.970] (**) Magic Keyboard: Applying InputClass "libinput keyboard catchall"
[196248.970] (**) Magic Keyboard: Applying InputClass "Apple MagicKeyboard"
[196248.970] (**) Magic Keyboard: Applying InputClass "Apple MagicKeyboard"
[196248.971] (II) Using input driver 'evdev' for 'Magic Keyboard'
[196248.971] (**) Magic Keyboard: always reports core events
[196248.971] (**) evdev: Magic Keyboard: Device: "/dev/input/event20"
[196248.971] (**) evdev: Magic Keyboard: ButtonMapping '1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0'
[196248.971] (--) evdev: Magic Keyboard: Vendor 0x4c Product 0x267
[196248.971] (--) evdev: Magic Keyboard: Found 3 mouse buttons
[196248.971] (--) evdev: Magic Keyboard: Found absolute axes
[196248.971] (II) evdev: Magic Keyboard: Forcing absolute x/y axes to exist.
[196248.971] (--) evdev: Magic Keyboard: Found keys
[196248.971] (II) evdev: Magic Keyboard: Forcing relative x/y axes to exist.
[196248.971] (II) evdev: Magic Keyboard: Configuring as mouse
[196248.971] (II) evdev: Magic Keyboard: Configuring as keyboard
[196248.971] (**) evdev: Magic Keyboard: YAxisMapping: buttons 4 and 5
[196248.971] (**) evdev: Magic Keyboard: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[196248.971] (II) XINPUT: Adding extended input device "Magic Keyboard" (type: KEYBOARD, id 12)
[196248.972] (II) evdev: Magic Keyboard: initialized for absolute axes.
[196248.972] (**) Magic Keyboard: (accel) keeping acceleration scheme 1
[196248.972] (**) Magic Keyboard: (accel) acceleration profile 0
[196248.972] (**) Magic Keyboard: (accel) acceleration factor: 2.000
[196248.972] (**) Magic Keyboard: (accel) acceleration threshold: 4

Я использую Ubuntu 17.04.

1 ответ

Решение

ButtonMapping - это функция указателя (для мышей), но у вас есть набор MatchIsKeyboard, который означает, что вы пытаетесь применить его к клавиатуре. Клавиатуры не имеют кнопок. Вы можете проверить это с помощью:

xinput list

а потом

xinput get-button-map <id-of-your-device>

Вы, вероятно, в любом случае не хотите использовать функции evdev для этого, вы хотите изменить раскладку клавиатуры, это звучит так.

Другие вопросы по тегам