¿Cómo hacer los atajos de teclado como macOS en Ubuntu?

12

He visto muchas preguntas con respecto a esto, pero todas parecen reasignar las claves, en lugar de un comportamiento real de macOS.

Mi caso de uso principal sería "dividir" los accesos directos: por ejemplo, me gustaría tener Super+ Cpara copiar texto y Ctrl+ Cpara enviar un SIGINT al programa actual.

En este caso, una simple reasignación o intercambio de Supery Ctrlno funcionaría.

Me parece que el comportamiento de Mac es muy práctico, porque todos los accesos directos más comunes usan Super, y el famoso acceso directo de copia no se superpone al famoso acceso directo SIGINT .

La mayoría de las aplicaciones de terminal reaccionan a Ctrl- * accesos directos, y en su mayoría se superponen con accesos directos "estándar". En GNOME Terminal, tenemos que presionar Ctrl+ Shift+ Cpara copiar texto, mientras que en otras aplicaciones como Firefox, se usa Ctrl+ C. Esto es bastante engorroso e inconsistente en comparación con Super+ C.

Benoit Duffez
fuente
Me gustaría señalar otra respuesta en askubuntu: askubuntu.com/questions/521202/…
Gautam

Respuestas:

0

Puedes lograrlo usando los comandos de xmodmap:

remove mod4 = Super_L
keysym Super_L = Control_L
add Control = Control_L

Guarde las líneas anteriores como super_as_ctrl.xmodmap. Prueba ejecutando

xmodmap super_as_ctrl.xmodmap

Para que el cambio sea permanente (reinicio / reinicio supervivientes) simplemente cambie el nombre del archivo a .Xmodmapsu carpeta de inicio.

(Probado en Ubuntu 14.x)

PD: También puedes usar otro botón de Windows. No estoy seguro de cómo hacer eso.

abhinandanbr
fuente
Eso hace que Ctrl-C y Super-C envíen ambos ^Cal shell. Esperaba que uno de estos se comportara como una copia. Probado en SO elemental
Benoit Duffez
0

Para crear nuevos accesos directos y eliminar los antiguos, simplemente vaya a la configuración del sistema >> teclado >> accesos directos . Allí puede ver todos los accesos directos, editarlos, eliminarlos y crear otros nuevos.

Aarogya Rijal
fuente
0

Lo siguiente vive en mi $HOME/.uxSwapCapsLock-and-Ctrl. Cambia efectivamente la funcionalidad de las teclas CapsLock y Ctrl para cualquier shell en uso en cualquier sistema Linux cada vez que inicio sesión, e iniciar una sesión interactiva dentro de un shell, en un sistema determinado. Estoy seguro de que puede obtener información sobre el nombre de clave pertinente que está tratando de modificar y que xmodmap hace referencia a ellos para obtener la funcionalidad que desea. Este código se inicia cada vez que inicio sesión y tengo una sesión interactiva a través de .profile, pero vive en un archivo .ps1 para este propósito.

#!bin/bash
xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "remove Control = Control_L"
xmodmap -e "keysym Control_L = Caps_Lock"
xmodmap -e "keysym Caps_Lock = Control_L"
xmodmap -e "add Lock = Caps_Lock"
xmodmap -e "add Control = Control_L"
#End script

Esta es la comprobación de .profile para que el intercambio tenga lugar:

if [ -f  "$HOME/.uxSwapCapsLock-and-Ctrl" ]; then
   .  $HOME/.uxSwapCapsLock-and-Ctrl
fi
odoncaoa
fuente