Alterando a chave "Meta" da biblioteca readline

Alterando a chave "Meta" da biblioteca readline

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

Para fins de contexto, já estou usando o gerenciador de janelas XMonad e tenho a tecla Alt vinculada a uma série 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 tecla para Escape, mas isso não permite que você mantenha a tecla pressionada e pressione várias teclas de movimento seguidas.

É possível que o readline trate um Modmodificador diferente como a meta-chave?

Obrigado!

Responder1

Readline detecta um meta keycombo verificando se um determinado bit está definido no caractere que recebe do terminal ou, devido à maneira como isso funciona para o meta, se o caractere cai em um determinado intervalo de valores no topo dos valores armazenado em um byte de 8 bits. Verchardefs.hpara as macros utilitárias envolvidas.

Você pode ajustar seu senso de meta-ness alterando a biblioteca para detectar metacaracteres de alguma outra forma, redefinindo essas macros e, em seguida, vinculando novamente seu shell com esta linha de leitura 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 pudesse fazer o mesmo.

Responder2

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

informação relacionada