1 // jsinput.h -- wait for and identify input from joystick 2 // 3 // Written by Tony Peden, started May 2001 4 // 5 // Copyright (C) 2001 Tony Peden (apeden@earthlink.net) 6 // 7 // This program is free software; you can redistribute it and/or 8 // modify it under the terms of the GNU General Public License as 9 // published by the Free Software Foundation; either version 2 of the 10 // License, or (at your option) any later version. 11 // 12 // This program is distributed in the hope that it will be useful, but 13 // WITHOUT ANY WARRANTY; without even the implied warranty of 14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 // General Public License for more details. 16 // 17 // You should have received a copy of the GNU General Public License 18 // along with this program; if not, write to the Free Software 19 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 21 22 23 #ifndef _JSINPUT_H 24 #define _JSINPUT_H 25 26 #include <cmath> // for fabs 27 28 #include "jssuper.h" 29 30 class jsInput { 31 private: 32 jsSuper *jss; 33 bool pretty_display; 34 float axes[_JS_MAX_AXES]; 35 float axes_iv[MAX_JOYSTICKS][_JS_MAX_AXES]; 36 int button_iv[MAX_JOYSTICKS]; 37 38 int joystick,axis,button; 39 bool axis_positive; 40 41 float axis_threshold; 42 43 public: 44 jsInput(jsSuper *jss); 45 ~jsInput(void); 46 displayValues(bool bb)47 inline void displayValues(bool bb) { pretty_display=bb; } 48 49 int getInput(void); 50 void findDeadBand(void); 51 getInputJoystick(void)52 inline int getInputJoystick(void) { return joystick; } getInputAxis(void)53 inline int getInputAxis(void) { return axis; } getInputButton(void)54 inline int getInputButton(void) { return button; } getInputAxisPositive(void)55 inline bool getInputAxisPositive(void) { return axis_positive; } 56 getReturnThreshold(void)57 inline float getReturnThreshold(void) { return axis_threshold; } setReturnThreshold(float ff)58 inline void setReturnThreshold(float ff) 59 { if(fabs(ff) <= 1.0) axis_threshold=ff; } 60 }; 61 62 63 #endif 64