97 Commits

Author SHA1 Message Date
Stenzek
e9848a6182
Misc: Collapse more niche log channels 2024-12-01 23:21:33 +10:00
Stenzek
00132c6070
AnalogController: Fix more log spam 2024-12-01 14:49:38 +10:00
Stenzek
19eee76aec
AnalogController: Reduce log spam 2024-11-29 17:30:53 +10:00
Stenzek
6be242449b
AnalogController: Simplify rumble config
And fix some variables not being saved to state, yay determinism issues.
2024-11-29 13:11:25 +10:00
Stenzek
7b7dd2bef1
AnalogController: Reset state on analog->digital switch
But only when the game does not support analog mode.

Tomb Raider's game selector menu puts the controller into
configuration mode, and we're supposed to respond with a
0x00 header byte if the user switches the pad to digital
mode.

Problem is, the game itself doesn't understand this mode
switch nor configuration mode. So the status byte gets
stuck at 0x00 if the user toggles analog mode, and the
game thinks no pad is connected.

Work around this by resetting the whole state if the game
does not support analog mode.
2024-11-05 16:07:31 +10:00
Stenzek
0d3501d435
Misc: Pass SettingsInterface by const reference 2024-10-20 23:59:47 +10:00
Stenzek
80971dac5a
AnalogController: Allow negative vibration bias 2024-10-05 16:07:33 +10:00
Stenzek
3dca598063
Log: Switch to enum class
Need to change the channel to a bitset too.. the string lookups are
horribly slow, and conflict when one is a prefix of another.
2024-09-21 22:26:06 +10:00
Stenzek
292c1e0f06
Misc: Normalize OSD message keys 2024-09-18 22:35:50 +10:00
Stenzek
6d0f92d4fb
dep/fmt: Bump to v11.0.2 2024-09-03 17:54:43 +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
4e922a34a7
Log: Simplify macros 2024-05-24 02:08:14 +10:00
Stenzek
b6d019db66
Misc: Replace log printf calls with fmt 2024-05-24 00:29:49 +10:00
Stenzek
3e99084770
Settings: Fix double source of truth for controller names 2024-04-27 13:21:11 +10:00
Stenzek
cc84952fdc
AnalogController: Minimum deadzone/activation threshold should be 1% 2023-12-31 19:42:52 +10:00
Stenzek
fc6359457b
ImGuiManager: Use PromptFont icons for input OSD 2023-11-26 21:35:29 +10:00
Stenzek
01e505ec8b Common: Add intrin.h 2023-10-01 17:24:34 +10:00
Stenzek
3cd28f433b Controller: Use std::span 2023-09-20 17:11:29 +10:00
Stenzek
80e3d29ab8 Misc: clang-cl warning clean-up 2023-09-03 14:30:26 +10:00
Stenzek
9439cf65a3 AnalogController: Always use analog mode from save state 2023-08-31 22:09:17 +10:00
Stenzek
e23c9875d5 Misc: Split core and util Host 2023-08-30 00:44:00 +10:00
Stenzek
dc9c99438b Misc: Post-refactor cleanups 2023-08-24 18:01:32 +10:00
Stenzek
c88a558ae0 Misc: Make controller bindings translatable 2023-08-20 12:40:47 +10:00
Stenzek
e57ad0b6aa Host: Backport translations cache
Note: You'll need a new command line for lupdate.

..\..\..\dep\msvc\qt\6.5.0\msvc2022_64\bin\lupdate.exe ../ ../../core/ ../../util/ -tr-function-alias QT_TRANSLATE_NOOP+=TRANSLATE,QT_TRANSLATE_NOOP+=TRANSLATE_SV,QT_TRANSLATE_NOOP+=TRANSLATE_STR,QT_TRANSLATE_NOOP+=TRANSLATE_FS,QT_TRANSLATE_N_NOOP3+=TRANSLATE_FMT,QT_TRANSLATE_NOOP+=TRANSLATE_NOOP -ts duckstation-qt_LANGUAGE.ts
2023-08-20 12:40:47 +10:00
Stenzek
1ec6aee5bf Host: Split translation macros dependent on return type 2023-08-20 12:40:47 +10:00
Stenzek
7681551544 System: Don't auto enable analog on unknown games 2023-05-08 13:07:19 +10:00
Stenzek
c8e7922c1a AnalogController: Fix incorrect locked message format 2023-02-05 13:12:45 +10:00
Connor McLaughlin
395e9a934b InputManager: Support inverted full axis
i.e. pedals
2023-01-15 15:13:54 +10:00
Dolphin
91a6608118 mark some analog controller/joystick messages as translatable 2023-01-07 10:35:17 +09: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
587fbf6ca7 System: Disable auto analog mode when starting shell 2022-10-04 00:20:37 +10:00
Connor McLaughlin
736996ab38 Controller: Add invert and button deadzone options 2022-09-24 13:14:13 +10:00
Connor McLaughlin
5ac9c3f022 Controller: Add multiplier/format to settings 2022-08-10 13:03:15 +10:00
Connor McLaughlin
a8f5146010 GameDatabase: Add some missing OSD message keys 2022-07-25 18:06:17 +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
Albert Liu
3273ca36ef AnalogController: Simulate status byte toggling 2021-11-07 12:31:27 -08:00
Albert Liu
ab496ef8fe AnalogController: Don't re-enable legacy rumble on manual toggles 2021-11-07 12:31:27 -08:00
Connor McLaughlin
3cf12e8f0d Controller: Round floating point axis values instead of flooring 2021-07-17 20:38:23 +10:00
Connor McLaughlin
6eb0496d77 AnalogController: Don't panic on unknown configuration mode command 2021-05-20 12:19:23 +10:00
Connor McLaughlin
7fb5d6908f AnalogController: Use device state instead of save state for mode 2021-04-26 21:25:43 +10:00
Connor McLaughlin
251043f11a OSD: Add controller input display overlay 2021-04-04 04:08:42 +10:00
Albert Liu
49c65cf5dd AnalogController: Only panic on unknown config mode commands 2021-03-14 00:40:36 -08:00
Albert Liu
71d748ef04 AnalogController: Fix regression in analog mode toggling 2021-02-21 16:12:41 -08:00
Albert Liu
329e8317b4 Controller: Always check for access byte 2021-02-21 15:20:31 -08:00