|
|
@@ -32,7 +32,7 @@ static s16 next_pad_circle_y = 0;
|
|
|
/**
|
|
|
* Gets a pointer to the PadData structure inside HID shared memory
|
|
|
*/
|
|
|
-static inline SharedMem* GetPadData() {
|
|
|
+static inline SharedMem* GetSharedMem() {
|
|
|
if (g_shared_mem == nullptr)
|
|
|
return nullptr;
|
|
|
return reinterpret_cast<SharedMem*>(g_shared_mem->GetPointer().ValueOr(nullptr));
|
|
|
@@ -66,28 +66,18 @@ static void UpdateNextCirclePadState() {
|
|
|
next_pad_circle_y += next_state.circle_up ? max_value : 0x0;
|
|
|
}
|
|
|
|
|
|
-/**
|
|
|
- * Sets a Pad state (button or button combo) as pressed
|
|
|
- */
|
|
|
void PadButtonPress(const PadState& pad_state) {
|
|
|
next_state.hex |= pad_state.hex;
|
|
|
UpdateNextCirclePadState();
|
|
|
}
|
|
|
|
|
|
-/**
|
|
|
- * Sets a Pad state (button or button combo) as released
|
|
|
- */
|
|
|
void PadButtonRelease(const PadState& pad_state) {
|
|
|
next_state.hex &= ~pad_state.hex;
|
|
|
UpdateNextCirclePadState();
|
|
|
}
|
|
|
|
|
|
-/**
|
|
|
- * Called after all Pad changes to be included in this update have been made,
|
|
|
- * including both Pad key changes and analog circle Pad changes.
|
|
|
- */
|
|
|
void PadUpdateComplete() {
|
|
|
- SharedMem* shared_mem = GetPadData();
|
|
|
+ SharedMem* shared_mem = GetSharedMem();
|
|
|
|
|
|
if (shared_mem == nullptr)
|
|
|
return;
|
|
|
@@ -135,17 +125,6 @@ void PadUpdateComplete() {
|
|
|
g_event_pad_or_touch_2->Signal();
|
|
|
}
|
|
|
|
|
|
- // If we just updated index 0, provide a new timestamp
|
|
|
- if (pad_data->index == 0) {
|
|
|
- pad_data->index_reset_ticks_previous = pad_data->index_reset_ticks;
|
|
|
- pad_data->index_reset_ticks = (s64)Core::g_app_core->GetTicks();
|
|
|
- }
|
|
|
-
|
|
|
- // Signal both handles when there's an update to Pad or touch
|
|
|
- g_event_pad_or_touch_1->Signal();
|
|
|
- g_event_pad_or_touch_2->Signal();
|
|
|
-}
|
|
|
-
|
|
|
void GetIPCHandles(Service::Interface* self) {
|
|
|
u32* cmd_buff = Kernel::GetCommandBuffer();
|
|
|
|