silence warning spew if no hid devices plugged in

This commit is contained in:
Chris Danford
2006-01-09 01:10:37 +00:00
parent 848b2b0909
commit 7fe210a516
3 changed files with 29 additions and 7 deletions
@@ -65,7 +65,7 @@ static int GetNumUsbHidDevices()
// The "Enum" key doesn't exist if no hid devices are attached, so it's expected that GetRegValue will sometimes fail.
// TODO: Does this work in Win98 and Win2K?
int i = 0;
RegistryAccess::GetRegValue( "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\HidUsb\\Enum", "Count", i );
RegistryAccess::GetRegValue( "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\HidUsb\\Enum", "Count", i, false ); // don't warn on error
return i;
}
@@ -384,7 +384,28 @@ void InputHandler_DInput::UpdateBuffered( DIDevice &device, const RageTimer &tm
switch( in.type )
{
case in.KEY:
ButtonPressed( DeviceInput(dev, (DeviceButton) in.num, -1, tm), !!(evtbuf[i].dwData & 0x80)) ;
/* // "Joystick with keyboard" hack
switch( in.num )
{
case 115: //s
ButtonPressed( DeviceInput(DEVICE_JOY1, JOY_UP, -1, tm), !!(evtbuf[i].dwData & 0x80) );
break;
case 120: //x
ButtonPressed( DeviceInput(DEVICE_JOY1, JOY_DOWN, -1, tm), !!(evtbuf[i].dwData & 0x80) );
break;
case 122: //z
ButtonPressed( DeviceInput(DEVICE_JOY1, JOY_LEFT, -1, tm), !!(evtbuf[i].dwData & 0x80) );
break;
case 99: //c
ButtonPressed( DeviceInput(DEVICE_JOY1, JOY_RIGHT, -1, tm), !!(evtbuf[i].dwData & 0x80) );
break;
default:
*/
ButtonPressed( DeviceInput(dev, (DeviceButton) in.num, -1, tm), !!(evtbuf[i].dwData & 0x80)) ;
/*
break;
}
*/
break;
case in.BUTTON:
@@ -36,7 +36,7 @@ static bool GetRegKeyType( const RString &sIn, RString &sOut, HKEY &key )
/* Given a full key, eg. "HKEY_LOCAL_MACHINE\hardware\foo", open it and return it.
* On error, return NULL. */
static HKEY OpenRegKey( const RString &sKey )
static HKEY OpenRegKey( const RString &sKey, bool bWarnOnError = true )
{
RString sSubkey;
HKEY hType;
@@ -47,7 +47,8 @@ static HKEY OpenRegKey( const RString &sKey )
LONG retval = RegOpenKeyEx( hType, sSubkey, 0, KEY_READ, &hRetKey );
if ( retval != ERROR_SUCCESS )
{
LOG->Warn( werr_ssprintf(retval, "RegOpenKeyEx(%x,%s) error", hType, sSubkey.c_str()) );
if( bWarnOnError )
LOG->Warn( werr_ssprintf(retval, "RegOpenKeyEx(%x,%s) error", hType, sSubkey.c_str()) );
return NULL;
}
@@ -80,9 +81,9 @@ bool RegistryAccess::GetRegValue( const RString &sKey, const RString &sName, RSt
return true;
}
bool RegistryAccess::GetRegValue( const RString &sKey, const RString &sName, int &iVal )
bool RegistryAccess::GetRegValue( const RString &sKey, const RString &sName, int &iVal, bool bWarnOnError )
{
HKEY hKey = OpenRegKey( sKey );
HKEY hKey = OpenRegKey( sKey, bWarnOnError );
if( hKey == NULL )
return false;
@@ -6,7 +6,7 @@
namespace RegistryAccess
{
bool GetRegValue( const RString &sKey, const RString &sName, RString &val );
bool GetRegValue( const RString &sKey, const RString &sName, int &val );
bool GetRegValue( const RString &sKey, const RString &sName, int &val, bool bWarnOnError = true );
bool GetRegValue( const RString &sKey, const RString &sName, bool &val );
bool GetRegSubKeys( const RString &sKey, vector<RString> &asList, const RString &sRegex = ".*", bool bReturnPathToo = true );