Translation-tabell (Xt)
Xt:s textformat för att koppla tangenter och musknappar till namngivna handlingar i en widget, utbytbart från ~/.Xresources utan att röra programmet.
Varje Xt-widget har resursen translations, en tabell där vänsterledet är en händelsesekvens och högerledet en eller flera handlingar: <Key>q: quit(), Ctrl<Key>s: search(forward), Shift<Btn1Down>: select-start(). Händelsen skrivs med modifierare, typ och detalj, och flera kan radas efter varandra för dubbelklick eller tangentkombinationer i följd. Handlingarna definieras av widgetklassen eller läggs till av programmet med XtAppAddActions, och Xt:s Translation Manager sköter matchningen när händelserna kommer in.
Poängen är att tabellen är en resurs som vilken annan. Direktiven #override, #augment och #replace avgör om användarens rader läggs ovanpå, under eller i stället för widgetens egna, så en rad som XTerm*VT100.translations: #override Shift <KeyPress> Insert: insert-selection(PRIMARY) ändrar xterms beteende utan en enda omkompilering. Det var 80-talets svar på konfigurerbara kortkommandon, och ovanligt kraftfullt: xterm kan skicka godtyckliga strängar med string(), och Athena-redigerare kunde bindas om tangent för tangent. Syntaxen var samtidigt så ömtålig – ett saknat \n\ i resursfilen och hela tabellen föll bort utan ett ord – att de flesta nöjde sig med att klistra in rader från Usenet. GTK och Qt tog bort mekanismen helt; där hårdkodas bindningarna och man får en inställningsdialog i stället.