|
From: Laurent C. <lor...@us...> - 2010-01-19 16:41:10
|
Module: performous
Branch: master
Commit: 27909534fc273c125fe7b8fd370ab1cef5e8ffa6
Author: Laurent Carlier <lor...@us...>
Date: Tue Jan 19 17:37:44 2010 +0100
- Rename DANCEPAD_GENERIC2 to DANCEPAD_EMS2
- Add autodetect for EMS2 adaptater
---
game/joystick.cc | 15 +++++++++------
game/joystick.hh | 4 ++--
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/game/joystick.cc b/game/joystick.cc
index e76db23..e2ebc77 100644
--- a/game/joystick.cc
+++ b/game/joystick.cc
@@ -70,7 +70,7 @@ int input::buttonFromSDL(input::detail::Type _type, unsigned int _sdl_button) {
case DRUMS_MIDI: throw std::logic_error("MIDI drums do not use SDL buttons");
case DANCEPAD_GENERIC: return inputmap[7][_sdl_button];
case DANCEPAD_TIGERGAME: return inputmap[8][_sdl_button];
- case DANCEPAD_GENERIC2: return inputmap[9][_sdl_button];
+ case DANCEPAD_EMS2: return inputmap[9][_sdl_button];
}
throw std::logic_error("Unknown instrument type in buttonFromSDL");
}
@@ -187,7 +187,7 @@ void input::SDL::init() {
using namespace boost::spirit::classic;
rule<> type = str_p("GUITAR_GUITARHERO_XPLORER") | "GUITAR_ROCKBAND_PS3" | "GUITAR_ROCKBAND_XB360"
| "GUITAR_GUITARHERO" | "DRUMS_GUITARHERO" | "DRUMS_ROCKBAND_PS3" | "DRUMS_ROCKBAND_XB360"
- | "DRUMS_MIDI" | "DANCEPAD_GENERIC2" | "DANCEPAD_GENERIC" | "DANCEPAD_TIGERGAME";
+ | "DRUMS_MIDI" | "DANCEPAD_EMS2" | "DANCEPAD_GENERIC" | "DANCEPAD_TIGERGAME";
rule<> entry = uint_p[assign_a(sdl_id)] >> ":" >> (type)[assign_a(instrument_type)];
ConfigItem::StringList const& instruments = config["game/instruments"].sl();
@@ -216,8 +216,8 @@ void input::SDL::init() {
forced_type[sdl_id] = input::detail::DANCEPAD_GENERIC;
} else if (instrument_type == "DANCEPAD_TIGERGAME") {
forced_type[sdl_id] = input::detail::DANCEPAD_TIGERGAME;
- } else if (instrument_type == "DANCEPAD_GENERIC2") {
- forced_type[sdl_id] = input::detail::DANCEPAD_GENERIC2;
+ } else if (instrument_type == "DANCEPAD_EMS2") {
+ forced_type[sdl_id] = input::detail::DANCEPAD_EMS2;
}
}
}
@@ -270,8 +270,8 @@ void input::SDL::init() {
case input::detail::DANCEPAD_GENERIC:
std::cout << " Detected as: Generic dance pad (forced)" << std::endl;
break;
- case input::detail::DANCEPAD_GENERIC2:
- std::cout << " Detected as: Generic2 dance pad (forced)" << std::endl;
+ case input::detail::DANCEPAD_EMS2:
+ std::cout << " Detected as: EMS2 dance pad controller converter(forced)" << std::endl;
break;
}
input::detail::devices[i] = input::detail::InputDevPrivate(forced_type[i]);
@@ -323,6 +323,9 @@ void input::SDL::init() {
} else if( name.find("Joypad to USB converter") != std::string::npos ) {
std::cout << " Detected as: Generic Dance Pad (guessed)" << std::endl;
input::detail::devices[i] = input::detail::InputDevPrivate(input::detail::DANCEPAD_GENERIC);
+ } else if( name.find("0b43:0003") != std::string::npos ) {
+ std::cout << " Detected as: EMS2 Dance Pad controller converter (guessed)" << std::endl;
+ input::detail::devices[i] = input::detail::InputDevPrivate(input::detail::DANCEPAD_GENERIC);
} else {
std::cout << " Detected as: Unknown (please report the name; use config to force detection)" << std::endl;
SDL_JoystickClose(joy);
diff --git a/game/joystick.hh b/game/joystick.hh
index 827bc34..6d5cc7c 100644
--- a/game/joystick.hh
+++ b/game/joystick.hh
@@ -33,7 +33,7 @@ namespace input {
namespace detail {
enum Type { GUITAR_RB_PS3, DRUMS_RB_PS3, GUITAR_RB_XB360, DRUMS_RB_XB360,
- GUITAR_GH, GUITAR_GH_XPLORER, DRUMS_GH, DRUMS_MIDI, DANCEPAD_TIGERGAME, DANCEPAD_GENERIC, DANCEPAD_GENERIC2 };
+ GUITAR_GH, GUITAR_GH_XPLORER, DRUMS_GH, DRUMS_MIDI, DANCEPAD_TIGERGAME, DANCEPAD_GENERIC, DANCEPAD_EMS2 };
static unsigned int KEYBOARD_ID = UINT_MAX;
static unsigned int KEYBOARD_ID2 = KEYBOARD_ID-1;
static unsigned int KEYBOARD_ID3 = KEYBOARD_ID-2; // Three ids needed for keyboard guitar/drumkit/dancepad
@@ -91,7 +91,7 @@ namespace input {
case DRUMS_RB_XB360:
return _type == DRUMS;
case DANCEPAD_GENERIC:
- case DANCEPAD_GENERIC2:
+ case DANCEPAD_EMS2:
case DANCEPAD_TIGERGAME:
return _type == DANCEPAD;
}
|