openMSX
Public Member Functions | Static Public Member Functions | List of all members
openmsx::Joystick Class Referencefinal

Uses an SDL joystick to emulate an MSX joystick. More...

#include <Joystick.hh>

Inheritance diagram for openmsx::Joystick:
Inheritance graph
[legend]
Collaboration diagram for openmsx::Joystick:
Collaboration graph
[legend]

Public Member Functions

 Joystick (MSXEventDistributor &eventDistributor, StateChangeDistributor &stateChangeDistributor, CommandController &commandController, GlobalSettings &globalSettings, SDL_Joystick *joystick)
 
 ~Joystick ()
 
const std::string & getName () const override
 Name used to identify this pluggable. More...
 
string_ref getDescription () const override
 Description for this pluggable. More...
 
void plugHelper (Connector &connector, EmuTime::param time) override
 
void unplugHelper (EmuTime::param time) override
 
byte read (EmuTime::param time) override
 Read from the joystick device. More...
 
void write (byte value, EmuTime::param time) override
 Write a value to the joystick device. More...
 
template<typename Archive >
void serialize (Archive &ar, unsigned version)
 
- Public Member Functions inherited from openmsx::JoystickDevice
string_ref getClass () const finaloverride
 A pluggable belongs to a certain class. More...
 
- Public Member Functions inherited from openmsx::Pluggable
virtual ~Pluggable ()
 
void plug (Connector &connector, EmuTime::param time)
 This method is called when this pluggable is inserted in a connector. More...
 
void unplug (EmuTime::param time)
 This method is called when this pluggable is removed from a conector. More...
 
ConnectorgetConnector () const
 Get the connector this Pluggable is plugged into. More...
 
bool isPluggedIn () const
 Returns true if this pluggable is currently plugged into a connector. More...
 

Static Public Member Functions

static void registerAll (MSXEventDistributor &eventDistributor, StateChangeDistributor &stateChangeDistributor, CommandController &commandController, GlobalSettings &globalSettings, PluggingController &controller)
 Register all available SDL joysticks. More...
 

Additional Inherited Members

- Protected Member Functions inherited from openmsx::Pluggable
 Pluggable ()
 
void setConnector (Connector *conn)
 
- Static Protected Attributes inherited from openmsx::JoystickDevice
static const int JOY_UP = 0x01
 
static const int JOY_DOWN = 0x02
 
static const int JOY_LEFT = 0x04
 
static const int JOY_RIGHT = 0x08
 
static const int JOY_BUTTONA = 0x10
 
static const int JOY_BUTTONB = 0x20
 
static const int RD_PIN1 = 0x01
 
static const int RD_PIN2 = 0x02
 
static const int RD_PIN3 = 0x04
 
static const int RD_PIN4 = 0x08
 
static const int RD_PIN6 = 0x10
 
static const int RD_PIN7 = 0x20
 
static const int WR_PIN6 = 0x01
 
static const int WR_PIN7 = 0x02
 
static const int WR_PIN8 = 0x04
 

Detailed Description

Uses an SDL joystick to emulate an MSX joystick.

Definition at line 25 of file Joystick.hh.

Constructor & Destructor Documentation

openmsx::Joystick::Joystick ( MSXEventDistributor eventDistributor,
StateChangeDistributor stateChangeDistributor,
CommandController commandController,
GlobalSettings globalSettings,
SDL_Joystick *  joystick 
)
openmsx::Joystick::~Joystick ( )

Member Function Documentation

string_ref openmsx::Joystick::getDescription ( ) const
overridevirtual

Description for this pluggable.

Implements openmsx::Pluggable.

Definition at line 190 of file Joystick.cc.

const string & openmsx::Joystick::getName ( ) const
overridevirtual

Name used to identify this pluggable.

Reimplemented from openmsx::Pluggable.

Definition at line 185 of file Joystick.cc.

void openmsx::Joystick::plugHelper ( Connector connector,
EmuTime::param  time 
)
overridevirtual

Implements openmsx::Pluggable.

Definition at line 195 of file Joystick.cc.

byte openmsx::Joystick::read ( EmuTime::param  time)
overridevirtual

Read from the joystick device.

The bits in the read byte have following meaning: 7 6 5 4 3 2 1 0 | xx | xx | BUTTON_B | BUTTON_A | RIGHT | LEFT | DOWN | UP | | xx | xx | pin7 | pin6 | pin4 | pin3 | pin2 | pin1|

Implements openmsx::JoystickDevice.

Definition at line 218 of file Joystick.cc.

void openmsx::Joystick::registerAll ( MSXEventDistributor eventDistributor,
StateChangeDistributor stateChangeDistributor,
CommandController commandController,
GlobalSettings globalSettings,
PluggingController controller 
)
static

Register all available SDL joysticks.

Definition at line 26 of file Joystick.cc.

References ad_printf, openmsx::InputEventGenerator::joystickNumButtons(), and openmsx::PluggingController::registerPluggable().

Referenced by openmsx::PluggableFactory::createAll().

template<typename Archive >
void openmsx::Joystick::serialize ( Archive &  ar,
unsigned  version 
)

Definition at line 357 of file Joystick.cc.

References openmsx::Pluggable::isPluggedIn().

void openmsx::Joystick::unplugHelper ( EmuTime::param  time)
overridevirtual
void openmsx::Joystick::write ( byte  value,
EmuTime::param  time 
)
overridevirtual

Write a value to the joystick device.

The bits in the written byte have following meaning: 7 6 5 4 3 2 1 0 | xx | xx | xx | xx | xx | pin8 | pin7 | pin6 | As an optimization, this method might not be called when the new value is the same as the previous one.

Implements openmsx::JoystickDevice.

Definition at line 223 of file Joystick.cc.


The documentation for this class was generated from the following files: