GameInputDeviceInfo
Descreve todas as informações sobre um dispositivo de entrada.Sintaxe
Membros
vendorIdTipo: uint16_t Identifica o fornecedor do dispositivo de entrada. productId
Tipo: uint16_t Identifica o dispositivo de entrada como um produto. revisionNumber
Tipo: uint16_t Número de revisão de hardware do dispositivo, se houver. usage
Tipo: GameInputUsage Índice de duas partes que descreve a entrada usada. hardwareVersion
Tipo: GameInputVersion Versão de hardware do dispositivo, se houver. firmwareVersion
Tipo: GameInputVersion Versão de firmware do dispositivo, se houver. deviceId
Tipo: APP_LOCAL_DEVICE_ID ID do dispositivo de entrada. deviceRootId
Tipo: APP_LOCAL_DEVICE_ID ID raiz do dispositivo de entrada. deviceFamily
Tipo: GameInputDeviceFamily Designa a família de dispositivos de entrada à qual o dispositivo de entrada pertence. supportedInput
Tipo: GameInputKind Descreve o tipo ou os tipos de entrada aos quais o dispositivo oferece suporte. supportedRumbleMotors
Tipo: GameInputRumbleMotors Descreve os motores de vibração acessíveis no dispositivo, se houver. supportedSystemButtons
Tipo: GameInputSystemButtons Descreve os botões disponíveis para controlar o sistema, geralmente fora de um jogo. containerId
Tipo: GUID ID do contêiner do dispositivo de entrada. displayName
Tipo: const char* Descreve o nome amigável do dispositivo. pnpPath
Tipo: const char* Descreve a capacidade Plug and Play do dispositivo. Use esse caminho para fazer referência aos dispositivos subjacentes por meio de outras APIs. keyboardInfo
Tipo: GameInputKeyboardInfo const * Informações sobre um dispositivo de entrada de teclado. mouseInfo
Tipo: GameInputMouseInfo const * Informações sobre um dispositivo de entrada de mouse. sensorsInfo
Tipo: GameInputSensorsInfo const * Informações sobre os sensores no dispositivo. controllerInfo
Tipo: GameInputControllerInfo const * Informações sobre o dispositivo de entrada de controle genérico. O controle representa os eixos, botões e switches brutos não mapeados em um dispositivo. arcadeStickInfo
Tipo: GameInputArcadeStickInfo const * Informações sobre um dispositivo de entrada de arcade stick. flightStickInfo
Tipo: GameInputFlightStickInfo const * Informações sobre um dispositivo de entrada de flight stick. gamepadInfo
Tipo: GameInputGamepadInfo const * Informações sobre um dispositivo de entrada de gamepad. racingWheelInfo
Tipo: GameInputRacingWheelInfo const * Informações sobre um dispositivo de entrada de volante de corrida. forceFeedbackMotorCount
Tipo: uint32_t O número de motores de force feedback no dispositivo de entrada. forceFeedbackMotorInfo
Tipo: GameInputForceFeedbackMotorInfo const * Informações sobre todos os motores de force feedback em um dispositivo. inputReportCount
Tipo: uint32_t Número de relatórios de entrada do dispositivo. inputReportInfo
Tipo: GameInputRawDeviceReportInfo const * Objeto de informações do relatório de entrada. outputReportCount
Tipo: uint32_t Número de relatórios de saída do dispositivo. outputReportInfo
Tipo: GameInputRawDeviceReportInfo const * Relatório de saída.
Comentários
Todos os membros de cadeia de caracteres nesta estrutura usam a codificação UTF-8. OdeviceId é um ID local do aplicativo: um valor de hash de 256 bits que identifica exclusivamente o dispositivo. Esse ID permanece sempre o mesmo para um determinado dispositivo, mesmo entre execuções de um aplicativo ou reinicializações do sistema, desde que o dispositivo se conecte à mesma porta USB. O aplicativo gera hashes de ID locais do aplicativo, em parte com informações específicas do aplicativo chamador e do sistema.
O deviceRootId é outro ID local do aplicativo, que identifica o nó de dispositivo raiz de dispositivos compostos. Isso permite que os aplicativos entendam a relação entre dispositivos individuais. Por exemplo, alguns teclados para jogos contornam o limite USB legado de oito pressionamentos de tecla simultâneos expondo-se como um dispositivo composto com vários nós de teclado. Esses nós são mesclados no teclado do “sistema”, de modo que isso geralmente é transparente para o usuário. Mas, ao processar a entrada por teclado por meio da API GameInput, entender isso permite que os aplicativos evitem suposições incorretas (por exemplo, de que um pressionamento de tecla sempre vem de um dispositivo específico) ao mapear funções para pressionamentos de tecla. O deviceId e o deviceRootId são iguais se o dispositivo não for uma das várias interfaces em um dispositivo composto.
A cadeia de caracteres displayName contém um nome “amigável” para o dispositivo. Você pode exibir essa cadeia de caracteres na interface do usuário de um aplicativo, mas não há garantia de que ela esteja localizada. Essa falta de localização ocorre porque a API GameInput pesquisa essa cadeia de caracteres em vários locais, e um dos últimos fallbacks vem do firmware do dispositivo.
Os últimos campos da estrutura GameInputDeviceInfo são ponteiros para matrizes de tamanho variável com informações sobre o dispositivo, como informações sobre o suporte a force feedback e feedback tátil. Ponteiros NULL indicam que o recurso correspondente não está disponível ou não tem suporte no dispositivo. Um campo correspondente na estrutura indica o número de elementos em cada matriz, conforme observado nas anotações SAL (Source Annotation Language).
Nenhum dispositivo de entrada fornece valores legíveis para todos os atributos. Alguns dispositivos incluem valores somente para os atributos relevantes. O sistema retorna essas informações por meio de IGameInputDevice::GetDeviceInfo.
Documentação conceitual
Confira também
Visão geral da API de entradaGameInput
IGameInputDevice::GetDeviceInfo
