
Me gustaría cambiar la controltecla derecha a un modificador "super" y altla tecla derecha al modificador "alt" (no el Meta) en Solaris y Linux (ya que sé cómo hacerlo en Windows usando AutoHotKey). Yo sé cómo hacer esto:
(define-key local-function-key-map (kbd "<rwindow>") 'event-apply-super-modifier
Pero no sé cómo especificar elbien controlclave obien alt(que son más cómodas de escribir que las teclas de Windows). Si eso se puede hacer directamente en emacs (y evitar AutoHotKey también en Windows), sería genial. De lo contrario, me gustaría saber qué se puede lograr en Solaris y Linux, lo mismo que piensa AutoHotKey.
Respuesta1
No conozco ninguna forma de hacer esto en Emacs. Hasta donde yo sé, las dos Ctrlclaves se tratan de la misma manera. Para algunos sistemas operativos, hay una opción para cambiar el símbolo de clave, R-Altpero no conozco ninguna para X Windows. Tenga en cuenta que puede utilizar la x-alt-keysym
variable para cambiar el símbolo de clave paraambos Altllaves.
Puede cambiar los modificadores vinculados a cada tecla en X Windows usando xmodmap
. Wiki El Arcoartículocubre su uso. Básicamente:
Escriba
xmodmap -pm
para imprimir una lista de modificadores y las claves asignadas a ellos, por ejemplo.shift Shift_L (0x32), Shift_R (0x3e) lock control Control_L (0x42), Control_R (0x69) mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd) mod4 Super_L (0x85), Super_R (0x86) ....
Luego cree un archivo que borre y vuelva a vincular los modificadores que desea cambiar. P.ej. para cambiar R-Ctrla
super
, esto debería funcionar:clear super add super = Super_L Super_R Control_R clear control add control = Control_L
Para manejar las Altclaves, puedes usar:
clear meta add meta = Alt_L
Eso debería hacer que Emacs encuentre el
meta
modificador existente y deje de tratar las Altclaves comometa
predeterminadas. Entonces la R-Altclave estará disponible comoalt
modificador para usar en Emacs (y L-Altasmeta
). Nunca he probado esto.Si eso no funciona, tendrás que elegir un modificador no utilizado para vincularlo R-Alt, por ejemplo.
hyper
. Entonces podrías usarlo en enlaces de Emacs.Puedes activar los cambios guardando tu archivo como
~/.Xmodmap
y ejecutándoloxmodmap ~/.Xmodmap
En muchos entornos de escritorio,
~/.Xmodmap
se ejecutará automáticamente al inicio. Si no, tendrás que ejecutarlo en tu~/.xinitrc
archivo:if [ -s ~/.Xmodmap ]; then xmodmap ~/.Xmodmap fi