Estructura RAWINPUTDEVICE (winuser.h)

Define información para los dispositivos de entrada sin procesar.

Sintaxis

typedef struct tagRAWINPUTDEVICE {
  USHORT usUsagePage;
  USHORT usUsage;
  DWORD  dwFlags;
  HWND   hwndTarget;
} RAWINPUTDEVICE, *PRAWINPUTDEVICE, *LPRAWINPUTDEVICE;

Miembros

usUsagePage

Tipo: USHORT

Página Uso dela colección de nivel superior para el dispositivo de entrada sin procesar. Consulte Clientes HID admitidos en Windows para obtener más información sobre los valores posibles.

usUsage

Tipo: USHORT

Identificador de uso dela colección de nivel superior para el dispositivo de entrada sin procesar. Consulte Clientes HID admitidos en Windows para obtener más información sobre los valores posibles.

dwFlags

Tipo: DWORD

Marca de modo que especifica cómo interpretar la información proporcionada por usUsagePage y usUsage. Puede ser cero (valor predeterminado) o uno de los valores siguientes. De forma predeterminada, el sistema operativo envía la entrada sin procesar desde dispositivos con la colección de nivel superior (TLC) especificada a la aplicación registrada siempre que tenga el foco de la ventana.

Valor Significado
RIDEV_REMOVE
0x00000001
Si se establece, se quita la colección de nivel superior de la lista de inclusión. Esto indica al sistema operativo que deje de leer desde un dispositivo que coincida con la colección de nivel superior.
RIDEV_EXCLUDE
0x00000010
Si se establece, especifica las colecciones de nivel superior que se excluirán al leer una página de uso completa. Esta marca solo afecta a un TLC cuya página de uso ya está especificada con RIDEV_PAGEONLY.
RIDEV_PAGEONLY
0x00000020
Si se establece, especifica todos los dispositivos cuya colección de nivel superior procede del usUsagePage especificado. Tenga en cuenta que usUsage debe ser cero. Para excluir una colección de nivel superior determinada, use RIDEV_EXCLUDE.
RIDEV_NOLEGACY
0x00000030
Si se establece, esto impide que los dispositivos especificados por usUsagePage o usUsage generen mensajes heredados. Esto solo es para el mouse y el teclado. Vea la sección Comentarios.
RIDEV_INPUTSINK
0x00000100
Si se establece, esto permite al autor de la llamada recibir la entrada incluso cuando el autor de la llamada no está en primer plano. Tenga en cuenta que se debe especificar hwndTarget .
RIDEV_CAPTUREMOUSE
0x00000200
Si se establece, el clic del botón del mouse no activa la otra ventana. RIDEV_CAPTUREMOUSE solo se puede especificar si se especifica RIDEV_NOLEGACY para un dispositivo del mouse.
RIDEV_NOHOTKEYS
0x00000200
Si se establece, las teclas de acceso rápido del dispositivo de teclado definidas por la aplicación no se controlan. Sin embargo, las teclas de acceso rápido del sistema; por ejemplo, ALT+TAB y CTRL+ALT+SUPR, todavía se controlan. De forma predeterminada, se controlan todas las teclas de acceso rápido del teclado. RIDEV_NOHOTKEYS se puede especificar incluso si no se especifica RIDEV_NOLEGACY y hwndTarget es NULL.
RIDEV_APPKEYS
0x00000400
Si se establece, se controlan las claves de comando de la aplicación. RIDEV_APPKEYS solo se puede especificar si se especifica RIDEV_NOLEGACY para un dispositivo de teclado.
RIDEV_EXINPUTSINK
0x00001000
Si se establece, esto permite que el autor de la llamada reciba la entrada en segundo plano solo si la aplicación en primer plano no la procesa. Es decir, si la aplicación en primer plano no está registrada para la entrada sin procesar, la aplicación en segundo plano registrada recibirá la entrada.
Windows XP: Esta marca no se admite hasta Windows Vista
RIDEV_DEVNOTIFY
0x00002000
Si se establece, esto permite que el autor de la llamada reciba WM_INPUT_DEVICE_CHANGE notificaciones para la llegada del dispositivo y la eliminación de dispositivos.
Windows XP: Esta marca no se admite hasta Windows Vista

hwndTarget

Tipo: HWND

Identificador de la ventana de destino. Si NULL sigue el foco del teclado.

Comentarios

Si RIDEV_NOLEGACY se establece para un mouse o un teclado, el sistema no genera ningún mensaje heredado para ese dispositivo para la aplicación. Por ejemplo, si el TLC del mouse se establece con RIDEV_NOLEGACY, no se generan WM_LBUTTONDOWN y mensajes de mouse heredados relacionados . Del mismo modo, si el TLC de teclado se establece con RIDEV_NOLEGACY, no se generan WM_KEYDOWN y mensajes de teclado heredados relacionados.

Si se establece RIDEV_REMOVE y el miembro hwndTarget no se establece en NULL, se producirá un error en la función RegisterRawInputDevices .

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado winuser.h (incluya Windows.h)

Consulte también

Conceptual

GetRegisteredRawInputDevices

Entrada sin procesar

Introducción a los dispositivos de interfaz humana (HID)

Clientes HID admitidos en Windows

Página principal de HID USB

Referencia

RegisterRawInputDevices