Настройте Caps Lock как AltGr и стрелки, как в vim

1. Как мне глобально отобразить Caps Lock в AltGr?

Мне не нужен CapsLock и скорее хотелось бы иметь доступ к AltGr Key Key

2. Я хочу сопоставить все клавиши перемещения с vim -подобными позициями

AltGr + F = Backspace AltGr + H = LeftArr AltGr + J = DownArr AltGr + L = RightArr AltGr + K = UpArr AltGr + U = PgUp AltGr + D = PgDown AltGr + S = Enter AltGr + 3 = Pos1 AltGr + $ = End AltGr + X = Del

Поэтому я могу легко пройти через свой код, не отрывая руку от 10-Finger -Position (как в редакторе vim)

Я нашел этот ответ: Как перенаправить ключ блокировки шапки на клавишу возврата? предлагая использовать

xmodmap -e "keycode [code] = [new key]"

в: Как переделать ключ блокировки колпачка в клавишу возврата?

Но я не могу понять, как добавить это комбинация, например, AltGr + J

Другим началом было бы установить «Альтернативный символ-ключ» в unity-control-center -> Клавиатура-> Ярлыки-> Ввод как Caps Lock

Обновление: я нашел некоторые решения (см. ниже), но все они не работают во всех приложениях, я думаю, что это глобальный параметр под названием «XFree 4», который используется некоторыми приложениями.

Обновление:

1
задан 14 July 2017 в 23:48

2 ответа

Для переназначения CapsLock на AltGr используйте

xmodmap -e "keycode 66 = ISO_Level3_Shift"

