72 Commits

Author SHA1 Message Date
Stenzek
a43e05472a Host: Split into multiple files
Translation, actual host, and core for settings management.
2025-12-20 23:50:26 +10:00
Stenzek
424f9a9db9 Controller: Simplify deadzone calculation
Use Pythagoras to measure distance from center. Fixes incorrect results
very close to the center.
2025-10-04 17:38:20 +10:00
Stenzek
1b49f82c98 Controller: Merge all binds into one index space
Simplifies things a bit.
2025-10-04 16:52:26 +10:00
Stenzek
f0c67e998b Controller: Remove GetInputOverlayIconColor()
Use the bind state instead.
2025-10-04 16:39:40 +10:00
Stenzek
3624474b91 Controller: Remove unused InAnalogMode() 2025-10-04 16:39:24 +10:00
Stenzek
ffa0e8d131 Qt: Refactor LED bindings
Make it more general and bindable to both the mode and RGB LED, that way
it can be used on Dualshock 4 as well.
2025-10-02 11:54:41 +10:00
Stenzek
6fcb1194d5 FullscreenUI: Further icon improvements 2025-06-22 14:01:56 +10:00
Stenzek
32963c3f6a Controller: Use string_view() for localised strings 2025-04-12 14:51:58 +10:00
Stenzek
7bc18c8538 DDGoController: Rewrite to support axis input
And add virtual buttons for each of the possible states.
2025-02-12 21:52:02 +10:00
Stenzek
dd7fd32501 Controller: Add GetVibrationMotorState() 2025-01-13 16:49:14 +10:00
Stenzek
462a4a3b50 Controller: Refactor so that GetControllerInfo() can't return null 2025-01-13 16:07:43 +10:00
Stenzek
234e1f721f FullscreenUI: Improve controller settings page
- Add 'Clear Bindings' menu item.
- Show icons in controller types.
- Add confirmation to Reset Settings.
2025-01-11 21:29:04 +10:00
Stenzek
6f9caa6b12 InputManager: Add proper binds for vibration motors
Instead of the janky "vibration capabilities" flag.

Fixes the "Clear Mappings" button not applying to vibration motors.
2025-01-11 20:25:11 +10:00
Stenzek
5577328f35 Controller: Allow !compatsettings to always start in analog mode 2024-12-12 17:42:37 +10:00
Stenzek
7c627a8c83 Controller: Add JogCon
This is probably wrong, but I have no way of testing it with an actual
force feedback wheel.

PRs welcome to improve it further.
2024-12-01 21:17:54 +10:00
Stenzek
4fe3e1147d Controller: Add GetPortDisplayName() that takes pad index 2024-12-01 17:47:55 +10:00
Stenzek
0d3501d435 Misc: Pass SettingsInterface by const reference 2024-10-20 23:59:47 +10:00
Stenzek
e0bc03b525 Controller: Fix localization with new types 2024-10-20 12:55:10 +10:00
Stenzek
e4a358cacb Controller: Add Pop'n and Densha De Go Controllers
Variants of digital controller with different buttons grounded.
2024-10-19 16:23:01 +10:00
Stenzek
036e11f7a8 Qt: Remove unused variable 2024-09-27 22:48:43 +10:00
Stenzek
4e880280bd Qt: Fix inconsistent multitap addressing
And remove multiple copies of the same variables while we're at it.
2024-09-27 20:59:04 +10:00
Stenzek
7f4e5d55db Misc: Update copyright headers 2024-09-01 22:08:31 +10:00
Stenzek
9e3507e0f4 InputManager: Support multiple mice via raw input
Only on Windows for now.
2024-08-23 22:31:59 +10:00
Stenzek
fda6140088 GameDatabase: Add DisableAutoAnalogMode trait
For games that can handle analog controllers, but the sticks do not do
anything.
2024-08-18 20:33:15 +10:00
Stenzek
aa9a5e383d ImGuiOverlays: Change icon colour depending on controller mode 2024-08-18 20:30:45 +10:00
Stenzek
fa104acdd1 Misc: Purge unused code and report startup error to host 2024-05-05 22:29:26 +10:00
Stenzek
ca3cfbaa99 Misc: Pass string_view by value 2024-05-05 22:28:29 +10:00
Stenzek
d094978214 Justifier: Add controller implementation 2024-04-28 15:25:24 +10:00
Stenzek
3e99084770 Settings: Fix double source of truth for controller names 2024-04-27 13:21:11 +10:00
Matheus Fraguas
07c012aee5 Negcon rumble (#3177)
* Implemented NeGcon with rumble. Code is a mix of the existing NeGcon AnalogController modes.

* Fix negcon id reply and analog/digital toggle.

* Implemented NeGcon with rumble. Code is a mix of the existing NeGcon AnalogController modes.

* Fix negcon id reply and analog/digital toggle.

* Update macros

* Code cleanup
2024-04-16 15:40:31 +10:00
Stenzek
7d5e2bf50c FullscreenUI: More localization fixes 2023-11-30 14:21:44 +10:00
Stenzek
dfb27c14be FullscreenUI: More localization fixes 2023-11-29 23:11:28 +10:00
Stenzek
fc6359457b ImGuiManager: Use PromptFont icons for input OSD 2023-11-26 21:35:29 +10:00
Stenzek
3cd28f433b Controller: Use std::span 2023-09-20 17:11:29 +10:00
Stenzek
7e07d2feb8 GunCon: Add relative pointer binding 2023-09-20 17:11:29 +10:00
Stenzek
259193a8e5 GPUDevice: Move software cursor to ImGuiManager 2023-08-30 00:44:00 +10:00
Stenzek
1ec6aee5bf Host: Split translation macros dependent on return type 2023-08-20 12:40:47 +10:00
Dolphin
9526e15ec2 Update japanese translation (#2969)
* update base duckstation-qt_ja.ts

* update Japanese translation

* translate controller name on controllersettingsdialog
2023-05-02 21:46:06 +10:00
Connor McLaughlin
395e9a934b InputManager: Support inverted full axis
i.e. pedals
2023-01-15 15:13:54 +10:00
Connor McLaughlin
8c7a192128 Misc: Add copyright/license statement to applicable files
Should've did this in the beginning.
2022-12-04 21:03:49 +10:00
Connor McLaughlin
f5b7311a45 Controllers: Make deadzone circular 2022-10-21 21:20:21 +10:00
Connor McLaughlin
4feb5ad548 Controller: Make InAnalogMode() virtual 2022-10-09 14:10:54 +10:00
Connor McLaughlin
35f272b336 Settings: Set default controller type to AnalogController 2022-08-29 20:34:12 +10:00
Connor McLaughlin
b42b5501f6 UI: Massive revamp, new features and improvements 2022-07-22 21:19:54 +10:00
Connor McLaughlin
b7fbde31a7 Move utility classes from common to own static lib 2022-07-21 17:29:58 +10:00
Connor McLaughlin
251043f11a OSD: Add controller input display overlay 2021-04-04 04:08:42 +10:00
Albert Liu
5ff3299384 Controller: Add method for reading analog input bytes 2021-01-07 15:04:23 -08:00
Connor McLaughlin
8bb5ff47eb PlaystationMouse: Add option to use relative mode 2020-12-28 00:37:04 +10:00
Connor McLaughlin
ca42d027ac Qt: Implement relative mouse mode 2020-12-28 00:37:04 +10:00
Connor McLaughlin
47f0720b93 Controller: Always preserve internal state when loading/resuming
Fixes analog mode getting disabled when loading state.
2020-12-17 01:20:06 +10:00