diff options
| -rw-r--r-- | src/core/hle/service/hid/hid.cpp | 20 | ||||
| -rw-r--r-- | src/core/hle/service/hid/hid.h | 28 | ||||
| -rw-r--r-- | src/core/hle/service/hid/hid_spvr.cpp | 4 | ||||
| -rw-r--r-- | src/core/hle/service/hid/hid_user.cpp | 4 |
4 files changed, 47 insertions, 9 deletions
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index 9695f7e56..2d2133b2e 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp | |||
| @@ -136,6 +136,16 @@ void EnableAccelerometer(Service::Interface* self) { | |||
| 136 | LOG_WARNING(Service_HID, "(STUBBED) called"); | 136 | LOG_WARNING(Service_HID, "(STUBBED) called"); |
| 137 | } | 137 | } |
| 138 | 138 | ||
| 139 | void DisableAccelerometer(Service::Interface* self) { | ||
| 140 | u32* cmd_buff = Kernel::GetCommandBuffer(); | ||
| 141 | |||
| 142 | event_accelerometer->Signal(); | ||
| 143 | |||
| 144 | cmd_buff[1] = RESULT_SUCCESS.raw; | ||
| 145 | |||
| 146 | LOG_WARNING(Service_HID, "(STUBBED) called"); | ||
| 147 | } | ||
| 148 | |||
| 139 | void EnableGyroscopeLow(Service::Interface* self) { | 149 | void EnableGyroscopeLow(Service::Interface* self) { |
| 140 | u32* cmd_buff = Kernel::GetCommandBuffer(); | 150 | u32* cmd_buff = Kernel::GetCommandBuffer(); |
| 141 | 151 | ||
| @@ -146,6 +156,16 @@ void EnableGyroscopeLow(Service::Interface* self) { | |||
| 146 | LOG_WARNING(Service_HID, "(STUBBED) called"); | 156 | LOG_WARNING(Service_HID, "(STUBBED) called"); |
| 147 | } | 157 | } |
| 148 | 158 | ||
| 159 | void DisableGyroscopeLow(Service::Interface* self) { | ||
| 160 | u32* cmd_buff = Kernel::GetCommandBuffer(); | ||
| 161 | |||
| 162 | event_gyroscope->Signal(); | ||
| 163 | |||
| 164 | cmd_buff[1] = RESULT_SUCCESS.raw; | ||
| 165 | |||
| 166 | LOG_WARNING(Service_HID, "(STUBBED) called"); | ||
| 167 | } | ||
| 168 | |||
| 149 | void GetSoundVolume(Service::Interface* self) { | 169 | void GetSoundVolume(Service::Interface* self) { |
| 150 | u32* cmd_buff = Kernel::GetCommandBuffer(); | 170 | u32* cmd_buff = Kernel::GetCommandBuffer(); |
| 151 | 171 | ||
diff --git a/src/core/hle/service/hid/hid.h b/src/core/hle/service/hid/hid.h index 897bd6764..68e2bcee0 100644 --- a/src/core/hle/service/hid/hid.h +++ b/src/core/hle/service/hid/hid.h | |||
| @@ -162,12 +162,12 @@ const PadState PAD_CIRCLE_DOWN = {{1u << 31}}; | |||
| 162 | * Outputs: | 162 | * Outputs: |
| 163 | * 1 : Result of function, 0 on success, otherwise error code | 163 | * 1 : Result of function, 0 on success, otherwise error code |
| 164 | * 2 : IPC Command Structure translate-header | 164 | * 2 : IPC Command Structure translate-header |
| 165 | * 3 : Handle to HID_User shared memory | 165 | * 3 : Handle to HID shared memory |
| 166 | * 4 : Event signaled by HID_User | 166 | * 4 : Event signaled by HID |
| 167 | * 5 : Event signaled by HID_User | 167 | * 5 : Event signaled by HID |
| 168 | * 6 : Event signaled by HID_User | 168 | * 6 : Event signaled by HID |
| 169 | * 7 : Gyroscope event | 169 | * 7 : Gyroscope event |
| 170 | * 8 : Event signaled by HID_User | 170 | * 8 : Event signaled by HID |
| 171 | */ | 171 | */ |
| 172 | void GetIPCHandles(Interface* self); | 172 | void GetIPCHandles(Interface* self); |
| 173 | 173 | ||
| @@ -181,6 +181,15 @@ void GetIPCHandles(Interface* self); | |||
| 181 | void EnableAccelerometer(Interface* self); | 181 | void EnableAccelerometer(Interface* self); |
| 182 | 182 | ||
| 183 | /** | 183 | /** |
| 184 | * HID::DisableAccelerometer service function | ||
| 185 | * Inputs: | ||
| 186 | * None | ||
| 187 | * Outputs: | ||
| 188 | * 1 : Result of function, 0 on success, otherwise error code | ||
| 189 | */ | ||
| 190 | void DisableAccelerometer(Interface* self); | ||
| 191 | |||
| 192 | /** | ||
| 184 | * HID::EnableGyroscopeLow service function | 193 | * HID::EnableGyroscopeLow service function |
| 185 | * Inputs: | 194 | * Inputs: |
| 186 | * None | 195 | * None |
| @@ -190,6 +199,15 @@ void EnableAccelerometer(Interface* self); | |||
| 190 | void EnableGyroscopeLow(Interface* self); | 199 | void EnableGyroscopeLow(Interface* self); |
| 191 | 200 | ||
| 192 | /** | 201 | /** |
| 202 | * HID::DisableGyroscopeLow service function | ||
| 203 | * Inputs: | ||
| 204 | * None | ||
| 205 | * Outputs: | ||
| 206 | * 1 : Result of function, 0 on success, otherwise error code | ||
| 207 | */ | ||
| 208 | void DisableGyroscopeLow(Interface* self); | ||
| 209 | |||
| 210 | /** | ||
| 193 | * HID::GetSoundVolume service function | 211 | * HID::GetSoundVolume service function |
| 194 | * Inputs: | 212 | * Inputs: |
| 195 | * None | 213 | * None |
diff --git a/src/core/hle/service/hid/hid_spvr.cpp b/src/core/hle/service/hid/hid_spvr.cpp index f296b076f..02db12efd 100644 --- a/src/core/hle/service/hid/hid_spvr.cpp +++ b/src/core/hle/service/hid/hid_spvr.cpp | |||
| @@ -14,9 +14,9 @@ const Interface::FunctionInfo FunctionTable[] = { | |||
| 14 | {0x000B0000, nullptr, "StartAnalogStickCalibration"}, | 14 | {0x000B0000, nullptr, "StartAnalogStickCalibration"}, |
| 15 | {0x000E0000, nullptr, "GetAnalogStickCalibrateParam"}, | 15 | {0x000E0000, nullptr, "GetAnalogStickCalibrateParam"}, |
| 16 | {0x00110000, EnableAccelerometer, "EnableAccelerometer"}, | 16 | {0x00110000, EnableAccelerometer, "EnableAccelerometer"}, |
| 17 | {0x00120000, nullptr, "DisableAccelerometer"}, | 17 | {0x00120000, DisableAccelerometer, "DisableAccelerometer"}, |
| 18 | {0x00130000, EnableGyroscopeLow, "EnableGyroscopeLow"}, | 18 | {0x00130000, EnableGyroscopeLow, "EnableGyroscopeLow"}, |
| 19 | {0x00140000, nullptr, "DisableGyroscopeLow"}, | 19 | {0x00140000, DisableGyroscopeLow, "DisableGyroscopeLow"}, |
| 20 | {0x00150000, nullptr, "GetGyroscopeLowRawToDpsCoefficient"}, | 20 | {0x00150000, nullptr, "GetGyroscopeLowRawToDpsCoefficient"}, |
| 21 | {0x00160000, nullptr, "GetGyroscopeLowCalibrateParam"}, | 21 | {0x00160000, nullptr, "GetGyroscopeLowCalibrateParam"}, |
| 22 | {0x00170000, GetSoundVolume, "GetSoundVolume"}, | 22 | {0x00170000, GetSoundVolume, "GetSoundVolume"}, |
diff --git a/src/core/hle/service/hid/hid_user.cpp b/src/core/hle/service/hid/hid_user.cpp index 3682c9416..fbfb9e885 100644 --- a/src/core/hle/service/hid/hid_user.cpp +++ b/src/core/hle/service/hid/hid_user.cpp | |||
| @@ -12,9 +12,9 @@ namespace HID { | |||
| 12 | const Interface::FunctionInfo FunctionTable[] = { | 12 | const Interface::FunctionInfo FunctionTable[] = { |
| 13 | {0x000A0000, GetIPCHandles, "GetIPCHandles"}, | 13 | {0x000A0000, GetIPCHandles, "GetIPCHandles"}, |
| 14 | {0x00110000, EnableAccelerometer, "EnableAccelerometer"}, | 14 | {0x00110000, EnableAccelerometer, "EnableAccelerometer"}, |
| 15 | {0x00120000, nullptr, "DisableAccelerometer"}, | 15 | {0x00120000, DisableAccelerometer, "DisableAccelerometer"}, |
| 16 | {0x00130000, EnableGyroscopeLow, "EnableGyroscopeLow"}, | 16 | {0x00130000, EnableGyroscopeLow, "EnableGyroscopeLow"}, |
| 17 | {0x00140000, nullptr, "DisableGyroscopeLow"}, | 17 | {0x00140000, DisableGyroscopeLow, "DisableGyroscopeLow"}, |
| 18 | {0x00150000, nullptr, "GetGyroscopeLowRawToDpsCoefficient"}, | 18 | {0x00150000, nullptr, "GetGyroscopeLowRawToDpsCoefficient"}, |
| 19 | {0x00160000, nullptr, "GetGyroscopeLowCalibrateParam"}, | 19 | {0x00160000, nullptr, "GetGyroscopeLowCalibrateParam"}, |
| 20 | {0x00170000, GetSoundVolume, "GetSoundVolume"}, | 20 | {0x00170000, GetSoundVolume, "GetSoundVolume"}, |