|
@@ -14,6 +14,7 @@
|
|
|
#include "winInputDeviceManager.h"
|
|
#include "winInputDeviceManager.h"
|
|
|
#include "winRawInputDevice.h"
|
|
#include "winRawInputDevice.h"
|
|
|
#include "throw_event.h"
|
|
#include "throw_event.h"
|
|
|
|
|
+#include "phidsdi.h"
|
|
|
|
|
|
|
|
#if defined(_WIN32) && !defined(CPPPARSER)
|
|
#if defined(_WIN32) && !defined(CPPPARSER)
|
|
|
|
|
|
|
@@ -385,7 +386,7 @@ setup_message_loop() {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Now listen for raw input devices using the created message loop.
|
|
// Now listen for raw input devices using the created message loop.
|
|
|
- RAWINPUTDEVICE rid[3];
|
|
|
|
|
|
|
+ RAWINPUTDEVICE rid[4];
|
|
|
rid[0].usUsagePage = 1;
|
|
rid[0].usUsagePage = 1;
|
|
|
rid[0].usUsage = 4; // Joysticks
|
|
rid[0].usUsage = 4; // Joysticks
|
|
|
rid[0].dwFlags = RIDEV_DEVNOTIFY | RIDEV_INPUTSINK;
|
|
rid[0].dwFlags = RIDEV_DEVNOTIFY | RIDEV_INPUTSINK;
|
|
@@ -398,7 +399,11 @@ setup_message_loop() {
|
|
|
rid[2].usUsage = 8; // Multi-axis controllers (including 3D mice)
|
|
rid[2].usUsage = 8; // Multi-axis controllers (including 3D mice)
|
|
|
rid[2].dwFlags = RIDEV_DEVNOTIFY | RIDEV_INPUTSINK;
|
|
rid[2].dwFlags = RIDEV_DEVNOTIFY | RIDEV_INPUTSINK;
|
|
|
rid[2].hwndTarget = _message_hwnd;
|
|
rid[2].hwndTarget = _message_hwnd;
|
|
|
- if (!RegisterRawInputDevices(rid, 3, sizeof(RAWINPUTDEVICE))) {
|
|
|
|
|
|
|
+ rid[3].usUsagePage = HID_USAGE_PAGE_DIGITIZER;
|
|
|
|
|
+ rid[3].usUsage = 1; // Digitizers
|
|
|
|
|
+ rid[3].dwFlags = RIDEV_DEVNOTIFY | RIDEV_INPUTSINK;
|
|
|
|
|
+ rid[3].hwndTarget = _message_hwnd;
|
|
|
|
|
+ if (!RegisterRawInputDevices(rid, 4, sizeof(RAWINPUTDEVICE))) {
|
|
|
device_cat.warning()
|
|
device_cat.warning()
|
|
|
<< "Failed to register raw input devices.\n";
|
|
<< "Failed to register raw input devices.\n";
|
|
|
}
|
|
}
|