Интересно, что это практически невозможно сделать. Повторное нажатие клавиши Alt, чтобы вести себя как другая клавиша Ctrl, не является решением, потому что вы теряете функциональные возможности клавиш Alt (некоторые из них необходимы, например Alt+Tab
).
Итак, как я могу получить поведение, подобное MacOS где ключ cmd используется для сочетаний клавиш (но также и для переключения между окнами с cmd+Tab
)?
Я знаю, что я могу назначить Ctrl+Tab
для переключения между окнами после того, как я перенастрою клавишу Alt в качестве клавиши Ctrl. Но тогда я теряю реальную функциональность Ctrl+Tab
в некоторых приложениях, что также важно, как переключение вкладок в Chrome. В основном мои клавиши Ctrl и Alt станут одним и тем же ключом, и для этих двух модификационных клавиш невозможно будет иметь два разных набора ярлыков.
Хорошим решением для меня, вероятно, будет способ поймать Alt+C, Alt+V, Alt+X, etc.
на уровне управления окном и вместо этого отправьте Ctrl+C or Ctrl+V or Ctrl+X etc.
на сфокусированное окно. В Windows это было возможно через AutoHotKey. В Linux я слышал о приложении под названием AutoKey, но, в отличие от AutoHotKey, вы должны использовать графический интерфейс для установки ярлыков. Поскольку я буду писать почти все комбинации Alt вручную, я не хочу, чтобы приложение GUI делало это. Я должен иметь возможность настроить его, написав текстовый файл.
Можно ли достичь этого либо с помощью Gnome или Xmonad?
Вы можете использовать XKeyCaps .
Это мой файл .Xmodmap
, у меня есть клавиатура Apple.
! Swap Alt and Cmd keys.
keycode 37 = Control_L
keycode 133 = Alt_L Meta_L
keycode 64 = Super_L
keycode 108 = Super_R
keycode 134 = ISO_Level3_Shift Multi_key
keycode 105 = Control_R Multi_key
clear Shift
clear Lock
clear Control
clear Mod1
clear Mod2
clear Mod3
clear Mod4
clear Mod5
add Shift = Shift_L Shift_R
add Lock = Caps_Lock
add Control = Control_L Control_R
add Mod1 = Alt_L 0x007D
add Mod2 = Num_Lock
add Mod4 = Super_L Super_R
add Mod5 = Mode_switch ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift
! Configure '=' key on numpad as '='.
keycode 0x7D = equal
Вы можете использовать XKeyCaps .
Это мой файл .Xmodmap
, у меня есть клавиатура Apple.
! Swap Alt and Cmd keys.
keycode 37 = Control_L
keycode 133 = Alt_L Meta_L
keycode 64 = Super_L
keycode 108 = Super_R
keycode 134 = ISO_Level3_Shift Multi_key
keycode 105 = Control_R Multi_key
clear Shift
clear Lock
clear Control
clear Mod1
clear Mod2
clear Mod3
clear Mod4
clear Mod5
add Shift = Shift_L Shift_R
add Lock = Caps_Lock
add Control = Control_L Control_R
add Mod1 = Alt_L 0x007D
add Mod2 = Num_Lock
add Mod4 = Super_L Super_R
add Mod5 = Mode_switch ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift
! Configure '=' key on numpad as '='.
keycode 0x7D = equal