14#ifndef WINRAWINPUTDEVICE_H
15#define WINRAWINPUTDEVICE_H
21#if defined(_WIN32) && !defined(CPPPARSER)
23class WinInputDeviceManager;
31class 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,
int sign_bit = 0) {
65 idx._sign_bit = sign_bit;
77 int _hat_data_minimum;
80 WinInputDeviceManager *_manager;
81 friend class WinInputDeviceManager;
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is our own Panda specialization on the default STL vector.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.