
Eu gostaria de mudar a controltecla direita para um modificador "super" e alta tecla direita para o modificador "alt" (não o Meta) no Solaris e Linux (já que sei fazer isso no Windows usando AutoHotKey). Eu sei como fazer isso:
(define-key local-function-key-map (kbd "<rwindow>") 'event-apply-super-modifier
Mas não sei como especificarcerto controlchave oucerto alttecla (que são mais convenientes de digitar do que as teclas do Windows). Se isso puder ser feito diretamente no emacs (e evitar o AutoHotKey no Windows também), seria ótimo. Caso contrário, gostaria de saber o que posso conseguir no Solaris e no Linux da mesma forma que o AutoHotKey.
Responder1
Não conheço nenhuma maneira de fazer isso no Emacs. Pelo que eu sei, as duas Ctrlchaves são tratadas da mesma forma. Para alguns sistemas operacionais, existe uma opção para alterar o símbolo de tecla, R-Altmas não conheço nenhum para o X Windows. Observe que você pode usar a x-alt-keysym
variável para alterar o símbolo de chave paraambos Altchaves.
Você pode alterar os modificadores vinculados a cada tecla no X Windows usando xmodmap
. O Arco Wikiartigocobre seu uso. Basicamente:
Digite
xmodmap -pm
para imprimir uma lista de modificadores e as teclas atribuídas a eles, por exemplo.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) ....
Em seguida, crie um arquivo que limpe e revincule os modificadores que você deseja alterar. Por exemplo. para mudar R-Ctrlpara
super
, isso deve funcionar:clear super add super = Super_L Super_R Control_R clear control add control = Control_L
Para lidar com as Altchaves, você poderia usar:
clear meta add meta = Alt_L
Isso deve fazer com que o Emacs encontre o
meta
modificador existente e pare de tratar as Altchaves comometa
padrão. Então a R-Altchave estará disponível como umalt
modificador para uso no Emacs (e no L-Altasmeta
). Eu nunca tentei isso.Se isso não funcionar, você terá que escolher um modificador não utilizado para vincular R-Alt, por exemplo.
hyper
. Então você poderia usar isso nas ligações do Emacs.Você pode ativar as alterações salvando seu arquivo como
~/.Xmodmap
e executandoxmodmap ~/.Xmodmap
Em muitos ambientes de desktop,
~/.Xmodmap
será executado automaticamente na inicialização. Caso contrário, você terá que executá-lo em seu~/.xinitrc
arquivo:if [ -s ~/.Xmodmap ]; then xmodmap ~/.Xmodmap fi