Articulo de referencia

Extensión de teclado X

En las interfaces hombre-máquina , la extensión de teclado X o XKB forma parte del sistema X Window y amplía la capacidad de controlar el teclado más allá de lo que ofrece el pr...

En las interfaces hombre-máquina , la extensión de teclado X o XKB forma parte del sistema X Window y amplía la capacidad de controlar el teclado más allá de lo que ofrece el protocolo central del sistema X Window , permitiendo el uso de múltiples diseños de teclado .

Sus principales características son:

  • Soporte mejorado para modificadores ( Alt, , etc.);Shift
  • mejor tratamiento de grupos de teclas (normalmente distribuciones de teclado );
  • Control ampliado de los indicadores del teclado ( LED ) y timbres ;
  • varios parámetros (controles) nuevos del teclado;
  • asociación de acciones (de un tipo particular) con teclas.

XKB se compone de dos partes: una extensión de servidor y una biblioteca cliente. Las versiones modernas de Xlib incluyen XKB, que está activa por defecto. Los programas cliente que no utilicen esta extensión pueden desactivarla antes de conectarse con el servidor o simplemente funcionar con normalidad, ya que la extensión simula el protocolo principal por defecto.

XKB también es utilizado por los compositores Wayland y kmscon .

Modificadores con pestillo y bloqueo

XKB permite bloquear o mantener en espera una tecla modificadora , además de su estado normal. Normalmente, una tecla modificadora está activa justo cuando se pulsa, como la tecla Mayús . Sin embargo, también puede bloquearse, como la tecla Bloq Mayús . Cuando una tecla modificadora está bloqueada, permanece activa hasta que se desactiva explícitamente. Un estado intermedio entre el estado normal y el bloqueado es el estado de enganche: cuando una tecla modificadora está enganchada, permanece activa, pero solo hasta que se pulsa la siguiente tecla que no sea modificadora.

XKB permite que una aplicación cliente bloquee explícitamente una tecla modificadora. Además, una aplicación puede vincular la pulsación o liberación de una tecla a un cambio de estado de la tecla modificadora. De esta forma, una tecla modificadora puede bloquearse automáticamente al pulsar o soltar una tecla.

Grupos clave

XKB permite que el teclado cambie entre cuatro grupos de caracteres diferentes. Esto se suele hacer para que el teclado se comporte como el de otro idioma. En este contexto, el conjunto de caracteres generado por el teclado se denomina grupo , y el teclado puede cambiar a un grupo diferente en cualquier momento.

XKB define algunos selectores de grupo (que en la especificación se denominan simplemente grupos ). Al igual que con los modificadores, un selector de grupo puede asociarse a una tecla, pero también puede bloquearse o mantenerse fijo.

Controles

El comportamiento del teclado depende de varios parámetros que los clientes pueden modificar. Estos parámetros se denominan controles . Por ejemplo, el control SlowKey permite ignorar pulsaciones cortas de teclas. Otro control es MouseKeys , que simula movimientos del ratón mediante pulsaciones de teclas. Este control solo indica si la simulación está activa o no; las teclas que producen el movimiento no forman parte del control, sino que se especifican asignándoles acciones.

Los dos controles anteriores son booleanos : están activos o inactivos. El control PerKeyRepeat no es booleano. Se trata de una máscara que indica qué teclas están en modo de repetición automática. Según la especificación, los controles no booleanos están siempre activos: esto significa que dependen de un conjunto de parámetros (en este caso, la máscara), pero no existe un único bit que permita desactivar completamente sus efectos.

Además de ser booleanos o no booleanos, los controles también se clasifican según afecten el comportamiento del servidor o de la biblioteca cliente. Los dos ejemplos anteriores son controles del servidor. Los controles de la biblioteca cliente afectan la traducción de un código de tecla o una secuencia de códigos de tecla a una cadena ( XLookupString ) y la entrega de eventos.

Comportamiento

XKB permite asociar acciones con pulsaciones de teclas, lo que traslada parte de la carga del procesamiento de eventos de entrada de las aplicaciones cliente al servidor X. Sin embargo, las acciones que se pueden asociar con las teclas se limitan a las siguientes:

  1. Cambia el estado de un modificador, haciéndolo activo, inactivo, bloqueado o resguardado.
  2. Cambiar el estado de los selectores de grupo (igual que los modificadores)
  3. Simular un evento del ratón (movimiento o actividad de un botón)
  4. Cambiar la pantalla activa (este tipo de acción es opcional, es decir, no necesariamente compatible con el servidor).
  5. Cambiar el estado de los controles booleanos
  6. Generar un evento de mensaje (es decir, un paquete que se envía al cliente).
  7. Generar un código de clave diferente

Además, existen algunas acciones relacionadas con los dispositivos que están disponibles si el servidor admite la extensión X Input .

Problemas de compatibilidad

La extensión de teclado X es incompatible con el manejo básico del teclado y, como resultado, varias teclas modificadoras no funcionan o requieren soluciones alternativas dentro de entornos emulados como VNC o Xephyr .

Otro

XKB permite una mejor gestión de los indicadores LED del teclado. En concreto, XKB proporciona nombres simbólicos para los indicadores, lo que permite vincularlos a la actividad del teclado y comprobar qué indicadores están presentes en él.

XKB también mejora el manejo de las señales acústicas del protocolo principal ; este solo admite una señal, y la única acción que un cliente puede realizar es hacerla sonar. XKB admite varias señales acústicas con nombre y permite que un cliente desactive algunas de ellas y reciba notificaciones cuando se suene una señal.

XKB permite a un cliente consultar la forma física del teclado, incluyendo la forma de cada tecla. En concreto, las teclas se organizan en secciones, posiblemente rotadas (por ejemplo, el teclado numérico se considera una sección). Dentro de cada sección, las teclas se organizan en filas. Tanto las teclas como las secciones poseen una geometría que comprende el contorno aproximado de la tecla, su cuadro delimitador y su forma precisa. Además de las teclas, la geometría también incluye elementos decorativos , que son componentes del teclado que no son teclas. La forma general del teclado se considera un elemento decorativo. La información proporcionada sobre estos elementos decorativos incluye su color y cualquier texto impreso en ellos (incluida la fuente utilizada).

Referencias

  • X Consortium Inc. La extensión de teclado X: especificación de la biblioteca (1996). HTML , PDF .
  • X Consortium Inc. La extensión de teclado X: especificación de protocolo (1996). HTML , PDF .
  • X Consortium Inc. La guía de configuración de XKB (2010) HTML , PDF .
  • X Consortium Inc. Cómo mejorar aún más la configuración de XKB (2002). HTML , PDF .
  • ArchiWiki. extensión de teclado x
  • Damiano Venturin. Una guía sencilla, humilde pero completa de XKB para Linux (2016)
  • Michal Kosmulski. Creación de diseños de teclado personalizados para X11 usando XKB (2011)
  • Ivan Pascal. Extensión de teclado X : información detallada sobre los distintos archivos de configuración de XKB.
  • Doug Palmer. Una guía poco fiable para la configuración de XKB (2004)