(источник: https://superuser.com/a/138757/160420)

Чтобы сопоставить клавиши со стрелками в AltGr + h, j, k и l, используйте xmodmap -pke для поиска правильных настроек:

xmodmap -pke|egrep "f F|j J|k K|h H|l L|o O|u U|d D|dollar|BackSpace"

и измените пятое значение на новые ключи и добавьте все это в сценарий bash: [!d4 ]

# xrandr needs the desktop to be fully loaded. add a delay, to be able to add it to Startup Applications:
sleep 15
# change BackSpace into AltGr
xmodmap -e "keycode 66 = ISO_Level3_Shift"
# set BackSpace on AltGr + F
xmodmap -e "keycode 41 = f F f F BackSpace BackSpace dstroke ordfeminine f F dstroke ordfeminine"
# create arrow keys at h,j,k,l
xmodmap -e "keycode  43 = h H h H Left Left"
xmodmap -e "keycode  44 = j J j J Down Down"
xmodmap -e "keycode  45 = k K k K Up Up"
xmodmap -e "keycode  46 = l L l L Right Right"
xmodmap -e "keycode  30 = u U u U Prior Prior"
xmodmap -e "keycode  40 = d D d D Next Next"
xmodmap -e "keycode  12 = 3 section 3 numbersign Home Home"
xmodmap -e "keycode  13 = 4 dollar 4 dollar End End"
xmodmap -e "keycode  53 = x X x X Delete Delete"

(источник: https://superuser.com/a/138757/160420 )

Поместите этот сценарий bash в свои приложения для запуска (Chooe Dash> Startup Applications> Добавить и добавить команду.)

Примечание: странно в gnome-terminal это прекрасно работает, но в yakuake он работает для BackSpace на AltGr + F, но он устанавливает AltGr + h, j , k и l в D, B, A и C, если вы не установите привязку клавиш к «Linux» вместо «(по умолчанию) XFree 4», а в sublime-text она вообще не работает

1
ответ дан 23 May 2018 в 16:45
  • 1
    xmodmap устарел и не рекомендуется. он по-прежнему работает в средах X11, но не будет работать в Wayland и других заменах X11. с использованием решений на основе XKB настоятельно рекомендуется. – quixotic 29 March 2017 в 01:35
  • 2
    Так что, я думаю, мне нужно добавить новую настраиваемую раскладку клавиатуры? askubuntu.com/questions/482678/&hellip – rubo77 29 March 2017 в 01:55
  • 3
    добавление настраиваемого макета - один из способов, хотя вы, вероятно, можете уйти с помощью только , создавая пользовательскую опцию . в GNOME или Unity вам может понадобиться отключить настройки - плагин клавиатуры demon для вашей настройки xmodmap для работы, но если вы создадите новый общесистемный вариант XKB / вариант / вариант XKB, вы можете установить их в /etc/default/keyboard. – quixotic 29 March 2017 в 02:48
  • 4
    Это, кажется, довольно много работы, но решит ли проблема, что новые комбинации клавиш не работают в некоторых приложениях? – rubo77 29 March 2017 в 16:29

, чтобы получить AltGr + h, j, k, l или любой другой ключ без какого-либо приложения, например Autokey to peform ← ↓ ↑ → вы можете настроить раскладку клавиатуры, найденную в / usr / share / X11 / xkb / symbols / , На данный момент я использую немецкий макет «de». Поэтому прежде всего я хотел бы:

1- скопировать стандартный макет

cp /usr/share/X11/xkb/symbols/de /usr/share/X11/xkb/symbols/de.bak

2- открыть макет с помощью вашего предпочтительного текстового редактора (здесь: gedit)

sudo gedit /usr/share/X11/xkb/symbols/de 

там вы увидите что-то вроде:

key <AD03>  { [         e,          E,     EuroSign,     EuroSign ] };
key <AD06>  { [         z,          Z,    leftarrow,          yen ] };
key <AD11>  { [udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ] };
....
....
key <AD12>  { [      plus,   asterisk,   dead_tilde,  macron ]  };
key <AC02>  { [               s,               S,          ssharp,          U017F ] }; 
key <AC06>  { [               h,               H,            Left,             Left ]   }; 
key <AC07>  { [               j,               J,            Down,             Down ]   }; 
key <AC08>  { [               k,               K,              Up,               Up ]   }; 
key <AC09>  { [               l,               L,           Right,            Right ]   }; 
....
....
key <AB10>  { [     minus, underscore,               endash,     emdash ] };
key <LSGT>  { [     less,     greater,                  bar,     NoSymbol   ] };

Как вы можете видеть, AB, AC, AD, AE представляет строку, а число представляет ее позицию на клавиатуре (там есть некоторые специальные клавиши, такие как клавиша less / more, которую можно переустановить и на другие клавиши.

Там вы не найдете всю клавиатуру, только те, которые отличаются друг от друга тем, что макет клавиатуры основанный на нем. Немецкий язык основан на «latin (type4)», как вы можете видеть в начале файла:

include "latin(type4)"

Тогда вам просто нужно изменить в соответствии с вашими потребностями. как:

ключ { AltGr , клавиша + h , клавиша + j , клавиша + k + AltGr]};

(также возможно добавление модификаторов 5-го уровня или больше)

, если вы хотите проверить изменения без перезапуска (изменение «de» для вашего макета ... здесь Авто key )

 setxkbmap -layout de

Стрелки обозначаются так же, как «Влево», «Вправо», «Вниз», «Вверх», как указано выше. Вот хороший список возможных значений.

Вот хороший список - пример моего пользовательского макета. (но не используется в данный момент)

Затем вам нужно будет переназначить Capslock и AltGr, или он уже работает после вопроса, который вы опубликовали?

Если вы также хотите сохранить «нормальный» немецкий макет, вы можете внести изменения в другой макет, который вы обычно не используете (или изменить «немецкие без мертвых ключей», которые вы можете найти дальше тот же файл «de» ...)

Источник: ссылка на очень подробное объяснение xbk и пользовательских макетов. ссылку на аналогичный вопрос с хорошим ответом.

0
ответ дан 23 May 2018 в 16:45
  • 1
    в современных Ubuntu и деривативах вы можете установить макеты XKB и параметры в /etc/default/keyboard после внесения этих изменений. подробнее см. man 5 keyboard. я рекомендую добавлять новые варианты & amp; вместо того, чтобы менять существующие. – quixotic 29 March 2017 в 01:37

Другие вопросы по тегам:

Похожие вопросы: