Compartilhar via


Device Layouts

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Informações de teclado hardware-specific, que incluem a codificar digitalizar para virtual é um layout dispositivo-conversões código de chave e virtual-chave remapeamento. Por exemplo, um teclado coreano PS/2 tem um layout dispositivo diferente do que um teclado coreano matriz.

Porque universal serial barramento (USB) interface humana (HID) dispositivo teclado drivers converter USB teclado digitalizar códigos para at códigos digitalizar, não há nenhum layout dispositivo HID. As chamadas driver HID MapVirtualKey Para recuperar o correspondente virtual-código de chave para codificar a digitalizar, que usa o layout dispositivo associado com a primeira PDD. Essa seqüência ocorre para que a localização de digitalizar códigos para Virtual - chave códigos somente precisa existir no layout de dispositivo. Em seguida, chama o driver de teclado HID keybd_event Com o Virtual-código de chave e codificar digitalizar.

Vários layouts dispositivo podem corresponder a um idioma de entrada. De exemplo, um padrão United States dispositivo 101 layout e um layout dispositivo United_States-Dvorak usar US English como a idioma de entrada.

Layout Manager realiza a codificar digitalizar para Virtual-chave mapeamento codificar. O arquivo DeviceLayout.h descreve o relacionado estruturas dados. Layout Manager executa o remapeamento após a codificar digitalizar para Virtual-chave conversão de código. Microsoft fornece uma biblioteca mapeamento numérico teclado numérico para vinculação estática para o layout dispositivo é remapeamento rotina para que você não precise duplicado a comum teclado numérico numérico codificar. A biblioteca teclado numérico numérico executa mapeamentos como VK_NUMPAD0 para VK_INSERT quando NUMLOCK está desativado.

** fornece suporte usar como padrão para a seguinte teclado layouts:

  • Dos EUA Teclado inglês layouts
  • Teclado japonês layouts
  • Layouts de teclado em coreano

Para suporte teclado layouts para idiomas adicionais, você deve gerar um novo layout de teclado para essa linguagem de Windows XP layout DLLs. Você pode fazer isso usando a ferramenta do gerador de layout Teclado (kbdgen). Para obter mais informações, consulte Keyboard Layout Generator Tool.

O seguinte exemplo de código mostra o layout dispositivo estruturas dados.

// Remapping function typedefs
typedef UINT (*PFN_KEYBD_REMAP)(
  const KEYBD_EVENT *pKbdEvents, 
  UINT cKbdEvents,
  KEYBD_EVENT *pRmpKbdEvents,  
  UINT cMaxRmpKbdEvents 
);

typedef struct tagDEVICE_LAYOUT {
  DWORD dwSize;
  WORD wPddMask; // Matches the device layout with its PDD

  // Scan code to virtual key
  ScanCodeToVKeyData **rgpscvk;
  UINT cpscvk;

  // Remapping functions
  PFN_KEYBD_REMAP pfnRemapKey;
} DEVICE_LAYOUT, *PDEVICE_LAYOUT;

typedef BOOL (*PFN_DEVICE_LAYOUT_ENTRY)(PDEVICE_LAYOUT pDeviceLayout);

O wPddMask Os membros do estrutura de dados PDD e estrutura de dados layout dispositivo coincide com o layout dispositivo para um PDD. O wPddMask membro é um máscara de bits que podem correlacionar um layout dispositivo para múltiplo tipos PDD. De exemplo, um layout dispositivo codificar digitalizar AT pode correlacionar para ambas as um PDD PS/2 e um stub PDD.

See Also

Concepts

Layout Manager
Device Layout Data