Estoy buscando una forma de reasignar ciertas claves en ubuntu.
es decir
Me gustaría cambiar PgUpa Homeo PgDownpara End.
¿Existe un comando incorporado o una herramienta para reasignar claves en Ubuntu / GNOME?
Estoy buscando una forma de reasignar ciertas claves en ubuntu.
es decir
Me gustaría cambiar PgUpa Homeo PgDownpara End.
¿Existe un comando incorporado o una herramienta para reasignar claves en Ubuntu / GNOME?
xmodmap
se dedica algo de tiempo ! para obtener una configuración de todo el sistema que tiene que usarxkb
. Edite el archivo de idioma/usr/share/X11/xkb/symbols/
para agregar sus cambios allí. Consulte askubuntu.com/a/898462/34298Respuestas:
Aviso: a partir de 2013, Ubuntu y derivados ya no se usan
xmodmap
, sino que se usanxkb
. Para más información vea esta respuesta . La respuesta a continuación ya no es relevante para las versiones actuales.Para reasignar ciertas teclas necesita dos herramientas. Primero xev (herramienta de línea de comandos) y segundo xmodmap (también herramienta de línea de comandos). Ambos deberían estar disponibles en Ubuntu sin instalarlos adicionalmente.
Inicie la ventana de terminal y ejecute
xev
. Ahora está activo y espera a que presione una tecla. Luego presione la tecla cuyo comportamiento desea cambiar. es decir PgUp.xev
generará información sobre la tecla presionada. La tercera línea es importante. Debería ser similar a:en este ejemplo
Prior
es el nombre del comportamiento al que está asignada la clave en este momento, el código de clave de número es la identificación interna para reconocer la clave. Ahora haga esto con otra tecla, es decir, PgDowndé esta salidaAquí nuevamente la parte interesante para nosotros es
keycode 115
yNext
- el nombre del comportamiento.ahora cuando quiera intercambiar las dos teclas de uso
xmodmap
.Esto cambia la tecla con el código de tecla 110 en su teclado a la acción
Next
. Es muy simpleTenga en cuenta que si la tecla que está mapeando debe tener un significado diferente cuando se usa con la Shifttecla (por ejemplo, para diseños de teclado británico, Shift+ 2da comillas), entonces simplemente puede enumerar el comando secundario después del primero. Por ejemplo, si desea que la clave con el código 53 se asigne a la barra invertida normalmente, pero al símbolo de la barra cuando se usa con shift, puede hacer lo siguiente:
Información adicional: La secuencia de estas asignaciones es Key, Shift+Key, mode_switch+Key, mode_switch+Shift+Key, AltGr+Key, AltGr+Shift+Key. Para omitir una columna, use
NoSymbol
. Además, aquí hay una lista completa de todos los keyyms.Nota: Estos cambios son solo para la sesión X activa y se perderán después del reinicio. Cuando desee guardar los cambios de forma permanente, debe ejecutar los siguientes comandos después de los anteriores:
(crea un archivo nombrado
.Xmodmap
en su directorio de inicio (~
))Luego, debe crear un archivo con el nombre
.xinitrc
en su directorio de inicio donde ingrese el comandoxmodmap .Xmodmap
.Ahora puede modificar
.Xmodmap
y ejecutarxmodmap .Xmodmap
desde la consola para ver los cambios de inmediato. Los cambios en.Xmodmap
persistirán.fuente: Ubuntu Foruns
Cosas de bonificación:
Si la tecla que está reasignando tiene un comportamiento diferente dependiendo de un estado (como la forma en que las teclas del teclado numérico dependen de NumLock) simplemente tiene que hacer
xmodmap -pm
para obtener una lista de modificadores y luego hacer:xmodmap -e "KEYCODE MODIFIER = behaviour behaviour_with_modifier"
Supongamos, por ejemplo, que desea obtener un punto en lugar de una coma en el teclado numérico (útil para la mayoría de los programadores), pero desea mantener el comportamiento de "eliminación" cuando NumLock está desactivado.
mod2
, porquexmodmap -pm
nos dice quemod2
esNum_Lock
, los otros nombres se obtienen presionando las teclasxev
.fuente
xev
no puede capturarFn
pulsaciones de teclas-event
bandera en Ubuntu 12.04. Lanza un error y no menciona "evento" enman xev
.Si está intentando mover una tecla Mayús, hay algunos pasos adicionales:
fuente
Acabo de tener una idea de último momento ... Creo que puede querer decir algo completamente diferente por "reasignación" ... pero dejaré mi respuesta tal como está ... (No sé cómo reasignar una clave a comportarse como otro)
ACTUALIZACIÓN : mi 'idea de último momento' ha sido confirmada; (He respondido la pregunta incorrecta:) ... por favor vea la respuesta Wiki de la comunidad de NES (aceptada anteriormente).
Hay dos formas generales de
reasignaruna nueva clave.(se puede usar una tecla para diferentes cosas en diferentes aplicaciones / ventanas)
(una tecla tiene la misma función en todas las ventanas)
Para los métodos 'locales a un programa', a veces hay una manera de cambiar las combinaciones de teclas que ofrece la aplicación en sí ... por ejemplo.
Firefox
tiene un complemento llamado keyconfig ... para obtener más información, vea esta publicación de MozillZineLa mayoría de los programas de Ubuntu están basados en Gnome y hay una utilidad específica para modificar la combinación de teclas para cualquier elemento de menú de estas aplicaciones de Gnome ... Se llama
Editable Menu Accelerator
... Es una herramienta muy "sensible", pero bastante poderosa. Puede habilitar ejecutandogconf-editor
(a través de Terminal o Alt + F2) ... navegue adesktop
-gnome
-interface
y seleccionecan_change_accels
.... Luego puede cambiar los elementos del menú a virtual lo que quiera (por programa / ventana) ... Sugiero que deshabilite tan pronto como hayas hecho lo que necesitas ...De lo contrario, puede configurar teclas de acceso rápido globales. Utilizo un programa llamado xbindkeys , y también hay una opción disponible a través del Menú principal - Preferencias, llamado
Keyboard Shortcuts
Si usa xbindkeys, deberá agregarlo a sus "Aplicaciones de inicio" (Menú principal - Preferencias) ... También (como lo sugiere Stefano Palazzo) Anteriormente escribí una descripción más detallada de xbindkeys en una respuesta sobre esto. página de askubuntu
fuente
xdotool
, consulte la página del manual, lo he usado para resolver este problema .Así es como traté de cambiar la asignación de la ENTERclave a la SHIFTclave (y viceversa):
INFORMES:
INFORMES:
INFORMES:
(ignore las siguientes cincuenta líneas más o menos)
Lo importante es la tercera línea de cada pulsación de tecla:
INVERTIR EL MAPEO:
AHORRE LOS RESULTADOS:
AÑADIR
El principal problema fue que la reversión NO funcionó. La ENTERclave fue asignada a la SHIFT_Rclave; pero la SHIFT_Rclave no se asignó a la ENTERclave. Imagínate.
fuente
Para hacer remapeos globales independientemente de X, puede hacer uso de la configuración de la consola (5) en su lugar.
En mi caso, quería reasignar la Caps Lockclave D, ya que mi Dclave está rota :)
Primero usé dumpkeys (1) para obtener una plantilla para un mapeo, en el caso de la Dtecla, el bit interesante es el mapeo para el código clave 32 (en mi teclado); ¡Tenga en cuenta que hay dos espacios en el patrón grep!
Para cambiar el mapa para aplicarlo Caps Lock(código de teclado 58 en mi teclado) en su lugar
Ahora se lee
Para agregar esta reasignación al mapa predeterminado, simplemente debe agregarse al archivo de inclusión de reasignación para la configuración de la consola
y la configuración de la consola debe reconfigurarse (omitiendo las preguntas de baja prioridad con
-phigh
)Ahora la reasignación debe completarse y cargarse automáticamente en el arranque.
fuente
Pasé un día entero intentando crear un atajo para
Ctrl+Pageup
.Lo intenté por primera vez,
xmodmap
pero eso no puede generar eventos modificadores. Por lo tanto, es imposible crear un acceso directo que genere, por ejemplo, elControl
evento.Entonces lo intenté
xbindkeys
conxmacro
. Ese tipo de trabajo funciona, peroxbindkeys
no puede capturar algunas combinaciones de teclas en mi sistema, comoAlt + ___
.Así que finalmente utilicé los atajos de teclado propios de Unity -> Atajos personalizados para configurar mi atajo.
Y en lugar de eso
xmacro
, ahora he usado elxvkbd
programa para generar los eventos del teclado, pero eso es solo una preferencia personal. Ambosxmacro
yxvkbd
funcionan casi lo mismo. Un consejo adicional es agregar un parámetro de retrasoxmacro
oxvkbd
asegurarse de que los eventos no se pierdan.fuente
Para mí, AutoKey del Software Center funcionó mejor. Tiene una GUI intuitiva, para agregar un nuevo enlace haga clic en Nuevo -> Frase y
<left>
(la lista de teclas especiales está aquí ).fuente
Super+C
ySuper+V
paraCtrl+C
yCtrl+V
. La solución perfecta cuando se usa Ubuntu a través de VirtualBox en una MacSuper+V
"mostrar la lista de notificaciones", vaya a Configuración -> Dispositivos -> Teclado y desactívelo allíSi necesita reasignar una clave solo para un programa específico, acabo de agregar esta función a hax11.
Para hacer esto con hax11, abra el archivo de configuración de perfil del programa en
~/.config/hax11/profiles
(p~/.config/hax11/profiles/usr\lib\firefox\firefox
. Ej. ) Y agregue:fuente