Cambiar la tecla "Meta" para la biblioteca readline

1

Estoy interesado en volver a vincular la metaclave para la biblioteca readline (edición de línea de comandos en, digamos, bash) de la tecla alt a alguna otra tecla arbitraria (como la tecla de bloqueo de mayúsculas).

Por contexto, ya estoy usando el administrador de ventanas XMonad y tengo la tecla alt vinculada a una serie de funciones personalizadas que tienen prioridad sobre las combinaciones de teclas del terminal.

Intenté usar xmodmap para reasignar una tecla a Escape, pero esto no le permite mantener presionada la tecla y presionar varias teclas de movimiento en una fila.

¿Es posible que readline trate un Modmodificador diferente como la meta clave?

¡Gracias!

wafflecat
fuente

Respuestas:

0

Readline detecta un combo de tecla meta al verificar que se establezca un cierto bit en el carácter que recibe del terminal o, debido a la forma en que esto funciona para meta, que el carácter cae en un cierto rango de valores en la parte superior de los valores almacenado en un byte de 8 bits. Consulte chardefs.h para ver las macros de utilidad involucradas.

Puede ajustar su sentido de meta-ness alterando la biblioteca para detectar metacaracteres de alguna otra manera redefiniendo estas macros y luego volviendo a vincular su shell con esta línea de lectura ajustada. Un enfoque menos invasivo sería configurar su terminal para comprender otra clave como configurar el meta bit, o usar algún tipo de administrador de entrada a nivel del sistema que podría hacer lo mismo.

Jeremy W. Sherman
fuente
0

La biblioteca readline no sabe exactamente nada sobre el modificador utilizado en su terminal para actuar como su noción de una meta clave. Entonces, no: lo que pides no es posible.

Thomas Dickey
fuente