Compartir a través de


estructura KEYBOARD_EXTENDED_ATTRIBUTES (ntddkbd.h)

KEYBOARD_EXTENDED_ATTRIBUTES especifica los atributos extendidos de un teclado.

Sintaxis

typedef struct _KEYBOARD_EXTENDED_ATTRIBUTES {
  UCHAR Version;
  UCHAR FormFactor;
  UCHAR KeyType;
  UCHAR PhysicalLayout;
  UCHAR VendorSpecificPhysicalLayout;
  UCHAR IETFLanguageTagIndex;
  UCHAR ImplementedInputAssistControls;
} KEYBOARD_EXTENDED_ATTRIBUTES, *PKEYBOARD_EXTENDED_ATTRIBUTES;

Miembros

Version

Tipo: UCHAR

Versión de esta estructura.

Solo se admiten KEYBOARD_EXTENDED_ATTRIBUTES_STRUCT_VERSION_1 .

FormFactor

Tipo: UCHAR

Factor de forma de teclado (id. de uso: 0x2C1).

Valor Descripción
0x00 Factor de forma desconocido.
0x01 Teclado de tamaño completo.
0x02 Teclado compacto. Estos teclados tienen menos de 13" de ancho.

KeyType

Tipo: UCHAR

Tipo de tecla de teclado (id. de uso: 0x2C2).

Valor Descripción
0x00 Tipo de clave desconocido.
0x01 Llaves de viaje completas.
0x02 Teclas de desplazamiento bajo, como las que están en teclados portátiles.
0x03 Desplazamiento cero o claves virtuales.

PhysicalLayout

Tipo: UCHAR

Diseño físico del teclado (id. de uso: 0x2C3).

Valor Descripción
0x00 Diseño desconocido
0x01 101 (por ejemplo, EE. UU.)
0x02 103 (Corea)
0x03 102 (por ejemplo, alemán)
0x04 104 (por ejemplo, ABNT Brasil)
0x05 106 (DOS/V Japón)
0x06 Específico del proveedor: si se especifica, también se debe especificar VendorSpecificPhysicalLayout .

Este valor no hace referencia al conjunto de leyendas impreso en las claves, sino solo al diseño del conjunto de claves físico, definido por la ubicación relativa y la forma de las claves textuales en relación entre sí. Este valor indica cuál de los diseños físicos estándar de facto a los que se ajusta el teclado. Estos diseños se suelen entender.

VendorSpecificPhysicalLayout

Tipo: UCHAR

Identificador numérico del diseño físico del teclado específico del proveedor (id. de uso: 0x2C4).

Los valores de este campo se definen mediante el proveedor de hardware, pero 0x00 se define para no especificar un diseño físico de teclado específico del proveedor. Si no es cero, PhysicalLayout debe tener el valor 0x06. Si este identificador es 0x00, PhysicalLayout no debe tener el valor 0x06.

IETFLanguageTagIndex

Tipo: UCHAR

Índice de cadena de un descriptor de cadena que tiene una etiqueta de idioma IETF (id. de uso: 0x2C5).

La cadena real se puede obtener a través de IOCTL_HID_GET_INDEXED_STRING IOCTL en controladores en modo kernel o HidD_GetIndexedString llamada en aplicaciones en modo de usuario.

Esta etiqueta de idioma especifica la configuración regional principal prevista del conjunto de leyendas del teclado, conforme a IETF BCP 47 o a su sucesor.

Si una etiqueta de idioma IETF adecuada no está disponible, como para diseños personalizados, adaptables o nuevos, el valor se establece en 0x00.

ImplementedInputAssistControls

Tipo: UCHAR

Mapa de bits para controles de asistencia de entrada implementados físicamente. (Id. de uso: 0x2C6).

bit Descripción
Todos los 0 No se implementan controles De asistencia de entrada de teclado.
Bit 0 Sugerencia anterior
Bit 1 Sugerencia siguiente
Bit 2 Grupo de sugerencias anteriores
Bit 3 Siguiente grupo de sugerencias
Bit 4 Aceptar sugerencia
Bit 5 Cancelar sugerencia
Todos los demás bits reservados.

Comentarios

Esta estructura se usa con una solicitud de IOCTL_KEYBOARD_QUERY_EXTENDED_ATTRIBUTES para devolver información sobre los atributos extendidos que admite un teclado.

Esta información procede del descriptor de informe de teclado HID descrito en SOLICITUD de revisión de tabla de uso hid 42: controles de asistencia para teclado de página de consumidor.

Requisitos

Requisito Valor
Header ntddkbd.h (include Ntddkbd.h)

Consulte también

IOCTL_KEYBOARD_QUERY_EXTENDED_ATTRIBUTES

IOCTL_KEYBOARD_QUERY_ATTRIBUTES

Solicitud de revisión de tabla de uso hid 42: controles de asistencia para teclado de página de consumidor