5#include "vrpn_Analog.h"
7#include "vrpn_Button.h"
8#include "vrpn_Configure.h"
9#include "vrpn_Connection.h"
11#include "vrpn_HumanInterface.h"
12#include "vrpn_Shared.h"
13#include "vrpn_Types.h"
15#if defined(VRPN_USE_HID)
30 virtual ~vrpn_Microsoft_Controller_Raw(
void);
41 virtual void decodePacket(
size_t bytes, vrpn_uint8 *buffer) = 0;
42 struct timeval _timestamp;
49class vrpn_Microsoft_SideWinder_Precision_2:
protected vrpn_Microsoft_Controller_Raw,
public vrpn_Analog,
public vrpn_Button_Filter,
public vrpn_Dial
52 vrpn_Microsoft_SideWinder_Precision_2(
const char *name,
vrpn_Connection *c = 0);
53 virtual ~vrpn_Microsoft_SideWinder_Precision_2(
void) {};
58 void report_changes (vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY);
60 void report (vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY);
62 void decodePacket(
size_t bytes, vrpn_uint8 *buffer);
65class vrpn_Microsoft_SideWinder:
protected vrpn_Microsoft_Controller_Raw,
public vrpn_Analog,
public vrpn_Button_Filter,
public vrpn_Dial
69 virtual ~vrpn_Microsoft_SideWinder(
void) {};
74 void report_changes (vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY);
76 void report (vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY);
78 void decodePacket(
size_t bytes, vrpn_uint8 *buffer);
81class vrpn_Microsoft_Controller_Raw_Xbox_S :
protected vrpn_Microsoft_Controller_Raw,
public vrpn_Analog,
public vrpn_Button_Filter,
public vrpn_Dial
84 vrpn_Microsoft_Controller_Raw_Xbox_S(
const char *name,
vrpn_Connection *c = 0);
85 virtual ~vrpn_Microsoft_Controller_Raw_Xbox_S(
void) {};
90 void report_changes (vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY);
92 void report (vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY);
94 void decodePacket(
size_t bytes, vrpn_uint8 *buffer);
104class vrpn_Microsoft_Controller_Raw_Xbox_360_base:
protected vrpn_Microsoft_Controller_Raw,
public vrpn_Analog,
public vrpn_Button_Filter,
public vrpn_Dial
107 vrpn_Microsoft_Controller_Raw_Xbox_360_base(
const char* name,
vrpn_Connection* c = 0,
110 virtual ~vrpn_Microsoft_Controller_Raw_Xbox_360_base(
void) {};
116 void report_changes (vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY);
118 void report (vrpn_uint32 class_of_service = vrpn_CONNECTION_LOW_LATENCY);
120 void decodePacket(
size_t bytes, vrpn_uint8 *buffer);
123 vrpn_uint8 _lastDial;
127class vrpn_Microsoft_Controller_Raw_Xbox_360 :
public vrpn_Microsoft_Controller_Raw_Xbox_360_base
130 vrpn_Microsoft_Controller_Raw_Xbox_360(
const char *name,
vrpn_Connection *c);
134class vrpn_Microsoft_Controller_Raw_Xbox_360_Wireless :
public vrpn_Microsoft_Controller_Raw_Xbox_360_base
137 vrpn_Microsoft_Controller_Raw_Xbox_360_Wireless(
const char *name,
vrpn_Connection *c);
141class vrpn_Afterglow_Ax1_For_Xbox_360 :
public vrpn_Microsoft_Controller_Raw_Xbox_360_base
定义 vrpn_Microsoft_Controller_Raw.h:142
vrpn_BaseClass(const char *name, vrpn_Connection *c=NULL)
Generic connection class not specific to the transport mechanism.
定义 vrpn_Connection.h:562
定义 vrpn_HumanInterface.h:56
vrpn_uint16 product() const
vrpn_HidInterface(vrpn_HidAcceptor *acceptor, vrpn_uint16 vendor=0, vrpn_uint16 product=0, hid_device *device=NULL)
vrpn_uint16 vendor() const
定义 vrpn_Microsoft_Controller_Raw.h:135
virtual void mainloop(void)
定义 vrpn_Microsoft_Controller_Raw.h:128
定义 vrpn_Microsoft_Controller_Raw.h:82
virtual void mainloop(void)
virtual void mainloop(void)=0
void on_data_received(size_t bytes, vrpn_uint8 *buffer)
Derived class reimplements this callback. It is called whenever a read returns some data.
int register_types(void)
定义 vrpn_Microsoft_Controller_Raw.h:46
定义 vrpn_Microsoft_Controller_Raw.h:50
virtual void mainloop(void)
定义 vrpn_Microsoft_Controller_Raw.h:66
virtual void mainloop(void)
This structure is what is passed to a vrpn_Connection message callback.
定义 vrpn_Connection.h:41