|
From: Lasse Kärkkäi. <tr...@us...> - 2011-02-23 22:34:38
|
Author: Lasse Kärkkäinen <tronic+ndrm at trn.iki.fi> Date: Wed Feb 23 21:27:13 2011 +0100 Add mapping for RockBand guitar with USB adapter --- data/controllers.xml | 15 +++++++++++++++ game/joystick.cc | 8 ++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/data/controllers.xml b/data/controllers.xml index 6e8560b..23fbca1 100644 --- a/data/controllers.xml +++ b/data/controllers.xml @@ -53,6 +53,21 @@ <button id="7" value="start" /> </mapping> </controller> + <controller type="guitar" name="GUITAR_ROCKBAND_XBOXADAPTER"> + <description>Rock Band guitar Xbox with USB adapter</description> + <regexp match="Generic X-Box pad" /> + <mapping> + <button id="0" value="green" /> + <button id="1" value="red" /> + <button id="2" value="blue" /> + <button id="3" value="yellow" /> + <button id="4" value="orange" /> + <button id="10" value="select" /> + <button id="6" value="start" /> + <axis id="4" range="-32768" value="godmode" /> + <axis id="3" range="-32768:32767" value="whammy" /> + </mapping> + </controller> <controller type="guitar" name="GUITAR_ROCKBAND_PS3"> <description>Rock Band guitar PS3</description> <regexp match="Harmonix Guitar .* PlayStation" /> diff --git a/game/joystick.cc b/game/joystick.cc index 663c12c..e18499a 100644 --- a/game/joystick.cc +++ b/game/joystick.cc @@ -768,7 +768,9 @@ bool input::SDL::pushEvent(SDL_Event _e) { } break; } else if ((dev.name() != "GUITAR_GUITARHERO_XPLORER" && _e.jaxis.axis == 2 ) - || (dev.name() == "GUITAR_ROCKBAND_XBOX360" && _e.jaxis.axis == 4)) { + || (dev.name() == "GUITAR_ROCKBAND_XBOX360" && _e.jaxis.axis == 4) + || (dev.name() == "GUITAR_ROCKBAND_XBOXADAPTER" && _e.jaxis.axis == 3)) + { // Whammy bar (special case for XBox RB guitar for( unsigned int i = 0 ; i < BUTTONS ; ++i ) { event.pressed[i] = dev.pressed(i); @@ -784,7 +786,9 @@ bool input::SDL::pushEvent(SDL_Event _e) { dev.addEvent(event); break; } else if ((dev.name() == "GUITAR_ROCKBAND_XBOX360" && _e.jaxis.axis == 3) - || (dev.name() == "GUITAR_GUITARHERO_XPLORER" && _e.jaxis.axis == 2)) { + || (dev.name() == "GUITAR_GUITARHERO_XPLORER" && _e.jaxis.axis == 2) + || (dev.name() == "GUITAR_ROCKBAND_XBOXADAPTER" && _e.jaxis.axis ==4)) + { // Tilt sensor as an axis on some guitars for( unsigned int i = 0 ; i < BUTTONS ; ++i ) { event.pressed[i] = dev.pressed(i); |