14#ifndef EVDEVINPUTDEVICE_H
15#define EVDEVINPUTDEVICE_H
19#ifdef PHAVE_LINUX_INPUT_H
21class LinuxInputDeviceManager;
30class EXPCL_PANDA_DEVICE EvdevInputDevice :
public InputDevice {
32 EvdevInputDevice(LinuxInputDeviceManager *manager,
size_t index);
33 virtual ~EvdevInputDevice();
35 bool reactivate_steam_controller();
38 virtual void do_set_vibration(
double strong,
double weak);
39 virtual void do_poll();
42 bool process_events();
45 LinuxInputDeviceManager *_manager;
57 pvector<int> _axis_indices;
58 pvector<int> _button_indices;
63 int _dpad_left_button;
73 DeviceClass device_class = DeviceClass::unknown,
77 static TypeHandle get_class_type() {
80 static void init_type() {
81 InputDevice::init_type();
83 InputDevice::get_class_type());
85 virtual TypeHandle get_type()
const {
86 return get_class_type();
88 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
91 static TypeHandle _type_handle;
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...