Alterando a tecla “Meta” para a biblioteca de readline

1

Estou interessado em religar a chave meta da readline biblioteca (edição de linha de comando em, digamos, bash) da tecla alt para alguma outra chave arbitrária (como a tecla caps lock).

Para o contexto, eu já estou usando o gerenciador de janelas do XMonad e tenho a chave alt associada a um número de funções personalizadas que têm precedência sobre as combinações de teclas do terminal.

Eu tentei usar o xmodmap para remapear uma chave para Escape, mas isso não permite que você mantenha pressionada a tecla e aperte vários pressionamentos de tecla de uma vez.

É possível ter readline tratando um modificador Mod diferente como meta key?

Obrigado!

    
por wafflecat 09.12.2015 / 16:55

2 respostas

0

Readline detecta um keycombo meta verificando se um certo bit está sendo definido no caractere que ele recebe do terminal ou, devido à maneira como isso funciona para meta, que o caractere cai em um determinado intervalo de valores no topo dos valores armazenados em um byte de 8 bits. Veja chardefs.h para as macros de utilitários envolvidas.

Você pode ajustar seu senso de meta-nidade alterando a biblioteca para detectar meta-caracteres de alguma outra forma redefinindo essas macros e, em seguida, reconectando seu shell com essa readline ajustada. Uma abordagem menos invasiva seria configurar seu terminal para entender outra chave, como definir o meta bit, ou usar algum tipo de gerenciador de entrada no nível do sistema que poderia fazer o mesmo.

    
por 13.12.2015 / 17:51
0

A biblioteca readline não sabe exatamente sobre o modificador usado em seu terminal para atuar como sua noção de meta-chave. Então, não: o que você pergunta não é possível.

    
por 09.12.2015 / 22:21