Commit Graph
159 Commits
Author SHA1 Message Date
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årdandGitHub 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
Henrik Rydgård e078f61bad Rename class CustomKey to CustomButton 2023-05-08 10:13:52 +02:00
Henrik Rydgård ee6234ecb6 I18N: Switch to getting categories by index instead of by string lookup
Also gets rid of the shared_ptr usage, and generally makes things nicer.

Needed for later config refactorings, good to get in early.
2023-04-07 10:35:01 +02:00
Henrik Rydgård 04d3d3111c Clean up __Ctrl button functions. 2023-04-01 08:55:45 +02:00
Henrik Rydgård a4bfb83982 Some more renaming 2023-03-28 00:23:18 +02:00
Henrik Rydgård 5c36aec484 More renaming 2023-03-26 11:21:34 +02:00
Henrik Rydgård e1ff498ba3 Rename "Combo" to "Custom" in the touch key mappings.
Need the name "Combo" for the new feature from PR #17168.
2023-03-26 11:05:39 +02:00
Henrik Rydgård d3955b42bb Rename some system functions, merge the Launch* ones.
android launchurl buildfix
2023-03-21 12:22:59 +01:00
Henrik RydgårdandGitHub 8b431b39ba Wrap the display globals in a struct (#16998)
* Wrap the display globals in a struct

Makes it easier to search/replace these, for future refactorings.

* Some renaming

* Qt buildfix, also fix the Qt build on Mac (got broken with battery changes)

* Attempt at buildfixing ios

* UWP buildfix
2023-02-25 13:09:44 +01:00
Henrik Rydgård a9a45481cc Scale buttons by 1.5 instead of 2.0 on touch.
Not sure if this should really be a setting. If you don't like the
scaling at all, you can still choose the glow style. We should probably
somehow make that one more obvious though.
2023-02-08 21:54:15 +01:00
Henrik Rydgård 59dec197d8 Add previews for more types, fix mappings. 2023-02-02 01:09:33 +01:00
Henrik RydgårdandGitHub f2b5f06dac Merge pull request #16450 from unknownbrackets/touch-right-analog
UI: Fix right analog with single button
2022-11-28 01:00:16 +01:00
Unknown W. Brackets 247848891e UI: Dry out code and check bounds to be safe. 2022-11-27 15:40:55 -08:00
Unknown W. Brackets 89aeb2484e UI: Fix right analog with single button.
Release first, then press so that we press when the opposing direction is
mapped to the same button.
2022-11-27 15:32:56 -08:00
Henrik Rydgård 689860b3a0 Qt buildfix, apply feedback 2022-11-27 17:33:15 +01:00
Henrik Rydgård 0a3d78221e Fix drag-background-through-buttons problem by adding "touch exclusive" mode to viewgroups.
Not using universally because I don't want to debug all the issues...
2022-11-27 16:16:18 +01:00
Henrik Rydgård 5230fc7c41 Joystick input: Ignore in-deadzone events from a different device than previous events
Fixes #15465
2022-11-23 12:22:59 +01:00