Рейтинг:3

Переназначение клавиатуры [Alt_L] + {ijkl} как стрелка {вверх, влево, вниз, вправо}

флаг vn

Я хочу использовать «ijkl» вместе с alt, чтобы действовать как клавиши со стрелками. то есть Alt+i = Up , Alt+K = Down и т.д.

я пытался xmodmap следующий этот ответ. В ответе говорится, что модифицированный ключ Alt является третьим столбцом в xmodmap. Пока что, xmodmap -e "ключевой код 31 = я вверх" не назначает до Alt+i.

я тоже пробовал xbindkeys следующий другой ответ. Но это тоже не работает.

"xvkbd -xsendevent -text '\[Влево]'"
м: 0x18 + с: 44
альт + дж

"xvkbd -xsendevent -text '\[Вниз]'"
м: 0x18 + с: 45
альт + к

"xvkbd -xsendevent -text '\[Право]'"
м: 0x18 + с: 46
альт + л

"xvkbd -xsendevent -text '\[Вверх]'"
м: 0x18 + с: 31
альт + я

Я был бы очень признателен за решение, желательно, чтобы оно не нарушало другие комбинации alt, которые у меня есть, такие как ctrl+alt+t, чтобы открыть терминал и т. д.

изменить: (если это поможет для ответа) после того, как я сделаю xmodmap переназначение, когда я запускаю xev и нажимаю Alt + i, он возвращает следующее.

Событие KeyPress, серийный номер 37, синтетический NO, окно 0x2e00001,
    корень 0x66b, subw 0x0, время 35626163, (161,-15), корень: (261,144),
    состояние 0x10, код клавиши 64 (символ клавиши 0xffe9, Alt_L), тот же_экран ДА,
    XLookupString дает 0 байтов: 
    XmbLookupString дает 0 байтов: 
    XFilterEvent возвращает: False

Событие FocusOut, серийный номер 37, синтетический NO, окно 0x2e00001,
    режим NotifyGrab, деталь NotifyAncestor

Событие KeyPress, серийный номер 37, синтетический YES, окно 0x2e00001,
    корень 0x66b, subw 0x0, время 0, (1,1), корень: (1,1),
    состояние 0x0, код клавиши 50 (символ клавиши 0xffe1, Shift_L), тот же_экран ДА,
    XLookupString дает 0 байтов: 
    XmbLookupString дает 0 байтов: 
    XFilterEvent возвращает: False

Событие KeyRelease, серийный номер 37, синтетический YES, окно 0x2e00001,
    корень 0x66b, subw 0x0, время 0, (1,1), корень: (1,1),
    состояние 0x1, код клавиши 50 (символ клавиши 0xffe1, Shift_L), тот же_экран ДА,
    XLookupString дает 0 байтов: 
    XFilterEvent возвращает: False

Событие KeyPress, серийный номер 37, синтетический YES, окно 0x2e00001,
    корень 0x66b, subw 0x0, время 0, (1,1), корень: (1,1),
    состояние 0x0, код клавиши 111 (символ клавиши 0xff52, вверх), тот же_экран ДА,
    XLookupString дает 0 байтов: 
    XmbLookupString дает 0 байтов: 
    XFilterEvent возвращает: False

Событие KeyRelease, серийный номер 37, синтетический YES, окно 0x2e00001,
    корень 0x66b, subw 0x0, время 0, (1,1), корень: (1,1),
    состояние 0x0, код клавиши 111 (символ клавиши 0xff52, вверх), тот же_экран ДА,
    XLookupString дает 0 байтов: 
    XFilterEvent возвращает: False

Событие FocusIn, серийный номер 37, синтетический NO, окно 0x2e00001,
    режим NotifyUngrab, деталь NotifyAncestor

Событие KeymapNotify, серийный номер 37, синтетический NO, окно 0x0,
    ключи: 4294967216 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0   
           0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0   

Событие KeyRelease, серийный номер 37, синтетический NO, окно 0x2e00001,
    корень 0x66b, subw 0x0, время 35628444, (161,-15), корень: (261,144),
    состояние 0x18, код клавиши 64 (символ клавиши 0xffe9, Alt_L), тот же_экран ДА,
    XLookupString дает 0 байтов: 
    XFilterEvent возвращает: False

Во-первых, я не знаю, почему Shift_L появляется. Во-вторых, это показывает, что Вверх нажатие клавиши даже как-то регистрируется, но не имеет никакого эффекта, например, не перемещает курсор вверх.

(Я использую Убунту 20.04)

Sadaharu Wakisaka avatar
флаг pl
Добро пожаловать в AskUbuntu. =1) помочь?
adal avatar
флаг vn
Во-первых, спасибо.Во-вторых, ответ там относится к [здесь] (https://superuser.com/questions/96299/mapping-superhjkl-to-arrow-keys-under-x), что я уже сделал с *xmodmap*, и это не работает. (Я даже пытался назначить alt_l для Iso_level3_shift [что уже сломало все другие сочетания клавиш alt+], но он не перемещает курсор, как должны делать клавиши со стрелками)
Andra avatar
флаг tr
вы говорите, что `xmodmap -e "keycode 31 = i I Up"` не работает, но вы также использовали `xmodmap -e "keycode 64 = Mode_switch"`?
adal avatar
флаг vn
Да, я сделал. Но когда я это делаю, все другие ярлыки, связанные с Alt, ломаются. Например, Ctrl+Alt+t — это привязка, которая открывает терминал в Ubuntu, но когда вы переназначаете Alt на переключатель режима, он больше не работает.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.