Existe um pacote que pode vincular SS (shift-shift) a uma função interativa?


7

O IntelliJ pressiona duas vezes o teclado Shift. Estou curioso para saber se o Emacs pode emular essa funcionalidade - meu primeiro pensamento foi o key-chord.el, pois permite tocar duas vezes as teclas regulares como qq. Mas, lendo a documentação do key-chord.el, não parece possível usar as teclas modificadoras como chave de ligação.

Algum outro pacote que possa duplicar essa funcionalidade?

Respostas:


6

Os aplicativos gravados com / para estruturas de interface gráfica do usuário, como o X11, geralmente podem receber eventos individuais de key-up / key-down, por isso seria possível se o Emacs apenas expusesse essa funcionalidade à terra do Elisp, mas não o recebe.

Para uma surpresa, porém, em, por exemplo, um quadro X11, pressione e C-h k, em seguida, clique com o mouse, arraste-o e solte-o em algum lugar. A funcionalidade para cima / para baixo já existe para os botões do mouse, e até arrastar é considerado uma chave. Rolar a roda do mouse da mesma forma; até gera eventos duplos e triplos.

Enfim, para modkeys, infelizmente estamos sem sorte até que alguém corrija o código C. O que você também pode tentar é mexer com seu mapa de teclas X; possivelmente uma chave pode ser transformada em modkey e normal simultaneamente, mas não sei.


2

Consulte /programming/26500567/can-i-bind-something-to-alt-meta

Admito estar surpreso que o IntelliJ possa fazer isso, pois fiquei com a impressão de que todos os aplicativos estariam no mesmo barco quando se tratava de receber entrada apenas de teclas modificadoras.

Se alguém puder fornecer alguns detalhes, eu estaria interessado. Meu palpite inicial é que está relacionado a limitações de terminal? (nesse caso, a GUI Emacs pode, em teoria, ser capaz de fazer o mesmo, mas possivelmente não sem quebrar a compatibilidade do terminal?)


Sim, é, aparentemente, o padrão atalhos de teclado para pesquisar em todos os lugares
gempesaw
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.