AppleWin/source/frontends/ncurses/evdevpaddle.h
Andrea Odetti d314546b11 Paddle: make raw interface to return values in [-1,1] to ease transformations.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2020-10-15 16:24:20 +01:00

35 lines
625 B
C++

#pragma once
#include "linux/paddle.h"
#include <string>
#include <vector>
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 double getAxis(int i) const;
private:
int myFD;
std::shared_ptr<libevdev> myDev;
void process(const input_event & ev);
std::string myName;
std::vector<unsigned int> myButtonCodes;
std::vector<unsigned int> myAxisCodes;
std::vector<int> myAxisMins;
std::vector<int> myAxisMaxs;
};