Я хотел бы повторно связать XF86_Back и клавиши вперед в X для управления и alt соответственно.

Тем не менее, кажется, что работает

xmodmap -e "keycode 167 = Alt_L"
xmodmap -e "keycode 166 = Control_L"

не дает мне желаемого поведения - я не могу набрать, например, BACK + a чтобы добраться до начала строки в терминале, даже если xev показывает их как правильное восстановление.

РЕДАКТИРОВАТЬ:
Вывод из xev (с моими комментариями в качестве // комментариев) - alt работает, control - нет

// событие BACk KeyPress, серийный номер 29, синтетический номер NO, окно 0x2600001, корень 0x2bd, subw 0x0, время 3547970265, (983,501), корень: (984,516), состояние 0x10, код ключа 166 (keysym 0xffe3, Control_L), код Same_screen YES, XKeysymTokey возвращает код ключа: 37 XLookupString дает 0 байтов: XmbLookupString дает 0 байтов: XFilterEvent возвращает: False

Событие KeyRelease, серийный номер 32, синтетический номер NO, окно 0x2600001, корень 0x2bd, subw 0x0, время 3547970385, (983,501), корень: (984,516), состояние 0x10, код ключа 166 (keysym 0xffe3, Control_L), YES типа same_screen YES, код XKeysymToKeycode возвращает код: 37 XLookupString дает 0 байтов: XFilterEvent возвращает: False

// FORWARD Событие KeyPress, серийный номер 32, синтетический номер NO, окно 0x2600001, корень 0x2bd, subw 0x0, время 3547974553, (983,501), корень: (984,516), состояние 0x10, код ключа 167 (keysym 0xffe9, Alt_L), код Same_screen YES, XKeysymTokey возвращает код ключа: 64 XLookupString дает 0 байтов: XmbLookupString дает 0 байтов: XFilterEvent возвращает: False

Событие KeyRelease, серийный номер 32, синтетический номер NO, окно 0x2600001, корень 0x2bd, subw 0x0, время 3547974713, (983,501), корень: (984,516), состояние 0x18, код ключа 167 (keysym 0xffe9, Alt_L), то же_экран YES, код XKeysymToKeycode возвращает код: 64 XLookupString дает 0 байтов: XFilterEvent возвращает: False

1 ответ1

1

Убедитесь, что ключ Control_L привязан к модификатору "Control":

keycode 166 = Control_L
add Control = Control_L

Чтобы проверить в xev , когда вы отпускаете ключ, в сообщаемом state должен быть установлен бит 0x4 - т.е. если у вас включен NumLock, когда вы нажимаете новую клавишу "Control", у вас должно быть state 0x10 , а когда вы его отпускаете, вы должны получить state 0x14 . Аналогично для новой клавиши "Alt", которая должна измениться с 0x10 до 0x18 (также предполагается, что NumLock активен - это часть 0x10 ).

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