%20a%20la%20tecla%20Alt%20en%20lugar%20de%20Ctrl.png)
Curiosamente, resulta que esto es casi imposible de hacer. Reasignar la tecla Alt para que se comporte como otra tecla Ctrl no es una solución porque se pierden las funcionalidades de la tecla Alt (algunas de las cuales son esenciales, como Alt+Tab
).
Entonces, ¿cómo puedo obtener un comportamiento similar a MacOS donde la tecla cmd se usa para atajos de teclado (pero también para cambiar entre ventanas con cmd+Tab
)?
Sé que puedo asignar Ctrl+Tab
el cambio entre ventanas después de reasignar la tecla Alt como tecla Ctrl. Pero luego pierdo la Ctrl+Tab
funcionalidad real en algunas aplicaciones, que también son críticas, como cambiar de pestaña en Chrome. Básicamente, mis teclas Ctrl y Alt se convertirían en la misma tecla y será imposible tener dos conjuntos diferentes de atajos para estas dos teclas modificadoras.
Una buena solución para mí probablemente sería una forma de detectar Alt+C, Alt+V, Alt+X, etc.
en el nivel de administración de ventanas y enviar un mensaje Ctrl+C or Ctrl+V or Ctrl+X etc.
a la ventana enfocada. En Windows esto era posible mediante AutoHotKey. En Linux, escuché acerca de una aplicación llamada AutoKey pero, a diferencia de AutoHotKey, debes usar una GUI para configurar los accesos directos. Dado que escribiré casi todas las combinaciones de Alt manualmente, no quiero que una aplicación GUI haga esto. Debería poder configurarlo escribiendo un archivo de texto.
¿Es posible lograr esto con Gnome o Xmonad?
Respuesta1
Puedes usarXKeyCaps.
Este es mi .Xmodmap
archivo, tengo un 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
Respuesta2
Deberías poder utilizarxdotooly additionalKeys
desde elXMonad.Util.EZConfigmódulo para esto. Simplemente instale xdotool y luego en su ~/.xmonad/xmonad.hs
archivo de configuración podrá configurar claves adicionales 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")
]