estrutura KEYBOARD_EXTENDED_ATTRIBUTES (ntddkbd.h)

KEYBOARD_EXTENDED_ATTRIBUTES especifica os atributos estendidos de um teclado.

Sintaxe

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;

Membros

Version

Tipo: UCHAR

A versão dessa estrutura.

Somente KEYBOARD_EXTENDED_ATTRIBUTES_STRUCT_VERSION_1 com suporte.

FormFactor

Tipo: UCHAR

Fator forma do teclado (ID de uso: 0x2C1).

Valor Descrição
0x00 Fator Forma Desconhecido.
0x01 Teclado full-size.
0x02 Teclado compacto. Esses teclados têm menos de 13" de largura.

KeyType

Tipo: UCHAR

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

Valor Descrição
0x00 Tipo de chave desconhecido.
0x01 Chaves de viagem completas.
0x02 Teclas de baixa viagem, como aquelas em teclados portáteis.
0x03 Zero-viagem ou chaves virtuais.

PhysicalLayout

Tipo: UCHAR

Layout físico do teclado (ID de uso: 0x2C3).

Valor Descrição
0x00 Layout Desconhecido
0x01 101 (por exemplo, EUA)
0x02 103 (Coreia)
0x03 102 (por exemplo, alemão)
0x04 104 (por exemplo, ABNT Brasil)
0x05 106 (DOS/V Japão)
0x06 Vendor\specific – se especificado, VendorSpecificPhysicalLayout também deve ser especificado.

Esse valor não se refere ao conjunto de legendas impresso nas chaves, mas apenas ao layout do conjunto de chaves físico, definido pelo local relativo e pela forma das chaves textuais em relação umas às outras. Esse valor indica quais dos layouts físicos padrão de fato aos quais o teclado está em conformidade. Esses layouts são comumente compreendidos.

VendorSpecificPhysicalLayout

Tipo: UCHAR

Um identificador numérico do layout físico de teclado específico do fornecedor específico (ID de uso: 0x2C4).

Os valores para esse campo são definidos pelo fornecedor de hardware, mas 0x00 é definido para não especificar um Layout Físico de Teclado específico do Fornecedor. Se não for zero, PhysicalLayout deverá ter valor 0x06. Se esse identificador for 0x00, PhysicalLayout não deverá ter o valor 0x06.

IETFLanguageTagIndex

Tipo: UCHAR

Índice de cadeia de caracteres de um descritor de cadeia de caracteres com uma marca de idioma IETF (ID de uso: 0x2C5).

A cadeia de caracteres real pode ser obtida por meio de IOCTL_HID_GET_INDEXED_STRING IOCTL em drivers de modo kernel ou HidD_GetIndexedString chamada em aplicativos no modo usuário.

Essa Marca de Idioma especifica a localidade primária pretendida do conjunto de legendas do teclado, em conformidade com o IETF BCP 47 ou seu sucessor.

Se uma Marca de Idioma IETF apropriada não estiver disponível, como para layouts personalizados, adaptáveis ou novos, o valor será definido como 0x00.

ImplementedInputAssistControls

Tipo: UCHAR

Bitmap para controles de assistência de entrada fisicamente implementados. (ID de uso: 0x2C6).

bit Descrição
Todos os 0 Nenhum controle do Assistente de Entrada de Teclado é implementado.
Bit 0 Sugestão anterior
Bit 1 Próxima Sugestão
Bit 2 Grupo de Sugestões Anterior
Bit 3 Próximo Grupo de Sugestões
Bit 4 Aceitar Sugestão
Bit 5 Cancelar Sugestão
Todos os outros bits reservados.

Comentários

Essa estrutura é usada com uma solicitação IOCTL_KEYBOARD_QUERY_EXTENDED_ATTRIBUTES para retornar informações sobre os atributos estendidos aos quais um teclado dá suporte.

Essas informações são provenientes do Descritor de Relatório de Teclado HID descrito em Solicitação de Revisão de Tabela de Uso hid 42: Controles do Assistente de Teclado da Página do Consumidor.

Requisitos

Requisito Valor
Cabeçalho ntddkbd.h (inclua Ntddkbd.h)

Confira também

IOCTL_KEYBOARD_QUERY_EXTENDED_ATTRIBUTES

IOCTL_KEYBOARD_QUERY_ATTRIBUTES

Solicitação de revisão da tabela de uso hid 42: controles do Assistente de Teclado da Página do Consumidor