Я пытаюсь переназначить мой правый alt kbd>, чтобы он вел себя как right ctrl kbd>, чтобы я мог использовать большой палец правой руки, чтобы нажать ctrl kbd> кнопка. Это Ubuntu 12.04.
Я создал файл .Xmodmap в моей домашней папке со следующим содержимым:
clear control
clear mod1
!keycode 64 = Alt_L Meta_L
keycode 108 = Alt_R Meta_R
add control = Control_L Control_R Alt_R
add mod1 = Alt_L Meta_L
Как вы можете догадаться, моя левая клавиша alt имеет код клавиши 64 и мой левый alt kbd> ключ имеет ключевой код 108.
Это на самом деле работает в том смысле, что моя правая клавиша alt ведет себя так, как будто я нажимаю клавишу ctrl kbd>.
Однако моя левая клавиша alt kbd> больше ничего не делает, что означает, что у меня не осталось клавиши alt kbd>. Это странно, учитывая, что xmodmap
дает следующий вывод:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69), Alt_R (0x6c)
mod1 Alt_L (0x40), Alt_L (0xcc), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Странно, что когда я удаляю отображение Alt_R на control kbd>, alt kbd> ключи работают.
(то есть, измените вторую на последнюю строку на:)
add control = Control_L Control_R
Теперь даже мой правый alt ведет себя как ключ alt kbd>, что меня смущает. После удаления отображения Alt_R из линии управления вывод xmodmap
дает:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_L (0xcc), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Надеюсь, вы, ребята, можете помочь.
пс. Я использовал этот веб-сайт в качестве источника.
Вы можете просто использовать Раскладка клавиатуры >> Параметры >> Положение клавиши Ctrl >> Right Alt as Right Ctrl , но это не работает. Это уже было подано в Debian как Ошибка # 663218
1) Начните заново, удалив ~ / .Xmodmap.
2) Обратите внимание, что вам не нужно очищать Control и Mod1. Это облегчает изменение только того, что вы хотите. Ваш ~ / .Xmodmap должен быть:
!Swap right control and right alt
remove Control = Control_R
remove Mod1 = Alt_R
keycode 105 = Alt_R
keycode 108 = Control_R
add Control = Control_R
add Mod1 = Alt_R
Если вы один из тех несчастных людей, как я, которым не удалось заставить xmodmap переключать правый Alt с помощью правого Ctrl, то, возможно, это поможет.
Если вы нажмете правую клавишу Alt и e, и вы получите é, то это решение для вас (нуждается в улучшении).
Запустите это в терминале (проверьте ваши коды клавиш с помощью xev):
xmodmap -e "keycode 108 = Alt_R Meta_R Alt_R Meta_R"
, затем вставьте этот код в свой .Xmodmap:
remove Control = Control_R
remove Mod1 = Alt_R
keycode 105 = Alt_R
keycode 108 = Control_R
add Control = Control_R
add Mod1 = Alt_R
Этот код устанавливает ваш ключ Alt_Gr в Alt_R, а затем он заменяет Alt_r на Ctrl_R.
Если вы хотите, чтобы это оставалось после выхода из системы, поместите следующие команды в любой из ваших файлов оболочки запуска, например ~ / .profile:
if [ -f $HOME/.Xmodmap ]; then
xmodmap -e "keycode 108 = Alt_R Meta_R Alt_R Meta_R"
/usr/bin/xmodmap $HOME/.Xmodmap
fi
На Ubuntu 19.04, Для создания отображения в масштабе всей системы необходимо изменить два файла:
Добавляют следующий раздел к первому один:
// Ctrl is mapped to the Alt.
partial modifier_keys
xkb_symbols "right_alt" {
key <LALT> { [ Alt_L, Meta_L ] };
key <RALT> { type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ Control_R, Control_R ] };
modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
modifier_map Control { <LCTL>, <RALT> };
};
И замена include "altwin(meta_alt)"
к include "altwin(right_alt)"
в последнем.
Я нашел гораздо более простой способ.
Добавьте эту команду в автозапуск или .xinitrc:
setxkbmap -option ctrl:ralt_rctrl
Заставляет правый Alt вести себя как правый элемент управления. Также рекомендую ознакомиться с другими параметрами setxkbmap, есть несколько полезных.