Léxico TI › Programación › Vínculos virtuales (Motif)

Vínculos virtuales (Motif)

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

La capa de Motif entre las teclas físicas y el comportamiento de los widgets: el código escucha osfCancel y osfHelp, no Escape y F1, y un archivo de vínculos decide qué significan en el teclado que uno tiene delante.

Motif tenía que funcionar en el LK201 de DEC, el Type 4 de Sun y los teclados de HP e IBM, todos con teclas distintas para ayuda, borrado y navegación, y a veces con el mismo nombre de tecla y distinto keysym. OSF lo resolvió haciendo que la guía de estilo y las tablas de traducción de todos los widgets hablaran en keysyms virtuales: osfActivate, osfCancel, osfHelp, osfMenuBar, osfBackSpace, osfDelete, osfPageUp, osfPrimaryPaste y una treintena más. Al arrancar se traducen a keysyms reales a partir de la propiedad _MOTIF_DEFAULT_BINDINGS de la ventana raíz, del archivo .motifbind del directorio personal o del recurso defaultVirtualBindings, y a falta de todo ello de una tabla de fabricante elegida según la cadena de vendor del servidor X.

La herramienta xmbind lee un archivo de vínculos y lo deja en la ventana raíz, y Motif traía archivos listos por fabricante. El efecto era que el mismo binario se comportaba bien en distinto hardware, y que un usuario con Escape en el sitio equivocado lo arreglaba en una línea: osfCancel : <Key>Escape. También estaba detrás de una irritación clásica: un programa Motif en el que Retroceso borraba en la dirección equivocada casi siempre significaba que osfBackSpace y osfDelete apuntaban al keysym incorrecto para ese teclado, algo que xmodmap no podía corregir porque el fallo estaba una capa más arriba.

← Volver al léxico