#pragma once #include "linux/paddle.h" #include #include struct libevdev; struct input_event; class EvDevPaddle : public Paddle { public: EvDevPaddle(const std::string & device); ~EvDevPaddle(); int poll(); const std::string & getName() const; virtual bool getButton(int i) const; virtual int getAxis(int i) const; private: int myFD; std::shared_ptr myDev; void process(const input_event & ev); std::string myName; std::vector myButtonCodes; std::vector myAxisCodes; std::vector myAxisMins; std::vector myAxisMaxs; };