Commit Graph

76 Commits

Author SHA1 Message Date
Henrik Rydgård
e01ca5b057
Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02: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
96cfdbaa96 Some more XInput cleanup 2023-11-11 11:08:22 +01:00
Henrik Rydgård
004d8fc20e Remove unused code 2023-11-11 10:51:41 +01:00
Katharine Chui
cdd6f2f5c9 skip xinput trigger threshold check 2023-11-11 16:03:08 +08:00
Henrik Rydgård
80a99a67d9 Control: Change internal interfaces to batch-process input axis updates
These naturally come in bunches on many platforms like Android, so lay
some groundwork to also handle them in bunches to minimize locking in
the future.

Linux buildfix
2023-08-31 11:55:53 +02:00
Henrik Rydgård
77dff18701 XInputDevice: Dirty-track axes, for easier axis event debugging 2023-07-06 15:47:36 +02:00
Henrik Rydgård
2675d6ea43
Input event and device enums (#17514)
* Switch deviceID from int to enum InputDeviceID, globally

* Switch axisId to enum InputAxis

* Change int keycodes to InputKeyCode where it makes sense.

* SDL input buildfix

* SDL keycode buildfix

* Switch on enum warning fixes

* Qt keycode buildfix

* iOS keycode buildfix

* UWP keycode buildfix

* More iOS buildfix

* More iOS buildfix

* Update DinputDevice.cpp
2023-05-26 18:40:13 +02:00
Unknown W. Brackets
9cfcbc46e6 Global: Cleanup initialization/pointer checks.
Cleaning up a lot of cases of uninitialized data, unchecked return values
for failures, and similar.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets
6e1457e3bf UWP: Skip pad name lookup. 2022-07-04 19:14:05 -07:00
Unknown W. Brackets
536c050943 Core: Track names of connected pad devices.
Rather than just that it's a pad.  This tries to get the identifier if
possible.
2022-07-04 19:14:04 -07:00
Henrik Rydgård
b6228a1036 Add additional autoconf layout for xbox pads on Android. Revert the normal pad layout. 2021-08-28 15:38:03 +02:00
Henrik Rydgård
928bc88b01 Rename Unthrottle to Fast-forward globally 2021-08-18 09:28:13 +02:00
Yifan Gu
633a6f612b Refactor and unify analog input settings 2021-07-05 12:38:46 +02:00
Unknown W. Brackets
e1e5a8b49b UI: Ignore duplicate axis events.
We already ignore these on Windows, so this makes other platforms follow
the same logic.
2021-05-23 13:21:45 -07:00
Henrik Rydgård
495fd9a13c Fix OpenGL crash introduced in #13536 2020-10-11 22:34:37 +02:00
Henrik Rydgård
886a8b1ac6 Remove Timer.cpp/h. Move various collections into Common/Data/Collections. 2020-10-05 21:05:23 +02:00
Henrik Rydgård
f01ba6dc84 Move NativeApp.h to Common/System, split into NativeApp.h and System.h
Buildfix
2020-10-04 11:42:16 +02:00
Henrik Rydgård
9e41fafd0d Move math and some file and data conversion files out from native to Common.
Buildfixing

Move some file util files

Buildfix

Move KeyMap.cpp/h to Core where they belong better.

libretro buildfix attempt

Move ini_file

More buildfixes
2020-10-04 09:12:46 +02:00
Henrik Rydgård
342ed97291 Move input utilities from native to Common/Input. 2020-10-01 09:42:32 +02:00
Unknown W. Brackets
1b6b0c1649 UWP: Buildfix for controller vibration. 2020-05-25 09:44:05 -07:00
LunaMoo
e999444b23 Implement PPSSPP specific cheats:
0xA0 vibration cheat(Xinput)
Syntax is: 0xA0NNLLLL 0x00MMRRRR
where NN/MM is time vibration lasts LLLL/RRRR is the vibration power

0xA1 read value for the vibration(Xinput) from game memory
Syntax is: 0xA1000000 0xNNNNNNNN
where NNNNNNNN is the address that stores following values at offset:
0xNNNNNNNN + 0x0 Left Vibration power,
0xNNNNNNNN + 0x2 Right Vibration Power
0xNNNNNNNN + 0x4 Left Vibration time
0xNNNNNNNN + 0x6 Right Vibration time

Left some room for other PPSSPP specific cheats(0xA2-0xAF)
2020-04-16 23:00:29 +02:00
Silent
1acaec2494
Support falling back to xinput9_1_0.dll if neither xinput1_4.dll or xinput1_3.dll are present. This can happen on a Windows XP, Vista or 7 PC without DirectX End-User Runtimes installed.
Clean up XinputDevice.cpp from unused imports
2019-07-02 19:17:52 +02:00
aliaspider
15c4406df7 add missing inclues. 2018-03-22 22:14:19 +01:00
Unknown W. Brackets
989f19f83f UI: Respect the pause button display setting.
As of 22782b6, the setting stopped working.  It can be useful for Windows
touch devices.  Fixes #9609.
2017-04-12 22:09:05 -07:00
Unknown W. Brackets
0bd31e1567 Windows: Reduce CPU usage with no XInput connected. 2017-04-02 14:34:20 -07:00
Henrik Rydgard
ff2b6b3fca Assorted cleanup, UWP memory map fixes. PSPFlower runs in both 32-bit and 64-bit. 2017-03-23 10:02:28 +01:00
Henrik Rydgard
4ced81b1df UWP: Hook up basic touch/mouse input. Start work on loading from a StorageFile. Getting closer to starting to boot a game 2017-03-23 10:02:28 +01:00
Unknown W. Brackets
9e390510df Remove legacy InputState. 2017-03-14 22:07:07 -07:00
Henrik Rydgard
947f8c5bdd Let multiple XInput devices be mapped separately. Fixes #8250 2017-02-19 15:02:47 +01:00
Henrik Rydgard
5c918da774 Minor cleanups (combined two identical enums, misc) 2017-02-15 11:06:59 +01:00
Henrik Rydgard
f4b1152b00 Pick some safe changes from the android gradle branch (including windows CMake fixes) 2016-12-05 16:52:03 +01:00
Unknown W. Brackets
f0a8e931ff Remove UTF-8 BOMs from a few files.
And note the only ones that do need them in editorconfig.
2016-08-07 17:59:35 -07:00
Henrik Rydgard
28d8ed5881 Win32: Fix a bunch of little window resizing issues 2015-05-15 18:04:05 +02:00
Josh Palmer
929866edd3 XInput/DInput: Rename settings, fix sensitivity
* Change deadzone inverter naming convention to 'analog mapper'
* Remove hokey mathematics from sensitivity calculations
2015-02-05 06:30:29 +00:00
Josh Palmer
4c6410cd0d DInput/XInput: Further fixes & improvements
* Remove redundant second analog settings for XInput
* Replace DInput circle->square mapping with improved XInput version
2015-02-05 05:48:29 +00:00
Josh Palmer
6856709b1d DInput/XInput: Deadzone fixes & Sensitivity
* DInput Deadzone & Deadzone Inverter now function correctly
* Added analog Sensitivity options to DInput and XInput
2015-02-05 05:30:39 +00:00
Josh Palmer
918b96500c DInput/XInput: Configurable deadzone + inverter
* Add configurable shared deadzone for all DInput axes
* Add configurable separate deadzones for left & right XInput sticks
* Add configurable deadzone inverter for DInput X/Y axes
* Add configurable deadzone inverter for XInput sticks
2015-01-17 21:26:08 +00:00
Henrik Rydgard
995da23425 XInput: Try a different mapping of circular stick values to square psp stick values. May help #6772 ? 2014-09-05 23:31:25 +02:00
Unknown W. Brackets
3793bd5a02 Avoid xinput pad jitter resetting axis state.
Should take care of #5526.
2014-06-16 01:37:20 -07:00
Henrik Rydgard
3023f7d06b Android: Switch dpad default to use HAT X/Y +/- instead of "dpad", as documented.
Add a simple "autoconfigure" facility for input devices, that lets the user choose
if several are connected.

Can be expanded in the future to provide custom default mapppings for various devices as long as we manage to identify them.

Ideally, key mappings should be unique per device but they aren't yet.
2014-05-19 23:31:11 +02:00
Unknown W. Brackets
08b41df6a2 Change a few more log types. 2013-09-07 13:31:14 -07:00
Henrik Rydgard
55aa3d13c7 Win32: Switch to a UNICODE build. This took quite a bit of fixing. 2013-08-26 19:00:16 +02:00
Henrik Rydgard
edb0614a59 Fix analog axis names. Make L2/R2 on x360 controllers analog.
Also slightly nicer behaviour - don't create empty mapping, instead ask for mappings immediately.
2013-08-17 11:18:45 +02:00
Sacha
8b4280b297 Rename KEYCODE to NKCODE (native key code) to stop name collision. Implement Blackberry keymapping. 2013-08-05 03:31:40 +10:00
Henrik Rydgard
17e3751f45 Really avoid crash if no xinput dll 2013-07-25 23:58:19 +02:00
Henrik Rydgard
fafa9c9bfd Dynamically load XInput, lets us to map the home button with a trick
Also avoids failing to start if XInput 1.3 is not installed.
2013-07-23 00:12:26 +02:00
Henrik Rydgard
28ad8dc230 Lots of NewUI stuff (still experimental), fix back bug with x360 controllers 2013-07-17 22:27:50 +02:00
Unknown W. Brackets
cb1b1164d1 Only send XInput analog on change. 2013-07-07 17:18:02 -07:00
Unknown W. Brackets
3852e26558 Remove the force device setting, map instead. 2013-07-07 13:44:21 -07:00