#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; bool getButton(int i) const override; double getAxis(int i) const override; 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; };