14 #ifndef WINRAWINPUTDEVICE_H 15 #define WINRAWINPUTDEVICE_H 21 #if defined(_WIN32) && !defined(CPPPARSER) 23 class WinInputDeviceManager;
31 class EXPCL_PANDA_DEVICE WinRawInputDevice final :
public InputDevice {
33 WinRawInputDevice(WinInputDeviceManager *manager,
const char *path);
36 bool on_arrival(HANDLE handle,
const RID_DEVICE_INFO &info, std::string name);
38 void on_input(PRAWINPUT input);
39 void process_report(PCHAR ptr,
size_t size);
42 virtual void do_poll();
45 const std::string _path;
48 ULONG _max_data_count;
55 Index() : _button(-1), _axis(-1) {}
57 static Index button(
int index) {
62 static Index axis(
int index,
bool is_signed=
true) {
65 idx._signed = is_signed;
77 int _hat_data_minimum;
80 WinInputDeviceManager *_manager;
81 friend class WinInputDeviceManager;
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is our own Panda specialization on the default STL vector.