summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/hle/service/hid/hid.cpp20
-rw-r--r--src/core/hle/service/hid/hid.h28
-rw-r--r--src/core/hle/service/hid/hid_spvr.cpp4
-rw-r--r--src/core/hle/service/hid/hid_user.cpp4
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
139void 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
139void EnableGyroscopeLow(Service::Interface* self) { 149void 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
159void 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
149void GetSoundVolume(Service::Interface* self) { 169void 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 */
172void GetIPCHandles(Interface* self); 172void GetIPCHandles(Interface* self);
173 173
@@ -181,6 +181,15 @@ void GetIPCHandles(Interface* self);
181void EnableAccelerometer(Interface* self); 181void 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 */
190void 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);
190void EnableGyroscopeLow(Interface* self); 199void 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 */
208void 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 {
12const Interface::FunctionInfo FunctionTable[] = { 12const 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"},