From 0c3e7b708684fb17cb29c491fca46125d7d716b9 Mon Sep 17 00:00:00 2001 From: David Marcec Date: Thu, 18 Oct 2018 22:34:30 +1100 Subject: Added missing start/end touch attributes to touchscreen --- src/core/hle/service/hid/controllers/touchscreen.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/core/hle/service/hid/controllers/touchscreen.cpp') diff --git a/src/core/hle/service/hid/controllers/touchscreen.cpp b/src/core/hle/service/hid/controllers/touchscreen.cpp index 43efef803..07244fe4e 100644 --- a/src/core/hle/service/hid/controllers/touchscreen.cpp +++ b/src/core/hle/service/hid/controllers/touchscreen.cpp @@ -41,7 +41,11 @@ void Controller_Touchscreen::OnUpdate(u8* data, std::size_t size) { const auto [x, y, pressed] = touch_device->GetStatus(); auto& touch_entry = cur_entry.states[0]; + touch_entry.attribute.raw = 0; if (pressed) { + if (cur_entry.entry_count == 0) { + touch_entry.attribute.start_touch.Assign(1); + } touch_entry.x = static_cast(x * Layout::ScreenUndocked::Width); touch_entry.y = static_cast(y * Layout::ScreenUndocked::Height); touch_entry.diameter_x = 15; @@ -53,6 +57,9 @@ void Controller_Touchscreen::OnUpdate(u8* data, std::size_t size) { touch_entry.finger = 0; cur_entry.entry_count = 1; } else { + if (cur_entry.entry_count == 1) { + touch_entry.attribute.end_touch.Assign(1); + } cur_entry.entry_count = 0; } -- cgit v1.2.3