Чи можливо перезавантажити клавіші Назад / Вперед клавіатури Thinkpad USB в Linux?


9

На своєму ноутбуці Thinkpad я легко міняю клавіші "Назад / Вперед" на щось інше (зазвичай я позначаю їх на PageDown / PageUp), оскільки у них є власний код (166 і 167):

xmodmap -e 'keycode 166=Prior'
xmodmap -e 'keycode 167=Next'

Однак на моїй клавіатурі USB Thinkpad USB клавіші Назад / Вперед здаються важко відображеними відповідно на Alt + Left та Alt + Right, тому я не можу використовувати xmodmap для їх перестановки. Чи є якийсь інший спосіб я їх перезавантажити? Я вже пробував xautomation, але це не вийшло.

Ось що мені показує 'xev', коли я натискаю клавішу Вперед:

KeyPress event, serial 36, synthetic NO, window 0x4e00001,
    root 0xb4, subw 0x0, time 65023191, (16,-20), root:(641,33),
    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x4e00001,
    root 0xb4, subw 0x0, time 65023191, (16,-20), root:(641,33),
    state 0x8, keycode 114 (keysym 0xff53, Right), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x4e00001,
    root 0xb4, subw 0x0, time 65023271, (16,-20), root:(641,33),
    state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x4e00001,
    root 0xb4, subw 0x0, time 65023271, (16,-20), root:(641,33),
    state 0x0, keycode 114 (keysym 0xff53, Right), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

1
Якщо у клавіш є код клавіш, їх можна переробити правильно? Чи відрізняється він від клавіші блокування шапки? Ця сторінка добре переробляє, як здається. Я не пробував цього. Просто пропоную. efod.se/writings/linuxbook/html/caps-lock-to-ctrl.html
Бібхас

Проблема полягає лише в тому, що він не має клавішного коду, а натомість він є провідним до альт-лівого / альт-правого
Гільгерме Сальгадо

Відповіді:


0
  1. Встановіть xdotool
  2. Створіть псевдонім сценарію або оболонки для команди натискання клавіш, яку потрібно запустити ( xdotool key --clearmodifiers Page_Down)
  3. Прив’яжіть цей сценарій / псевдонім до надісланого комбо (Alt + Left) у конфігурації гарячої клавіші / ярлика вашого робочого середовища.

Зауважте, що в gnome-center-центрі не представляється можливим призначити кнопки "Назад / Вперед" на клавіатурі USB клавіші швидкого доступу (ви можете насправді призначити їх, але команда / дія, яку ви нанесли на нього, ніколи не буде називатися / буває), тож вам може знадобитися скористатися чимось іншим, наприклад плагін compiz 'Commands.


1
Дякую за пропозицію @sleighboy. Я б спробував це з ксавтомацією , але не вийшло. Дивіться мою власну відповідь нижче щодо того, чому
Гільерме Сальгадо

1
Насправді це має бути остаточною відповіддю, і я просто поясню тут, чому це не вийшло. Команда, яку потрібно запустити, повинна xdotool key --clearmodifiers Page_Upі чомусь призначити кнопку "Назад / вперед" як прискорювач ярлика в gnome-center-center, здається, не працює, але якщо ви використовуєте плагін "Команди" compiz, він спрацює.
Гільгерме Сальгадо

1

Я поклав це у свій .bashrc:

# this maps the previous and next page buttons to pgup and pgdown 
xmodmap -e "keycode 167 = Next" 
xmodmap -e "keycode 166 = Prior"

працює чудово, але, схоже, чомусь не вирізати його у virtualbox 6.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.