Commit Graph

175 Commits

Author SHA1 Message Date
Henrik Rydgård 6f57a49f07 Default touch control layout improvement in portrait, fix insets on pause screen in portrait 2026-03-15 15:00:12 +01:00
Henrik Rydgård 15055ee360 Fixes to gesture mapping - don't gate double-tap and analog between the gesture enable control for each zone. 2026-03-06 00:44:31 +01:00
Henrik Rydgård 2c207aedf8 Fix problem where the touch screen controls got reactivated by gamepad input 2026-02-28 11:11:17 +01:00
ThePillowMan 422e983846 Fixed stylization issues + issues regarding games which shouldnt rotate controls 2026-02-17 21:26:27 -05:00
ThePillowMan 3a810ac38b deleted accidentally left print statement 2026-02-17 19:12:35 -05:00
ThePillowMan bbf72d0c82 Update GamepadEmu.cpp
Fixes touch controls for D-Pad and Analog Stick using same methodology behind regular DPad.
2026-02-17 18:26:51 -05:00
Henrik Rydgård 801d379f74 Gesture control: Prevent pressing touch buttons while performing a gesture. 2026-02-06 13:10:20 +01:00
Henrik Rydgård d6d2c24e24 Fix the toggle touch controls input (properly this time) 2026-02-05 09:44:42 +01:00
Henrik Rydgård 44e30b14a3 Split the screen between the two gesture input zones. 2026-02-04 15:01:06 +01:00
Henrik Rydgård 03a7df74fa Have two independent gesture control zones 2026-02-04 15:01:06 +01:00
Henrik Rydgård 03c901d0cc Prepare for multiple gesture mapping zones 2026-02-04 15:01:06 +01:00
Henrik Rydgård 42137914e1 Fix the Toggle touch controls button, thanks Domiiniik 2026-02-04 14:33:54 +01:00
Henrik Rydgård 8350f67332 Fix typos, minor translation updates 2026-02-04 01:34:26 +01:00
Henrik Rydgård 7b1ba55e72 Prevent touch controls from fading away while being held.
Fixes #20531
2026-02-04 00:00:38 +01:00
Henrik Rydgård c9494bd579 Rename GamepadView->GamepadComponent 2026-02-03 23:30:45 +01:00
Henrik Rydgård e6a2a36bb8 Touch screen controls layout: In portrait mode, move everything up a bit by default. More comfortable. 2026-02-01 14:19:51 +01:00
Henrik Rydgård 18a67b82d2 Do the same with KeyInputFlags. Fix minor UI misalignments 2025-12-19 13:41:58 +01:00
Henrik Rydgård 481d0fd18c Switch TouchInputFlags to enum class, fix some minor UI issues
Scroll views now only wheel-scroll if the mouse is hovering over them.
2025-12-19 11:38:56 +01:00
Henrik Rydgård 7a8a642aed Convert the pause button to a normal customizable touch screen button 2025-11-25 15:47:05 +01:00
Henrik Rydgård 213436013f Try to avoid having the back button cut off by the top edge of the screen 2025-11-25 15:46:33 +01:00
Henrik Rydgård 3116eba395 More UI work (#21035)
* Improve a couple of on-screen buttons (menu, fastforward)

* Fix the new continue button, oops

* Add some missing translations

* Split a translation string to make portrait look better

* More GameScreen redesign

* Don't accidentally go into game-specific mode

* Fix layout issue with popupscreens, fix context menu positioning

* One more icon
2025-11-24 20:33:13 +01:00
Henrik Rydgård 9de8e75709 AnchorLayout: Allow centering separately for horizontal and vertical 2025-11-10 12:10:08 +01:00
Henrik Rydgård a183420a87 Orientation-specific defaults 2025-11-05 21:46:38 +01:00
Henrik Rydgård 063c7d4f7e Get separate touch screen config for portrait working 2025-11-05 21:01:37 +01:00
Henrik Rydgård 58456ae950 Remove the UI::EventReturn return values. Makes editing the UI nicer. 2025-09-15 11:09:00 -06:00
Henrik Rydgård e4a14330e0 Correct comment, rename array 2025-08-28 10:24:30 +02:00
Henrik Rydgård 76fb535bec Allow binding "Pause (no menu)" to touch controls. Also makes controls stay visible when paused. 2025-08-27 08:54:13 +02:00
Henrik Rydgård 09e067c6e1 Revert "Get rid of remains of support for non-square screen DPIs"
This reverts commit f206ed95eb.
2025-05-21 21:41:50 +02:00
Henrik Rydgård f206ed95eb Get rid of remains of support for non-square screen DPIs 2025-02-20 11:14:26 -06:00
Henrik Rydgård 928854ffd3 Hold only the first button, allow other buttons to toggle with dragging as normal. 2025-02-14 12:40:44 -06:00
Henrik Rydgård 5ef2f06019 Implement "Touch gliding" (keep all dragged/touched buttons pressed until touch release)
I think the feature might need a better name though?

Fixes #14490
2025-02-14 11:00:24 -06:00
Henrik Rydgård 96c4a10e8c Add two new core states, rename RUNNING to RUNNING_CPU and similar for stepping. 2024-12-01 21:04:21 +01:00
Henrik Rydgård 107bd01536 Fix some issues with clicking touch buttons using the mouse after the hover change.
Increase a buffer size.
2024-11-22 10:31:10 +01:00
Henrik Rydgård d3e9398cb3 Split Core_EnableStepping into Core_Break and Core_Resume 2024-11-03 17:53:42 +01:00
Henrik Rydgård 758776f216 Touch control layout: Make sure no buttons are initialized off screen.
Fixes #19486
2024-09-26 11:08:07 +02:00
Henrik Rydgård 047913ddd3 Make sure we don't try to use out-of-bounds icons/shapes for custom buttons 2024-09-15 12:11:39 +02:00
Katharine Chui d7fd44280a allow binding custom right stick to analog 2024-07-16 16:06:13 +02:00
Henrik Rydgård f42f7ac9d1 Touch controls on iOS: Move the three center button up slightly by default to avoid the task switcher 2024-05-26 09:39:44 +02:00
Henrik Rydgård c5791764d8 Make the i18n T function use std::string_view
Buildfixes, crashfixes

One more

Android buildfix

Buildfix Qt
2024-02-12 18:44:39 +01:00
Henrik Rydgård 5a7db8aa11 Fix issue with touch control editor with no game running. Fixes #18652 2023-12-31 01:04:14 +01:00
Henrik Rydgård 679b8330ff Add bindings for toggling mouse control and touch screen controls. Not bound by default.
I think I'll find myself using both of these for testing, feel worthwhile.

Suggested in #18464
2023-12-29 17:40:57 +01:00
Henrik Rydgård 63181374c7 Finish previous commit 2023-12-29 17:24:15 +01:00
Henrik Rydgård 4609df40c9 Update gamepad opacity once per frame, not once per button 2023-12-29 17:09:38 +01:00
Herman Semenov 95f535dab0 [UI/Windows] Object out of scope optimization for better codegeneration (lower level scope) 2023-12-20 12:35:02 +03:00
Henrik Rydgård 72be2f5459 Restore the D-Pad behavior (see #18028) 2023-09-11 11:41:29 +02:00
iota97 01083c87ea Analog stick gesture 2023-09-01 09:32:21 +02:00
Henrik Rydgård ce47055860 Touch controls: Add an option for "Sticky D-Pad".
Will make it a lot easier to pull off certain moves in fighting games.

Should help #17950
2023-08-31 22:37:11 +02:00
Henrik Rydgård 6a61a58b9f Simplify the touch d-pad code.
Due to #17950 I had a look at this code and found some room to simplify,
but I don't think this is likely to fix anything.
2023-08-31 11:03:14 +02:00
Henrik Rydgård d924b742c0 Make the rapid-fire interval configurable
Rapid-fire works by holding down the button mapped for Rapid-Fire. Once
that's held, the PSP face buttons, L, R and Start will be repeated while
held.

With this new setting, you can change the repeat interval from the
default of 5 frames.

The interval is specified as frames rather than as milliseconds or
something because that often maps better to game logic.
2023-07-23 11:49:25 +02:00
Henrik Rydgård 73836e7bcb Custom buttons: Store them in an array, remove as many count restrictions as possible. 2023-06-20 10:42:53 +02:00