Definir a tecla home para agir como super?

7

Eu tenho um teclado kinesis e gostaria que a tecla home funcionasse como super no emacs sem exigir que eu remapasse meu teclado e edite minhas combinações de teclas. Existe uma maneira simples de fazer isso?

DST
fonte
11
Tanto quanto eu sei, você não pode transformar nenhuma chave arbitrária em uma chave modificadora no Emacs - você precisaria refazer a chave no nível do SO. Consulte a pergunta relacionada emacs.stackexchange.com/questions/3272/… .
glucas
Eu acho que isso é possível (meio) através do acorde de teclas . @glucas
Gilles 'SO- stop being evil'
Seu objetivo é usar superligações existentes? Como o @Gilles observou com o acorde da tecla, você pode redefinir quaisquer superligações para obter um efeito semelhante. Embora você também possa criar uma chave de prefixo com seu próprio mapa de chaves, se você realmente não precisa que ela se comporte como um verdadeiro modificador.
glucas

Respostas:

7

A coisa mais próxima de uma solução que eu conheço é fazer isso:

(define-key key-translation-map (kbd "<home>") #'event-apply-super-modifier)

Não é muito o mesmo que transformar homeem superembora. Especificamente, se você pressionar home, solte-o e, em seguida, pressione a, por exemplo , o Emacs o interpretará como s-ase você o tivesse liberado homeantes de pressionar a.

Isso não é necessariamente uma coisa ruim (de fato, pode ter benefícios ergonômicos), mas pode não ser o que você deseja (e pode ser um pouco estranho ter esse modificador funcionando dessa maneira, se você não configurar os outros para se comportar da mesma maneira).

Obviamente, também existem event-apply-*-modifierfunções para outros modificadores. Modificadores que se aplicam a chaves depois que você as libera são chamados de "modificadores fixos" .

jbm
fonte