|
@@ -457,6 +457,7 @@ static bool ResetSteamController(SDL_HIDAPI_Device *dev, bool bSuppressErrorSpew
|
|
|
|
|
|
DPRINTF("ResetSteamController hid=%p\n", dev);
|
|
DPRINTF("ResetSteamController hid=%p\n", dev);
|
|
|
|
|
|
|
|
+ SDL_zero(buf);
|
|
buf[0] = 0;
|
|
buf[0] = 0;
|
|
buf[1] = ID_GET_ATTRIBUTES_VALUES;
|
|
buf[1] = ID_GET_ATTRIBUTES_VALUES;
|
|
res = SetFeatureReport(dev, buf, 2);
|
|
res = SetFeatureReport(dev, buf, 2);
|
|
@@ -510,6 +511,7 @@ static bool ResetSteamController(SDL_HIDAPI_Device *dev, bool bSuppressErrorSpew
|
|
}
|
|
}
|
|
|
|
|
|
// Clear digital button mappings
|
|
// Clear digital button mappings
|
|
|
|
+ SDL_zero(buf);
|
|
buf[0] = 0;
|
|
buf[0] = 0;
|
|
buf[1] = ID_CLEAR_DIGITAL_MAPPINGS;
|
|
buf[1] = ID_CLEAR_DIGITAL_MAPPINGS;
|
|
res = SetFeatureReport(dev, buf, 2);
|
|
res = SetFeatureReport(dev, buf, 2);
|
|
@@ -521,7 +523,7 @@ static bool ResetSteamController(SDL_HIDAPI_Device *dev, bool bSuppressErrorSpew
|
|
}
|
|
}
|
|
|
|
|
|
// Reset the default settings
|
|
// Reset the default settings
|
|
- SDL_memset(buf, 0, 65);
|
|
|
|
|
|
+ SDL_zero(buf);
|
|
buf[1] = ID_LOAD_DEFAULT_SETTINGS;
|
|
buf[1] = ID_LOAD_DEFAULT_SETTINGS;
|
|
buf[2] = 0;
|
|
buf[2] = 0;
|
|
res = SetFeatureReport(dev, buf, 3);
|
|
res = SetFeatureReport(dev, buf, 3);
|
|
@@ -539,7 +541,7 @@ static bool ResetSteamController(SDL_HIDAPI_Device *dev, bool bSuppressErrorSpew
|
|
buf[3 + nSettings * 3 + 2] = ((uint16_t)VALUE) >> 8; \
|
|
buf[3 + nSettings * 3 + 2] = ((uint16_t)VALUE) >> 8; \
|
|
++nSettings;
|
|
++nSettings;
|
|
|
|
|
|
- SDL_memset(buf, 0, 65);
|
|
|
|
|
|
+ SDL_zero(buf);
|
|
buf[1] = ID_SET_SETTINGS_VALUES;
|
|
buf[1] = ID_SET_SETTINGS_VALUES;
|
|
ADD_SETTING(SETTING_WIRELESS_PACKET_VERSION, 2);
|
|
ADD_SETTING(SETTING_WIRELESS_PACKET_VERSION, 2);
|
|
ADD_SETTING(SETTING_LEFT_TRACKPAD_MODE, TRACKPAD_NONE);
|
|
ADD_SETTING(SETTING_LEFT_TRACKPAD_MODE, TRACKPAD_NONE);
|
|
@@ -567,7 +569,7 @@ static bool ResetSteamController(SDL_HIDAPI_Device *dev, bool bSuppressErrorSpew
|
|
bool bMappingsCleared = false;
|
|
bool bMappingsCleared = false;
|
|
int iRetry;
|
|
int iRetry;
|
|
for (iRetry = 0; iRetry < 2; ++iRetry) {
|
|
for (iRetry = 0; iRetry < 2; ++iRetry) {
|
|
- SDL_memset(buf, 0, 65);
|
|
|
|
|
|
+ SDL_zero(buf);
|
|
buf[1] = ID_GET_DIGITAL_MAPPINGS;
|
|
buf[1] = ID_GET_DIGITAL_MAPPINGS;
|
|
buf[2] = 1; // one byte - requesting from index 0
|
|
buf[2] = 1; // one byte - requesting from index 0
|
|
buf[3] = 0;
|
|
buf[3] = 0;
|
|
@@ -596,7 +598,7 @@ static bool ResetSteamController(SDL_HIDAPI_Device *dev, bool bSuppressErrorSpew
|
|
}
|
|
}
|
|
|
|
|
|
// Set our new mappings
|
|
// Set our new mappings
|
|
- SDL_memset(buf, 0, 65);
|
|
|
|
|
|
+ SDL_zero(buf);
|
|
buf[1] = ID_SET_DIGITAL_MAPPINGS;
|
|
buf[1] = ID_SET_DIGITAL_MAPPINGS;
|
|
buf[2] = 6; // 2 settings x 3 bytes
|
|
buf[2] = 6; // 2 settings x 3 bytes
|
|
buf[3] = IO_DIGITAL_BUTTON_RIGHT_TRIGGER;
|
|
buf[3] = IO_DIGITAL_BUTTON_RIGHT_TRIGGER;
|
|
@@ -634,7 +636,7 @@ static int ReadSteamController(SDL_hid_device *dev, uint8_t *pData, int nDataSiz
|
|
static void SetPairingState(SDL_HIDAPI_Device *dev, bool bEnablePairing)
|
|
static void SetPairingState(SDL_HIDAPI_Device *dev, bool bEnablePairing)
|
|
{
|
|
{
|
|
unsigned char buf[65];
|
|
unsigned char buf[65];
|
|
- SDL_memset(buf, 0, 65);
|
|
|
|
|
|
+ SDL_zero(buf);
|
|
buf[1] = ID_ENABLE_PAIRING;
|
|
buf[1] = ID_ENABLE_PAIRING;
|
|
buf[2] = 2; // 2 payload bytes: bool + timeout
|
|
buf[2] = 2; // 2 payload bytes: bool + timeout
|
|
buf[3] = bEnablePairing ? 1 : 0;
|
|
buf[3] = bEnablePairing ? 1 : 0;
|
|
@@ -648,7 +650,7 @@ static void SetPairingState(SDL_HIDAPI_Device *dev, bool bEnablePairing)
|
|
static void CommitPairing(SDL_HIDAPI_Device *dev)
|
|
static void CommitPairing(SDL_HIDAPI_Device *dev)
|
|
{
|
|
{
|
|
unsigned char buf[65];
|
|
unsigned char buf[65];
|
|
- SDL_memset(buf, 0, 65);
|
|
|
|
|
|
+ SDL_zero(buf);
|
|
buf[1] = ID_DONGLE_COMMIT_DEVICE;
|
|
buf[1] = ID_DONGLE_COMMIT_DEVICE;
|
|
SetFeatureReport(dev, buf, 2);
|
|
SetFeatureReport(dev, buf, 2);
|
|
}
|
|
}
|
|
@@ -663,18 +665,18 @@ static void CloseSteamController(SDL_HIDAPI_Device *dev)
|
|
int nSettings = 0;
|
|
int nSettings = 0;
|
|
|
|
|
|
// Reset digital button mappings
|
|
// Reset digital button mappings
|
|
- SDL_memset(buf, 0, 65);
|
|
|
|
|
|
+ SDL_zero(buf);
|
|
buf[1] = ID_SET_DEFAULT_DIGITAL_MAPPINGS;
|
|
buf[1] = ID_SET_DEFAULT_DIGITAL_MAPPINGS;
|
|
SetFeatureReport(dev, buf, 2);
|
|
SetFeatureReport(dev, buf, 2);
|
|
|
|
|
|
// Reset the default settings
|
|
// Reset the default settings
|
|
- SDL_memset(buf, 0, 65);
|
|
|
|
|
|
+ SDL_zero(buf);
|
|
buf[1] = ID_LOAD_DEFAULT_SETTINGS;
|
|
buf[1] = ID_LOAD_DEFAULT_SETTINGS;
|
|
buf[2] = 0;
|
|
buf[2] = 0;
|
|
SetFeatureReport(dev, buf, 3);
|
|
SetFeatureReport(dev, buf, 3);
|
|
|
|
|
|
// Reset mouse mode for lizard mode
|
|
// Reset mouse mode for lizard mode
|
|
- SDL_memset(buf, 0, 65);
|
|
|
|
|
|
+ SDL_zero(buf);
|
|
buf[1] = ID_SET_SETTINGS_VALUES;
|
|
buf[1] = ID_SET_SETTINGS_VALUES;
|
|
ADD_SETTING(SETTING_RIGHT_TRACKPAD_MODE, TRACKPAD_ABSOLUTE_MOUSE);
|
|
ADD_SETTING(SETTING_RIGHT_TRACKPAD_MODE, TRACKPAD_ABSOLUTE_MOUSE);
|
|
buf[2] = (unsigned char)(nSettings * 3);
|
|
buf[2] = (unsigned char)(nSettings * 3);
|
|
@@ -1138,6 +1140,7 @@ static bool HIDAPI_DriverSteam_InitDevice(SDL_HIDAPI_Device *device)
|
|
unsigned char buf[65];
|
|
unsigned char buf[65];
|
|
int res;
|
|
int res;
|
|
|
|
|
|
|
|
+ SDL_zero(buf);
|
|
buf[0] = 0;
|
|
buf[0] = 0;
|
|
buf[1] = ID_DONGLE_GET_WIRELESS_STATE;
|
|
buf[1] = ID_DONGLE_GET_WIRELESS_STATE;
|
|
res = SetFeatureReport(device, buf, 2);
|
|
res = SetFeatureReport(device, buf, 2);
|
|
@@ -1199,7 +1202,7 @@ static bool SetHomeLED(SDL_HIDAPI_Device *device, Uint8 value)
|
|
unsigned char buf[65];
|
|
unsigned char buf[65];
|
|
int nSettings = 0;
|
|
int nSettings = 0;
|
|
|
|
|
|
- SDL_memset(buf, 0, 65);
|
|
|
|
|
|
+ SDL_zero(buf);
|
|
buf[1] = ID_SET_SETTINGS_VALUES;
|
|
buf[1] = ID_SET_SETTINGS_VALUES;
|
|
ADD_SETTING(SETTING_LED_USER_BRIGHTNESS, value);
|
|
ADD_SETTING(SETTING_LED_USER_BRIGHTNESS, value);
|
|
buf[2] = (unsigned char)(nSettings * 3);
|
|
buf[2] = (unsigned char)(nSettings * 3);
|
|
@@ -1310,7 +1313,7 @@ static bool HIDAPI_DriverSteam_SetSensorsEnabled(SDL_HIDAPI_Device *device, SDL_
|
|
unsigned char buf[65];
|
|
unsigned char buf[65];
|
|
int nSettings = 0;
|
|
int nSettings = 0;
|
|
|
|
|
|
- SDL_memset(buf, 0, 65);
|
|
|
|
|
|
+ SDL_zero(buf);
|
|
buf[1] = ID_SET_SETTINGS_VALUES;
|
|
buf[1] = ID_SET_SETTINGS_VALUES;
|
|
if (enabled) {
|
|
if (enabled) {
|
|
ADD_SETTING(SETTING_IMU_MODE, SETTING_GYRO_MODE_SEND_RAW_ACCEL | SETTING_GYRO_MODE_SEND_RAW_GYRO);
|
|
ADD_SETTING(SETTING_IMU_MODE, SETTING_GYRO_MODE_SEND_RAW_ACCEL | SETTING_GYRO_MODE_SEND_RAW_GYRO);
|