Super Key sobre SSH

2

Eu me conecto a um servidor Ubuntu sem cabeçalho (sem X) por SSH e executo o Emacs. No meu arquivo ~ / .emacs eu defini um atalho de teclado usando o modificador 's' (Super). Este atalho funciona quando eu executo o Emacs em uma GUI, mas não funciona sobre o SSH. Eu procurei por uma explicação, mas ainda não encontrei nenhuma. Eu suponho que a chave Super não é passada pelo link SSH?

    
por SabreWolfy 01.04.2012 / 22:15

3 respostas

3

A versão GUI do Emacs pode ouvir qualquer tecla usando o protocolo X11. A versão do terminal é um pouco mais limitada - ela só pode receber pressionamentos de tecla do programa do terminal; as teclas modificadoras funcionam apenas como modificadores, nunca como chaves separadas; finalmente, a chave Super é apenas não encaminhada por qualquer emulador, simplesmente porque geralmente é pensado para ser reservado para o SO para coisas como gerenciamento de janelas.

    
por 02.04.2012 / 03:16
5

Se você realmente precisa usar as chaves modificadoras menos padrão de um emulador de terminal, o emacs possui atalhos de teclado para estas:

C-x @ S         event-apply-shift-modifier
C-x @ a         event-apply-alt-modifier
C-x @ c         event-apply-control-modifier
C-x @ h         event-apply-hyper-modifier
C-x @ m         event-apply-meta-modifier
C-x @ s         event-apply-super-modifier

Portanto, no seu caso, use C-x @ s para o super-modificador.

    
por 02.04.2012 / 14:32
1

Os emuladores de terminal convertem certas teclas modificadoras em seqüências e encaminham essas seqüências para os programas do terminal. Normalmente, estas teclas modificadoras não incluem Super (tecla Win ).

O emulador de terminal Konsole converte esse modificador na seqüência ^X@s . Portanto, no Emacs, você pode adicionar uma entrada ao local-function-key-map mapping para event-apply-super-modifier . No entanto, essa entrada já existe, portanto, não há nada a fazer, basta usar Konsole e suas ligações s- funcionarão, mesmo por meio do SSH!

Uma ressalva: ligações como C-x s-o não funcionam, porque o Emacs o verá como C-x C-x @ s o .

    
por 16.01.2015 / 03:34