diff options
-rw-r--r-- | src/core/hle/service/hid/hid.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index 32c781cf3..4f18c0fd3 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp @@ -166,13 +166,18 @@ private: touchscreen.entries[curr_entry].header.timestamp = sample_counter; TouchScreenEntryTouch touch_entry{}; - float x; - float y; - bool pressed; - std::tie(x, y, pressed) = touch_device->GetStatus(); + auto [x, y, pressed] = touch_device->GetStatus(); + touch_entry.timestamp = timestamp; touch_entry.x = static_cast<u16>(x * Layout::ScreenUndocked::Width); touch_entry.y = static_cast<u16>(y * Layout::ScreenUndocked::Height); + touch_entry.touch_index = 0; + // TODO(DarkLordZach): Maybe try to derive these from EmuWindow? + touch_entry.diameter_x = 15; + touch_entry.diameter_y = 15; + touch_entry.angle = 0; + + // TODO(DarkLordZach): Implement multi-touch support if (pressed) { touchscreen.entries[curr_entry].header.num_touches = 1; touchscreen.entries[curr_entry].touches[0] = touch_entry; |