Переназначение сочетаний клавиш (копирование, вставка и т. Д.) На клавишу Alt вместо Ctrl

Интересно, оказывается, что это почти невозможно сделать. Переназначение клавиши 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 вручную, я не хочу, чтобы приложение с графическим интерфейсом делало это. Я должен быть в состоянии настроить его, написав текстовый файл.

Возможно ли достичь этого с помощью Gnome или Xmonad?

6
задан 9 February 2012 в 22:13

2 ответа

Для этого вы можете использовать xdotool и additionalKeys из модуля XMonad.Util.EZConfig . Просто установите xdotool, а затем в своем файле конфигурации ~/.xmonad/xmonad.hs вы можете настроить дополнительные клавиши, например:

import XMonad.Util.EZConfig

...

main = xmonad $ defaultConfig { ... }
                 `additionalKeys`
                 [ ((mod1Mask, xK_c), spawn "xdotool key alt+c")
                 , ((mod1Mask, xK_v), spawn "xdotool key alt+v")
                 , ((mod1Mask, xK_x), spawn "xdotool key alt+x")
                 ]
0
ответ дан 9 February 2012 в 22:13

Вы можете использовать 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
0
ответ дан 9 February 2012 в 22:13

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

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