48#ifndef XBOXCONTROLLER_H_
49#define XBOXCONTROLLER_H_
56#include <linux/joystick.h>
59#define IDENTIFIER_SIZE 64
61#define STICK_LEFT_X_ID 0x00
62#define STICK_LEFT_Y_ID 0x01
63#define STICK_RIGHT_X_ID 0x03
64#define STICK_RIGHT_Y_ID 0x04
65#define STICK_LEFT_TOP_ID 0x02
66#define STICK_RIGHT_TOP_ID 0x05
67#define CROSS_LR_ID 0x06
68#define CROSS_FB_ID 0x07
70#define BTN_BACK_ID 0x06
71#define BTN_START_ID 0x07
72#define BTN_XBOX_ID 0x08
73#define BTN_LEFT_STICK_ID 0x09
74#define BTN_RIGHT_STICK_ID 0x0A
80#define BTN_TOP_LEFT_ID 0x04
81#define BTN_TOP_RIGHT_ID 0x05
83static std::string
s =
"/dev/input/js0";
Class for opening joystick and reading values from XboxController.
Definition: xbox_controller.hpp:114
XboxCtrl * xbox
Definition: xbox_controller.hpp:119
int fd
Definition: xbox_controller.hpp:118
char joysickIdentifier[IDENTIFIER_SIZE]
Definition: xbox_controller.hpp:117
XboxCtrl * GetXboxDataStruct(void)
Allocate mememory for XboxDataStruct.
Definition: xbox_controller.cpp:25
void DeinitXboxController(XboxCtrl *xbox)
Closes opened controller.
Definition: xbox_controller.cpp:9
int InitXboxController(char *dev)
Opens xbox controller via file descriptor.
Definition: xbox_controller.cpp:14
void PrintXboxCtrlValues(XboxCtrl *xbox)
Prints acquired values from xbox controller.
Definition: xbox_controller.cpp:119
void ReadXboxData(XboxCtrl *xbox)
Reads actual values from xbox controller such as axis data and button data.
Definition: xbox_controller.cpp:47
void SetXboxCtrlValue(XboxCtrl *xbox, struct js_event *js)
Assing acquired values to controller struct.
Definition: xbox_controller.cpp:51
void ReadXboxControllerInformation(XboxCtrl *xbox)
Reads xbox controller information, e.g number of axis and buttons.
Definition: xbox_controller.cpp:33
struct js_event js
Definition: xbox_controller.hpp:116
Structure for reading values from XboxController.
Definition: xbox_controller.hpp:86
int stk_crossFB
Definition: xbox_controller.hpp:94
int btn_A
Definition: xbox_controller.hpp:102
int btn_leftTop
Definition: xbox_controller.hpp:107
int btn_start
Definition: xbox_controller.hpp:99
int stk_LeftTop
Definition: xbox_controller.hpp:96
int btn_X
Definition: xbox_controller.hpp:104
int stk_RightTop
Definition: xbox_controller.hpp:97
int btn_rightStk
Definition: xbox_controller.hpp:101
int btn_leftStk
Definition: xbox_controller.hpp:100
int numOfAxis
Definition: xbox_controller.hpp:87
int btn_B
Definition: xbox_controller.hpp:103
int stk_RightY
Definition: xbox_controller.hpp:93
int stk_LeftY
Definition: xbox_controller.hpp:91
int stk_crossLR
Definition: xbox_controller.hpp:95
int btn_xbox
Definition: xbox_controller.hpp:106
int btn_rightTop
Definition: xbox_controller.hpp:108
int btn_back
Definition: xbox_controller.hpp:98
int stk_LeftX
Definition: xbox_controller.hpp:90
int numOfButtons
Definition: xbox_controller.hpp:88
int stk_RightX
Definition: xbox_controller.hpp:92
int btn_Y
Definition: xbox_controller.hpp:105
#define IDENTIFIER_SIZE
Definition: xbox_controller.hpp:59
static char * XBOX_DEVICE
Definition: xbox_controller.hpp:84
static std::string s
Definition: xbox_controller.hpp:83