Infelizmente terminais diferentes enviam sequências de escape diferentes para teclas como Ctrl + Home , e o Emacs não sabe sobre todos eles. Você pode declarar seqüências de escape adicionais através de function-key-map
(ou local-function-key-map
sob o Emacs 23). Isso diz ao Emacs que essas seqüências de escape são realmente uma codificação para uma única tecla de função.
Para descobrir qual sequência de escape uma tecla envia, pressione C-q
seguido pela tecla: isso irá inserir o caractere de escape que inicia a seqüência de teclas literalmente, seguido pelos outros caracteres que compõem a seqüência de teclas. Por exemplo, um terminal que eu uso envia os quatro caracteres ^[
, O
, 5
, H
quando eu pressionar Ctrl + Home , então eu incluiria a seguinte linha na minha .emacs
:
(define-key function-key-map "\e05H" [C-home])
\e
é a maneira mais legível de escrever o caractere de escape. Faça o mesmo para outras chaves que você deseja suportar.
Se as chaves não forem compatíveis com a última versão do Emacs, seria bom informar os desenvolvedores sobre as sequências de teclas que seu terminal envia.