GetDeviceSpecificInputString and DeviceInputToLocalizedString are
the same: "a string suitable for display", but just formatted slightly differently. Handle these the same way (so hopefully a way to merge them will become visible). This also fixes the RageInputDevice dependency on RageInput.
This commit is contained in:
@@ -97,6 +97,23 @@ RString RageInput::GetDeviceSpecificInputString( const DeviceInput &di )
|
|||||||
return di.ToString();
|
return di.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RString RageInput::GetLocalizedInputString( const DeviceInput &di )
|
||||||
|
{
|
||||||
|
FOREACH( InputHandler*, m_pDevices, i )
|
||||||
|
{
|
||||||
|
vector<InputDeviceInfo> vDevices;
|
||||||
|
(*i)->GetDevicesAndDescriptions( vDevices );
|
||||||
|
|
||||||
|
FOREACH_CONST( InputDeviceInfo, vDevices, idi )
|
||||||
|
{
|
||||||
|
if( idi->id == di.device )
|
||||||
|
return (*i)->GetLocalizedInputString(di);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return Capitalize( DeviceButtonToString(di.button) );
|
||||||
|
}
|
||||||
|
|
||||||
wchar_t RageInput::DeviceInputToChar( DeviceInput di, bool bUseCurrentKeyModifiers )
|
wchar_t RageInput::DeviceInputToChar( DeviceInput di, bool bUseCurrentKeyModifiers )
|
||||||
{
|
{
|
||||||
FOREACH( InputHandler*, m_pDevices, i )
|
FOREACH( InputHandler*, m_pDevices, i )
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ public:
|
|||||||
void WindowReset();
|
void WindowReset();
|
||||||
void AddHandler( InputHandler *pHandler );
|
void AddHandler( InputHandler *pHandler );
|
||||||
RString GetDeviceSpecificInputString( const DeviceInput &di );
|
RString GetDeviceSpecificInputString( const DeviceInput &di );
|
||||||
|
RString GetLocalizedInputString( const DeviceInput &di );
|
||||||
wchar_t DeviceInputToChar( DeviceInput di, bool bUseCurrentKeyModifiers );
|
wchar_t DeviceInputToChar( DeviceInput di, bool bUseCurrentKeyModifiers );
|
||||||
InputDeviceState GetInputDeviceState( InputDevice id );
|
InputDeviceState GetInputDeviceState( InputDevice id );
|
||||||
RString GetDisplayDevicesString() const;
|
RString GetDisplayDevicesString() const;
|
||||||
|
|||||||
@@ -7,8 +7,6 @@
|
|||||||
#include "RageInputDevice.h"
|
#include "RageInputDevice.h"
|
||||||
#include "RageUtil.h"
|
#include "RageUtil.h"
|
||||||
#include "EnumHelper.h"
|
#include "EnumHelper.h"
|
||||||
#include "LocalizedString.h"
|
|
||||||
#include "RageInput.h"
|
|
||||||
|
|
||||||
static map<DeviceButton,RString> g_mapNamesToString;
|
static map<DeviceButton,RString> g_mapNamesToString;
|
||||||
static map<RString,DeviceButton> g_mapStringToNames;
|
static map<RString,DeviceButton> g_mapStringToNames;
|
||||||
@@ -150,48 +148,6 @@ RString DeviceButtonToString( DeviceButton key )
|
|||||||
return "unknown";
|
return "unknown";
|
||||||
}
|
}
|
||||||
|
|
||||||
static LocalizedString HOME ( "DeviceButton", "Home" );
|
|
||||||
static LocalizedString END ( "DeviceButton", "End" );
|
|
||||||
static LocalizedString UP ( "DeviceButton", "Up" );
|
|
||||||
static LocalizedString DOWN ( "DeviceButton", "Down" );
|
|
||||||
static LocalizedString SPACE ( "DeviceButton", "Space" );
|
|
||||||
static LocalizedString SHIFT ( "DeviceButton", "Shift" );
|
|
||||||
static LocalizedString CTRL ( "DeviceButton", "Ctrl" );
|
|
||||||
static LocalizedString ALT ( "DeviceButton", "Alt" );
|
|
||||||
static LocalizedString INSERT ( "DeviceButton", "Insert" );
|
|
||||||
static LocalizedString DELETE ( "DeviceButton", "Delete" );
|
|
||||||
static LocalizedString PGUP ( "DeviceButton", "PgUp" );
|
|
||||||
static LocalizedString PGDN ( "DeviceButton", "PgDn" );
|
|
||||||
static LocalizedString BACKSLASH ( "DeviceButton", "Backslash" );
|
|
||||||
|
|
||||||
/* Return the name of the button, as it probably appears on the device itself, such as a keycap;
|
|
||||||
* eg. "a". */
|
|
||||||
RString DeviceInputToLocalizedString( DeviceInput di )
|
|
||||||
{
|
|
||||||
switch( di.button )
|
|
||||||
{
|
|
||||||
case KEY_HOME: return HOME.GetValue();
|
|
||||||
case KEY_END: return END.GetValue();
|
|
||||||
case KEY_UP: return UP.GetValue();
|
|
||||||
case KEY_DOWN: return DOWN.GetValue();
|
|
||||||
case KEY_SPACE: return SPACE.GetValue();
|
|
||||||
case KEY_LSHIFT: case KEY_RSHIFT: return SHIFT.GetValue();
|
|
||||||
case KEY_LCTRL: case KEY_RCTRL: return CTRL.GetValue();
|
|
||||||
case KEY_LALT: case KEY_RALT: return ALT.GetValue();
|
|
||||||
case KEY_INSERT: return INSERT.GetValue();
|
|
||||||
case KEY_DEL: return DELETE.GetValue();
|
|
||||||
case KEY_PGUP: return PGUP.GetValue();
|
|
||||||
case KEY_PGDN: return PGDN.GetValue();
|
|
||||||
case KEY_BACKSLASH: return BACKSLASH.GetValue();
|
|
||||||
default:
|
|
||||||
wchar_t c = INPUTMAN->DeviceInputToChar(di,false);
|
|
||||||
if( c )
|
|
||||||
return Capitalize( WStringToRString(wstring()+c) );
|
|
||||||
|
|
||||||
return Capitalize( DeviceButtonToString(di.button) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
DeviceButton StringToDeviceButton( const RString& s )
|
DeviceButton StringToDeviceButton( const RString& s )
|
||||||
{
|
{
|
||||||
InitNames();
|
InitNames();
|
||||||
|
|||||||
@@ -339,8 +339,6 @@ public:
|
|||||||
bool IsJoystick() const { return ::IsJoystick(device); }
|
bool IsJoystick() const { return ::IsJoystick(device); }
|
||||||
};
|
};
|
||||||
|
|
||||||
RString DeviceInputToLocalizedString( DeviceInput di );
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001-2002 Chris Danford
|
* Copyright (c) 2001-2002 Chris Danford
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
#include "ScreenSaveSync.h"
|
#include "ScreenSaveSync.h"
|
||||||
#include "GameConstantsAndTypes.h"
|
#include "GameConstantsAndTypes.h"
|
||||||
#include "GameManager.h"
|
#include "GameManager.h"
|
||||||
|
#include "RageInput.h"
|
||||||
#include "RageLog.h"
|
#include "RageLog.h"
|
||||||
#include "GameSoundManager.h"
|
#include "GameSoundManager.h"
|
||||||
#include "GameState.h"
|
#include "GameState.h"
|
||||||
@@ -3585,9 +3586,9 @@ static RString GetDeviceButtonsLocalized( const vector<EditButton> &veb, const M
|
|||||||
DeviceInput diPress = editmap.button[*eb][s];
|
DeviceInput diPress = editmap.button[*eb][s];
|
||||||
DeviceInput diHold = editmap.hold[*eb][s];
|
DeviceInput diHold = editmap.hold[*eb][s];
|
||||||
if( diPress.IsValid() )
|
if( diPress.IsValid() )
|
||||||
vsPress.push_back( DeviceInputToLocalizedString(diPress) );
|
vsPress.push_back( INPUTMAN->GetLocalizedInputString(diPress) );
|
||||||
if( diHold.IsValid() )
|
if( diHold.IsValid() )
|
||||||
vsHold.push_back( DeviceInputToLocalizedString(diHold) );
|
vsHold.push_back( INPUTMAN->GetLocalizedInputString(diHold) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
#include "RageUtil.h"
|
#include "RageUtil.h"
|
||||||
#include "InputHandler.h"
|
#include "InputHandler.h"
|
||||||
#include "RageLog.h"
|
#include "RageLog.h"
|
||||||
|
#include "LocalizedString.h"
|
||||||
|
|
||||||
void InputHandler::UpdateTimer()
|
void InputHandler::UpdateTimer()
|
||||||
{
|
{
|
||||||
@@ -118,6 +119,46 @@ RString InputHandler::GetDeviceSpecificInputString( const DeviceInput &di )
|
|||||||
return di.ToString();
|
return di.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static LocalizedString HOME ( "DeviceButton", "Home" );
|
||||||
|
static LocalizedString END ( "DeviceButton", "End" );
|
||||||
|
static LocalizedString UP ( "DeviceButton", "Up" );
|
||||||
|
static LocalizedString DOWN ( "DeviceButton", "Down" );
|
||||||
|
static LocalizedString SPACE ( "DeviceButton", "Space" );
|
||||||
|
static LocalizedString SHIFT ( "DeviceButton", "Shift" );
|
||||||
|
static LocalizedString CTRL ( "DeviceButton", "Ctrl" );
|
||||||
|
static LocalizedString ALT ( "DeviceButton", "Alt" );
|
||||||
|
static LocalizedString INSERT ( "DeviceButton", "Insert" );
|
||||||
|
static LocalizedString DELETE ( "DeviceButton", "Delete" );
|
||||||
|
static LocalizedString PGUP ( "DeviceButton", "PgUp" );
|
||||||
|
static LocalizedString PGDN ( "DeviceButton", "PgDn" );
|
||||||
|
static LocalizedString BACKSLASH ( "DeviceButton", "Backslash" );
|
||||||
|
|
||||||
|
RString InputHandler::GetLocalizedInputString( const DeviceInput &di )
|
||||||
|
{
|
||||||
|
switch( di.button )
|
||||||
|
{
|
||||||
|
case KEY_HOME: return HOME.GetValue();
|
||||||
|
case KEY_END: return END.GetValue();
|
||||||
|
case KEY_UP: return UP.GetValue();
|
||||||
|
case KEY_DOWN: return DOWN.GetValue();
|
||||||
|
case KEY_SPACE: return SPACE.GetValue();
|
||||||
|
case KEY_LSHIFT: case KEY_RSHIFT: return SHIFT.GetValue();
|
||||||
|
case KEY_LCTRL: case KEY_RCTRL: return CTRL.GetValue();
|
||||||
|
case KEY_LALT: case KEY_RALT: return ALT.GetValue();
|
||||||
|
case KEY_INSERT: return INSERT.GetValue();
|
||||||
|
case KEY_DEL: return DELETE.GetValue();
|
||||||
|
case KEY_PGUP: return PGUP.GetValue();
|
||||||
|
case KEY_PGDN: return PGDN.GetValue();
|
||||||
|
case KEY_BACKSLASH: return BACKSLASH.GetValue();
|
||||||
|
default:
|
||||||
|
wchar_t c = DeviceButtonToChar(di.button,false);
|
||||||
|
if( c )
|
||||||
|
return Capitalize( WStringToRString(wstring()+c) );
|
||||||
|
|
||||||
|
return Capitalize( DeviceButtonToString(di.button) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* (c) 2003-2004 Glenn Maynard
|
* (c) 2003-2004 Glenn Maynard
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ public:
|
|||||||
|
|
||||||
// Override to return a pretty string that's specific to the controller type.
|
// Override to return a pretty string that's specific to the controller type.
|
||||||
virtual RString GetDeviceSpecificInputString( const DeviceInput &di );
|
virtual RString GetDeviceSpecificInputString( const DeviceInput &di );
|
||||||
|
virtual RString GetLocalizedInputString( const DeviceInput &di );
|
||||||
virtual wchar_t DeviceButtonToChar( DeviceButton button, bool bUseCurrentKeyModifiers );
|
virtual wchar_t DeviceButtonToChar( DeviceButton button, bool bUseCurrentKeyModifiers );
|
||||||
|
|
||||||
// Override to find out whether the controller is currently plugged in.
|
// Override to find out whether the controller is currently plugged in.
|
||||||
|
|||||||
Reference in New Issue
Block a user