Léxico TI › Programación › Tabla de traducción (Xt)

Tabla de traducción (Xt)

Programación Svenska → Actualizado: 2026-10-09

El formato de texto de Xt para asociar teclas y botones del ratón a acciones con nombre dentro de un widget, sustituible desde ~/.Xresources sin tocar el programa.

Todo widget de Xt tiene el recurso translations, una tabla cuyo lado izquierdo es una secuencia de eventos y cuyo lado derecho son una o varias acciones: <Key>q: quit(), Ctrl<Key>s: search(forward), Shift<Btn1Down>: select-start(). El evento se escribe como modificadores, tipo y detalle, y se pueden encadenar varios para dobles clics o combinaciones de teclas sucesivas. Las acciones las define la clase del widget o las registra el programa con XtAppAddActions, y el Translation Manager de Xt se encarga de la correspondencia a medida que llegan los eventos.

La gracia es que la tabla es un recurso como cualquier otro. Las directivas #override, #augment y #replace deciden si las líneas del usuario van encima, debajo o en lugar de las propias del widget, de modo que una línea como XTerm*VT100.translations: #override Shift <KeyPress> Insert: insert-selection(PRIMARY) cambia el comportamiento de xterm sin recompilar nada. Fue la respuesta de los años ochenta a los atajos configurables, y una respuesta inusualmente potente: xterm puede enviar cadenas arbitrarias con string(), y los editores de Athena se podían reasignar tecla por tecla. La sintaxis era a la vez tan frágil – un \n\ olvidado en el fichero de recursos y la tabla entera desaparecía sin decir palabra – que la mayoría se conformaba con pegar líneas sacadas de Usenet. GTK y Qt eliminaron el mecanismo por completo; allí los atajos van en el código y a cambio hay un diálogo de preferencias.

← Volver al léxico