Remapeando atalhos de teclado (copiar, colar etc.) para a tecla Alt em vez de Ctrl

Remapeando atalhos de teclado (copiar, colar etc.) para a tecla Alt em vez de Ctrl

Curiosamente, isso é quase impossível de fazer. Remapear a tecla Alt para se comportar como outra tecla Ctrl não é uma solução porque você perde as funcionalidades da tecla Alt (algumas das quais são essenciais, como Alt+Tab).

Então, como posso obter um comportamento semelhante ao MacOS, onde a tecla cmd é usada para atalhos de teclado (mas também para alternar entre janelas com cmd+Tab)?

Eu sei que posso atribuir Ctrl+Taba alternância entre janelas depois de remapear a tecla Alt como uma tecla Ctrl. Mas então perco a Ctrl+Tabfuncionalidade real em alguns aplicativos, que também são críticos, como a troca de guias no Chrome. Basicamente, minhas teclas Ctrl e Alt se tornariam a mesma tecla e seria impossível ter dois conjuntos diferentes de atalhos para essas duas teclas modificadoras.

Uma boa solução para mim provavelmente seria uma maneira de capturar Alt+C, Alt+V, Alt+X, etc.no nível de gerenciamento de janelas e enviar um Ctrl+C or Ctrl+V or Ctrl+X etc.para a janela em foco. No Windows isso foi possível via AutoHotKey. No Linux, ouvi falar de um aplicativo chamado AutoKey, mas, diferentemente do AutoHotKey, você precisa usar uma GUI para definir os atalhos. Como escreverei quase todas as combinações de Alt manualmente, não quero que um aplicativo GUI faça isso. Devo ser capaz de configurá-lo escrevendo um arquivo de texto.

É possível conseguir isso com o Gnome ou o Xmonad?

Responder1

Você pode usarXKeyCaps.

Este é o meu .Xmodmaparquivo, tenho um teclado 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

Responder2

Você deve ser capaz de usarxdotoole additionalKeysdoXMonad.Util.EZConfigmódulo para isso. Basta instalar o xdotool e em seu ~/.xmonad/xmonad.hsarquivo de configuração você pode configurar chaves adicionais como esta:

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")
                 ]

informação relacionada