X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fgui%2Fgamepad.cpp;h=93989eed7ae7a975ecdec6d39469f23e06809da6;hb=f005034d4a3990efc8e445ce46222ce32600411b;hp=84307f8ea612e996d9ebcad2a58293efae2e7e23;hpb=9d399cea8466c7e4a6a1336dafdc830c4680d977;p=virtualjaguar diff --git a/src/gui/gamepad.cpp b/src/gui/gamepad.cpp index 84307f8..93989ee 100644 --- a/src/gui/gamepad.cpp +++ b/src/gui/gamepad.cpp @@ -18,6 +18,7 @@ // Class member initialization /*static*/ int Gamepad::numJoysticks = 0; /*static*/ SDL_Joystick * Gamepad::pad[8]; +/*static*/ const char * Gamepad::padName[8]; /*static*/ int Gamepad::numButtons[8]; /*static*/ int Gamepad::numHats[8]; /*static*/ int Gamepad::numAxes[8]; @@ -50,7 +51,8 @@ void Gamepad::AllocateJoysticks(void) for(int i=0; i= 8) + return NULL; + + return padName[joystickID]; +} + + bool Gamepad::GetState(int joystickID, int buttonID) { uint8_t hatMask[8] = { 1, 2, 4, 8, 16, 32, 64, 128 }; @@ -92,14 +104,21 @@ bool Gamepad::GetState(int joystickID, int buttonID) { int axisNum = (buttonID & JOY_AXISNUM_MASK) >> 1; int direction = (buttonID & JOY_AXISDIR_MASK); +//printf("Checking pad #%u axis %u: axis = %i, direction = %u\n", joystickID, axisNum, axis[joystickID][axisNum], direction); if (axis[joystickID][axisNum] != 0) { - if (axis[joystickID][axisNum] > 0 && (direction == 0)) + if ((axis[joystickID][axisNum] > 32000) && (direction == 0)) +//{ +//printf("Axis + hit!\n"); return true; +//} - if (axis[joystickID][axisNum] < 0 && (direction == 1)) + if ((axis[joystickID][axisNum] < -32000) && (direction == 1)) +//{ +//printf("Axis - hit!\n"); return true; +//} } }