У меня есть клавиатура Cherry Bluetooth, которая включает в себя специальные клавиши для калькулятора, почты, дома /myPC. Я хочу переназначить их на мультимедийные клавиши, но не могу этого сделать. Я использовал xbindkeys , который идентифицирует их как XF86Calculator , XF86Mail и XF86HomePage соответственно. Однако связывание их с X86AudioNext , X86AudioPlay и X86AudioPrev имеет никакого эффекта.

Я проверил вывод xev :

KeyRelease event, serial 37, synthetic NO, window 0x6e00001,
    root 0xe8, subw 0x0, time 7101116, (580,268), root:(3094,1340),
    state 0x10, keycode 148 (keysym 0x1008ff1d, XF86Calculator), same_screen YES,
    XLookupString gives 0 bytes:                            
    XFilterEvent returns: False


KeyRelease event, serial 37, synthetic NO, window 0x6e00001,
    root 0xe8, subw 0x0, time 7101620, (580,268), root:(3094,1340),
    state 0x10, keycode 158 (keysym 0x1008ff2e, XF86WWW), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 37, synthetic NO, window 0x6e00001,
    root 0xe8, subw 0x0, time 7101812, (580,268), root:(3094,1340),
    state 0x10, keycode 180 (keysym 0x1008ff18, XF86HomePage), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

С этим я попытался создать .Xmodmap с

keycode 148 = XF86AudioPrev
keycode 158 = XF86AudioPlay
keycode 180 = XF86AudioNext

Но xmodmap .Xmodmap снова не дал никакого эффекта.

Затем я проверил /usr/share/X11/xkb/keycodes/xfree86 альтернативные ключевые символы и соответственно изменил /usr /share /X11 /xkb /symbols /pc и перезапустил профиль xkb .

key <I14>  {    [ XF86AudioPrev ]   };
key <I1E>  {    [ XF86AudioPlay ]   };
key <I78>  {    [ XF86AudioNext ]   };

Есть идеи, что еще делать?


После дня возни я обнаружил, что первые два ключа для калькулятора и почты работают как медиа-ключи, в то время как home/myPC по-прежнему не отвечает. для функциональных клавиш xev дает этот ответ

FocusIn event, serial 50, synthetic NO, window 0x6c00001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 50, synthetic NO, window 0x0,
    keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

Чтобы добавить к путанице, нерабочий ключ myPC возвращает четыре события в xev для двух разных кодов клавиш, а также новую строку XKeysymToKeycode returns keycode: 171

Мой текущий обходной путь - использовать ctrl + myPC . Это хорошо работает в xbindkeys.


Debian GNU/Linux 9 (растянуть)

Ядро: 4.9.0-6-amd64

Xfce4

1 ответ1

0

Я бы порекомендовал мой проект: KeyRemapper, он прост в использовании и понятен.

Моя клавиша Ctrl не работает, поэтому я написал это, LOL

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .