From: <m97...@us...> - 2007-06-30 11:08:07
|
Revision: 6678 http://svn.sourceforge.net/openmsx/?rev=6678&view=rev Author: m9710797 Date: 2007-06-30 04:08:05 -0700 (Sat, 30 Jun 2007) Log Message: ----------- allow to use bindings on joysticks that are not plugged in Modified Paths: -------------- openmsx/trunk/ChangeLog openmsx/trunk/src/input/Joystick.cc openmsx/trunk/src/input/Joystick.hh Modified: openmsx/trunk/ChangeLog =================================================================== --- openmsx/trunk/ChangeLog 2007-06-30 10:55:38 UTC (rev 6677) +++ openmsx/trunk/ChangeLog 2007-06-30 11:08:05 UTC (rev 6678) @@ -1,5 +1,9 @@ $Id$ +2007-06-30 Wouter Vermaelen <wou...@sc...> + * allow to use bindings on joysticks that are not plugged in (into the + emulated MSX) + 2007-06-27 Wouter Vermaelen <wou...@sc...> * Created new directory 'utils' and moved several files into it Modified: openmsx/trunk/src/input/Joystick.cc =================================================================== --- openmsx/trunk/src/input/Joystick.cc 2007-06-30 10:55:38 UTC (rev 6677) +++ openmsx/trunk/src/input/Joystick.cc 2007-06-30 11:08:05 UTC (rev 6678) @@ -28,18 +28,16 @@ Joystick::Joystick(MSXEventDistributor& eventDistributor_, unsigned joyNum_) : eventDistributor(eventDistributor_) , joyNum(joyNum_) - , joystick(0) + , name(string("joystick") + (char)('1' + joyNum)) + , desc(string(SDL_JoystickName(joyNum))) + , joystick(SDL_JoystickOpen(joyNum)) { - PRT_DEBUG("Creating a Joystick object for joystick " << joyNum); - assert(joyNum < (unsigned)SDL_NumJoysticks()); - name = string("joystick") + (char)('1' + joyNum); - desc = string(SDL_JoystickName(joyNum)); } Joystick::~Joystick() { if (joystick) { - closeJoystick(); + SDL_JoystickClose(joystick); } } @@ -56,8 +54,6 @@ void Joystick::plugHelper(Connector& /*connector*/, const EmuTime& /*time*/) { - PRT_DEBUG("Opening joystick " << SDL_JoystickName(joyNum)); - joystick = SDL_JoystickOpen(joyNum); if (!joystick) { throw PlugException("Failed to open joystick device"); } @@ -70,14 +66,7 @@ void Joystick::unplugHelper(const EmuTime& /*time*/) { - closeJoystick(); -} - -void Joystick::closeJoystick() -{ eventDistributor.unregisterEventListener(*this); - SDL_JoystickClose(joystick); - joystick = 0; } Modified: openmsx/trunk/src/input/Joystick.hh =================================================================== --- openmsx/trunk/src/input/Joystick.hh 2007-06-30 10:55:38 UTC (rev 6677) +++ openmsx/trunk/src/input/Joystick.hh 2007-06-30 11:08:05 UTC (rev 6678) @@ -37,7 +37,6 @@ private: Joystick(MSXEventDistributor& eventDistributor, unsigned joyNum); virtual ~Joystick(); - void closeJoystick(); // MSXEventListener virtual void signalEvent(shared_ptr<const Event> event, @@ -47,11 +46,11 @@ MSXEventDistributor& eventDistributor; - std::string name; - std::string desc; + const unsigned joyNum; + const std::string name; + const std::string desc; + SDL_Joystick* const joystick; - unsigned joyNum; - SDL_Joystick* joystick; byte status; }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |