Как включить специальный ключ

У меня есть планшет / экран Wacom Cintiq 24HD с несколькими наборами кнопок. Большинство из них работают нормально [edit: и настраиваются с помощью xsetwacom], но есть один набор кнопок (на самом деле сенсорные кнопки) в верхней части экрана, который не будет полностью регистрироваться в стеке Ubuntu GUI.

Изображение рассматриваемых кнопок

Возьмите крайнюю левую из трех кнопок, одна из которых обозначена I, Если я просто нажму, ничего не произойдет. Если я использую xev, кнопка не запускает никакого выхода (в отличие от рабочих кнопок), но обе sudo showkey а также sudo evtest действительно показывает, что кнопка регистрируется в ядре (я полагаю). Я определил код клавиши как 202:

% sudo evtest /dev/input/event4
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x56a product 0xf4 version 0x110
Input device name: "Wacom Cintiq 24HD Pad"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 148 (KEY_PROG1)
    Event code 149 (KEY_PROG2)
    Event code 202 (KEY_PROG3)
    Event code 256 (BTN_0)
    Event code 257 (BTN_1)
    Event code 258 (BTN_2)
    Event code 259 (BTN_3)
    Event code 260 (BTN_4)
    Event code 261 (BTN_5)
    Event code 262 (BTN_6)
    Event code 263 (BTN_7)
    Event code 264 (BTN_8)
(output trimmed)
Event: time 1477672672.059563, type 1 (EV_KEY), code 202 (KEY_PROG3), value 1
Event: time 1477672672.059563, type 3 (EV_ABS), code 40 (ABS_MISC), value 15
Event: time 1477672672.059563, -------------- SYN_REPORT ------------
Event: time 1477672672.291614, type 1 (EV_KEY), code 202 (KEY_PROG3), value 0
Event: time 1477672672.291614, type 3 (EV_ABS), code 40 (ABS_MISC), value 0
Event: time 1477672672.291614, -------------- SYN_REPORT ------------

showkey согласен с evtest что код ключа 202:

% sudo showkey -k
kb mode was ?UNKNOWN?
[ if you are trying this under X, it might not work
since the X server is also reading /dev/console ]

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

Однако я действительно хочу использовать кнопку для чего-то, поэтому, если я попытаюсь временно назначить кнопку клавише "а" для целей тестирования, она, похоже, не будет работать.

xmodmap -e "keycode 202 = a"

"А" не выводится, если я нажимаю кнопку, например, в эмуляторе терминала.

Я делаю что-то не так с xmodmap или есть какой-то другой инструмент, который я могу использовать, чтобы что-то происходило, когда я нажимаю эту кнопку? В конечном счете, я хочу, чтобы кнопка запускала скрипт, но если я могу сделать это косвенно, переназначив кнопку на какой-то другой ключ с модификаторами, это тоже здорово. Прямо сейчас я не знаю, что попробовать дальше.

1 ответ

Используйте xsetwacom:

http://linuxwacom.sourceforge.net/wiki/index.php/Tablet_Configuration

(см. "man xsetwacom" тоже)

Найдите свое устройство с

xsetwacom list

Пример вывода:

Wacom DTK2241 Pad pad               id: 12  type: PAD       
Wacom DTK2241 Pen stylus            id: 13  type: STYLUS    
Wacom DTK2241 Pen eraser            id: 14  type: ERASER 

Мое устройство было DTK2241, поэтому я буду использовать этот пример ниже:

xsetwacom -s get "Wacom DTK2241 Pad pad" all

Затем для устройства пэда перечислите ваши доступные кнопки с:

xsetwacom -s get "Wacom DTK2241 Pad pad" all

Пример вывода:

xsetwacom set "Wacom DTK2241 Pad pad" "Button" "1" "button +1 "
xsetwacom set "Wacom DTK2241 Pad pad" "Button" "2" "+2 "
xsetwacom set "Wacom DTK2241 Pad pad" "Button" "3" "+3 "
xsetwacom set "Wacom DTK2241 Pad pad" "Button" "8" "+8 "
xsetwacom set "Wacom DTK2241 Pad pad" "Button" "9" "+9 "
xsetwacom set "Wacom DTK2241 Pad pad" "Button" "10" "+10 "
....

Затем установите кнопку, например:

xsetwacom set "Wacom DTK2241 Pad pad" "Button" "1" "key a"
Другие вопросы по тегам