mirror of
https://git.h3cjp.net/H3cJP/citra.git
synced 2024-12-29 06:36:41 +00:00
hid: Fix touch not initializing properly if disabled
This commit is contained in:
parent
c17a59b58e
commit
08d5bd36d8
|
@ -33,7 +33,7 @@ void Controller_Gesture::OnUpdate(const Core::Timing::CoreTiming& core_timing, u
|
||||||
shared_memory.header.timestamp = core_timing.GetCPUTicks();
|
shared_memory.header.timestamp = core_timing.GetCPUTicks();
|
||||||
shared_memory.header.total_entry_count = 17;
|
shared_memory.header.total_entry_count = 17;
|
||||||
|
|
||||||
if (!IsControllerActivated() || !Settings::values.touchscreen.enabled) {
|
if (!IsControllerActivated()) {
|
||||||
shared_memory.header.entry_count = 0;
|
shared_memory.header.entry_count = 0;
|
||||||
shared_memory.header.last_entry_index = 0;
|
shared_memory.header.last_entry_index = 0;
|
||||||
return;
|
return;
|
||||||
|
@ -129,6 +129,10 @@ void Controller_Gesture::OnLoadInputDevices() {
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<std::size_t> Controller_Gesture::GetUnusedFingerID() const {
|
std::optional<std::size_t> Controller_Gesture::GetUnusedFingerID() const {
|
||||||
|
// Dont assign any touch input to a point if disabled
|
||||||
|
if (!Settings::values.touchscreen.enabled) {
|
||||||
|
return std::nullopt;
|
||||||
|
}
|
||||||
std::size_t first_free_id = 0;
|
std::size_t first_free_id = 0;
|
||||||
while (first_free_id < MAX_POINTS) {
|
while (first_free_id < MAX_POINTS) {
|
||||||
if (!fingers[first_free_id].pressed) {
|
if (!fingers[first_free_id].pressed) {
|
||||||
|
|
|
@ -33,7 +33,7 @@ void Controller_Touchscreen::OnUpdate(const Core::Timing::CoreTiming& core_timin
|
||||||
shared_memory.header.timestamp = core_timing.GetCPUTicks();
|
shared_memory.header.timestamp = core_timing.GetCPUTicks();
|
||||||
shared_memory.header.total_entry_count = 17;
|
shared_memory.header.total_entry_count = 17;
|
||||||
|
|
||||||
if (!IsControllerActivated() || !Settings::values.touchscreen.enabled) {
|
if (!IsControllerActivated()) {
|
||||||
shared_memory.header.entry_count = 0;
|
shared_memory.header.entry_count = 0;
|
||||||
shared_memory.header.last_entry_index = 0;
|
shared_memory.header.last_entry_index = 0;
|
||||||
return;
|
return;
|
||||||
|
@ -105,6 +105,10 @@ void Controller_Touchscreen::OnLoadInputDevices() {
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<std::size_t> Controller_Touchscreen::GetUnusedFingerID() const {
|
std::optional<std::size_t> Controller_Touchscreen::GetUnusedFingerID() const {
|
||||||
|
// Dont assign any touch input to a finger if disabled
|
||||||
|
if (!Settings::values.touchscreen.enabled) {
|
||||||
|
return std::nullopt;
|
||||||
|
}
|
||||||
std::size_t first_free_id = 0;
|
std::size_t first_free_id = 0;
|
||||||
while (first_free_id < MAX_FINGERS) {
|
while (first_free_id < MAX_FINGERS) {
|
||||||
if (!fingers[first_free_id].pressed) {
|
if (!fingers[first_free_id].pressed) {
|
||||||
|
|
Loading…
Reference in a new issue