Saltar al contenido principal
En desuso. Esta estructura se quitó en GameInput v4 y no está disponible en la API actual. Use en su lugar los métodos captadores individuales de IGameInputDevice. Consulte la tabla de correspondencias en la sección Comentarios.
Describe toda la información sobre un dispositivo de entrada.

Sintaxis

Miembros

vendorId
Tipo: uint16_t
Identifica el proveedor del dispositivo de entrada. productId
Tipo: uint16_t
Identifica el dispositivo de entrada como producto. revisionNumber
Tipo: uint16_t
Número de revisión de hardware del dispositivo, si lo hay. usage
Tipo: GameInputUsage
Índice de dos partes que describe la entrada usada. hardwareVersion
Tipo: GameInputVersion
Versión de hardware del dispositivo, si la hay. firmwareVersion
Tipo: GameInputVersion
Versión de firmware del dispositivo, si la hay. deviceId
Tipo: APP_LOCAL_DEVICE_ID
Id. de dispositivo del dispositivo de entrada. deviceRootId
Tipo: APP_LOCAL_DEVICE_ID
Id. raíz del dispositivo de entrada. deviceFamily
Tipo: GameInputDeviceFamily
Designa la familia de dispositivos de entrada a la que pertenece el dispositivo de entrada. supportedInput
Tipo: GameInputKind
Describe el tipo o los tipos de entrada que admite el dispositivo. supportedRumbleMotors
Tipo: GameInputRumbleMotors
Describe los motores de vibración accesibles del dispositivo, si los hay. supportedSystemButtons
Tipo: GameInputSystemButtons
Describe los botones disponibles para controlar el sistema, a menudo fuera de un juego. containerId
Tipo: GUID
Id. de contenedor del dispositivo de entrada. displayName
Tipo: const char*
Describe el nombre descriptivo del dispositivo. pnpPath
Tipo: const char*
Describe la funcionalidad plug and play del dispositivo. Use esta ruta de acceso para hacer referencia a los dispositivos subyacentes a través de otras API. keyboardInfo
Tipo: GameInputKeyboardInfo const *
Información sobre un dispositivo de entrada de teclado. mouseInfo
Tipo: GameInputMouseInfo const *
Información sobre un dispositivo de entrada de mouse. sensorsInfo
Tipo: GameInputSensorsInfo const *
Información sobre los sensores del dispositivo. controllerInfo
Tipo: GameInputControllerInfo const *
Información sobre el dispositivo de entrada de mando genérico. El mando representa los ejes, botones e interruptores sin procesar y sin asignar de un dispositivo. arcadeStickInfo
Tipo: GameInputArcadeStickInfo const *
Información sobre un dispositivo de entrada de stick arcade. flightStickInfo
Tipo: GameInputFlightStickInfo const *
Información sobre un dispositivo de entrada de palanca de vuelo. gamepadInfo
Tipo: GameInputGamepadInfo const *
Información sobre un dispositivo de entrada de mando. racingWheelInfo
Tipo: GameInputRacingWheelInfo const *
Información sobre un dispositivo de entrada de volante de carreras. forceFeedbackMotorCount
Tipo: uint32_t
El número de motores de retroalimentación de fuerza del dispositivo de entrada. forceFeedbackMotorInfo
Tipo: GameInputForceFeedbackMotorInfo const *
Información sobre todos los motores de retroalimentación de fuerza de un dispositivo. inputReportCount
Tipo: uint32_t
Número de informes de entrada del dispositivo. inputReportInfo
Tipo: GameInputRawDeviceReportInfo const *
Objeto de información de informe de entrada. outputReportCount
Tipo: uint32_t
Número de informes de salida del dispositivo. outputReportInfo
Tipo: GameInputRawDeviceReportInfo const *
Informe de salida.

Comentarios

Todos los miembros de cadena de esta estructura usan codificación UTF-8. El deviceId es un id. local de la aplicación: un valor hash de 256 bits que identifica de forma única el dispositivo. Este id. siempre permanece igual para un dispositivo determinado, incluso entre ejecuciones de una aplicación o reinicios del sistema, siempre que el dispositivo se conecte al mismo puerto USB. La aplicación genera los hashes de id. locales de la aplicación, en parte con información específica de la aplicación que llama y del sistema. El deviceRootId es otro id. local de la aplicación, que identifica el nodo de dispositivo raíz para los dispositivos compuestos. Esto permite a las aplicaciones razonar sobre la relación de los dispositivos individuales. Por ejemplo, algunos teclados para juegos eluden el límite heredado de USB de ocho pulsaciones de teclas simultáneas exponiéndose como un dispositivo compuesto con varios nodos de teclado. Estos nodos se combinan en el teclado del “sistema”, por lo que esto suele ser transparente para el usuario. Pero al procesar la entrada por teclado mediante la API de GameInput, comprender esto permite a las aplicaciones evitar suposiciones incorrectas (por ejemplo, que una pulsación de tecla siempre procede de un dispositivo específico) al asignar funciones a las pulsaciones de teclas. El deviceId y el deviceRootId son iguales si el dispositivo no es una de las muchas interfaces de un dispositivo compuesto. La cadena displayName contiene un nombre “descriptivo” del dispositivo. Puede mostrar esta cadena en la interfaz de usuario de una aplicación, pero no hay garantía de que esté localizada. Esta falta de localización proviene de que la API de GameInput busca esta cadena en varias ubicaciones, y una de las últimas alternativas proviene del firmware del dispositivo. Los campos finales de la estructura GameInputDeviceInfo son punteros a matrices de tamaño variable con información sobre el dispositivo, como información sobre la compatibilidad con retroalimentación de fuerza y retroalimentación háptica. Los punteros NULL indican que la característica correspondiente no está disponible o no es compatible con el dispositivo. Un campo correspondiente de la estructura indica el número de elementos de cada matriz, como se indica en las anotaciones de lenguaje de anotación de origen (SAL). Ningún dispositivo de entrada proporciona valores legibles para todos los atributos. Algunos dispositivos incluyen valores solo para los atributos pertinentes. El sistema devuelve esta información a través de IGameInputDevice::GetDeviceInfo.

Métodos de reemplazo en GameInput v4

En GameInput v4, cada miembro de GameInputDeviceInfo se reemplaza por un método captador de IGameInputDevice. Los miembros de puntero para información específica del dispositivo, como keyboardInfo y gamepadInfo, eran NULL cuando el dispositivo no tenía ese tipo de entrada. Los captadores de v4 correspondientes, como GetKeyboardInfo y GetGamepadInfo, devuelven false en ese caso.

Documentación conceptual

Consulte también

Miembros de la API de GameInput en desuso
IGameInputDevice
Información general de la API de entrada
GameInput
IGameInputDevice::GetDeviceInfo

Historial de versiones

Apéndice: versiones anteriores

v2

v1

Última modificación el 6 de noviembre de 2026