Megamouse
ad340c3007
overlays/osk: Implement fallback for unknown keys
...
Note that those keys won't be passed to the cellOsk event hook callback
2022-10-29 22:56:08 +02:00
Elad Ashkenazi
c214f45e14
Savestates/rsx/IO: Resume emulation on long START press, enable "Start Paused" by defaut ( #12881 )
...
* Savestates: Enable "Start Paused" by default
* Emu/rsx/IO: Resume emulation on long START press
* rsx: fix missing graphics with savestates' "Start Paused" setting
* rsx/overlays: Add simple reference counting for messages to hide them manually
* Move some code in Emulator::Pause() so thread pausing is the first thing done by this function
2022-10-29 19:53:00 +02:00
Megamouse
5f1aafb961
Dualsense: Enable improved rumble emulation (or so)
...
Also disable audio haptics to save power
2022-10-22 10:26:26 +02:00
Megamouse
615ff08d1a
Dualsense: Release LEDs on when the handler is destroyed
2022-10-22 10:26:26 +02:00
Megamouse
3320d1e1c7
Dualsense: Read firmware version as seen in firmware installer
2022-10-22 10:26:26 +02:00
Megamouse
3deb177ab7
Dualsense: name some report members based on SDL2
2022-10-22 10:26:26 +02:00
Megamouse
871ef2cdfe
Input: return pad connection in get_next_button_press
...
This fix some minor race condition in the UI that had no real consequences just by chance.
2022-10-21 23:42:01 +02:00
Megamouse
6c0bc43776
Input: change brightness data type in hid to u32
2022-10-21 23:42:01 +02:00
Megamouse
a16d18d83c
Input: rename misleading ThreadProc to process
2022-10-21 23:42:01 +02:00
Megamouse
e499c3c6e3
Input: move m_is_init to base class
2022-10-21 23:42:01 +02:00
Megamouse
ddd261c943
Input: refactor vibration
...
There's no need to deal with vibration levels outside of the handlers.
All we need to know is the 0-255 DS3 range which is given by the u8 type.
2022-10-21 23:42:01 +02:00
Megamouse
363e0a40e5
Input: Allow to toggle player LED (Dualsense and DS3)
2022-10-19 22:55:50 +02:00
Megamouse
035d410a89
evdev: change default axis for gyro
2022-10-18 00:19:01 +02:00
Megamouse
b0b42071f2
Input: Fix Dualsense gyro axis and adjust DS4 resolution
2022-10-18 00:19:01 +02:00
Megamouse
13b3c78c7f
Input: fix MMJOY axis identification
2022-10-15 13:17:16 +02:00
Megamouse
814adbb8c4
Input: simplify InitPadConfig
2022-10-15 13:17:16 +02:00
Megamouse
cf86b6c107
Input: keep old port status when reconnecting ldd pads
...
The port status might not change currently, but it should be more correct this way.
2022-10-12 22:30:09 +02:00
Megamouse
12a83e5a1c
Input: simplify unnecessarily complex ldd reload
2022-10-12 22:30:09 +02:00
Megamouse
0f769eec81
Input: log more pad information
2022-10-12 21:01:02 +02:00
Nekotekina
6ff6a4989a
Implement at32() util
...
Works like .at() but uses source location for "exception".
2022-09-26 18:04:15 +03:00
RipleyTom
f98251a05a
Fixes -w leaking
2022-08-30 07:46:42 +02:00
Megamouse
829af30568
evdev: add motion device
2022-08-14 11:04:57 +02:00
shinra-electric
cba4c3cdc4
[macOS] Update hid_pad_handler.cpp to prevent DS4 from disconnecting ( #12493 )
...
Prevents DS4 (and possibly DS3) from disconnecting from bluetooth after 15 minutes by using hidapi's non-exclusive mode.
The most recent version of hidapi, 0.12 from two months ago, added "macOS-specific function(s) to open device(s) in non-exclusive mode".
2022-08-11 07:14:37 +02:00
Megamouse
c4b38869ab
Input: fix pad initialization
2022-08-05 20:16:21 +02:00
Elad Ashkenazi
d99ae3809d
Update keyboard_pad_handler.cpp
2022-07-29 13:45:19 +02:00
Megamouse
639b8112b6
Input: make move handler dynamic
2022-07-06 21:49:31 +02:00
Megamouse
4823d4c32a
input: add background input option
...
Adds an option to disable background input to the IO tab in the settings dialog.
This will disable pad input as well as ps move and overlays input when the window is unfocused.
2022-07-06 21:49:31 +02:00
Elad Ashkenazi
fcd297ffb2
Savestates Support For PS3 Emulation ( #10478 )
2022-07-04 16:02:17 +03:00
Megamouse
a2623b1a9a
DS3: fix other report size check.
...
The Report size also seems to be generic here, so let's only check if anything got returned at all.
Also add missing logging for result < 0.
2022-06-10 18:46:12 +02:00
Megamouse
7235647e67
DS3: fix report size check.
...
The Report size seems to be generic here, so let's only check if anything got returned at all.
2022-06-10 06:47:01 +02:00
Megamouse
bb03e17e2d
HID: optimize get_next_button_press a bit
2022-06-05 19:07:03 +02:00
Megamouse
09875a5180
HID: properly check return values and report IDs
2022-06-05 19:07:03 +02:00
Megamouse
4912202cfa
HID: zeroize buffers before getting a report, use std::array
2022-06-05 19:07:03 +02:00
Megamouse
f57da6655c
DualSense: Fix firmware report on newer versions
...
Newer versions of the DualSense return 64, while old versions return 65.
2022-06-05 19:07:03 +02:00
Megamouse
2706486559
input: add absolute mouse movement mode
2022-05-05 16:50:39 +02:00
Megamouse
8f14f392fd
overlays: ignore input if kb pad handler is active
2022-04-25 19:44:56 +02:00
Megamouse
0ff293707a
OSK: allow device input during interception
2022-04-25 19:44:56 +02:00
Megamouse
9adab801ac
cellOskDialog: implement device mask and lock
2022-04-25 19:44:56 +02:00
Megamouse
3972022fa2
evdev: improve latency
2022-03-20 04:27:06 +01:00
Megamouse
93e7988df7
rsx: add boost mode shortcut
2022-02-20 11:56:11 +01:00
Megamouse
d6597038ee
Input: multithreaded handlers
...
Implements naive multithreading for input handlers.
2022-02-10 20:38:11 +01:00
Megamouse
a4c4548c3a
input: add enumeration threads for each hid_pad_handler
...
There was a roughly 60 ms lag for each hid handler every 2 seconds. (sucks if you use all 3 hid handlers)
2022-02-01 19:28:04 +01:00
Megamouse
8efc29972d
input: add missing nullptr checks for pad
2022-02-01 19:28:04 +01:00
nastys
d2897bc6a0
macOS: Fix DS3 init on Monterey
2022-01-24 20:16:57 +01:00
nastys
ed542b2cb4
macOS: Fix arrow keys
2022-01-10 22:54:06 +01:00
Megamouse
18f59d3be8
Input: fix min stick input of keyboard pad handler
2021-12-17 17:21:44 +01:00
Megamouse
bf739aa156
Input: implement stick multipliers for keyboard
2021-12-17 17:21:44 +01:00
Megamouse
e7fc2bfa3b
Input: Log path on hid_open_path error
2021-11-22 09:41:12 +01:00
Artur
9f35c3f52d
Properly recognize triggers and axes for evdev pads.
2021-11-17 21:29:24 +01:00
Megamouse
0d7b7585a8
Some typo/warning fixes
2021-11-16 09:31:16 +01:00
Megamouse
56241838c0
input: add made up CELL_PAD_CTRL_PS enum
...
And remove useless comment about 0x0 buttons. It's a bitmap, so 0x0 is literally useless.
2021-11-16 01:38:33 +01:00
Megamouse
792ac5ed64
DS4: add version check
2021-10-15 01:20:15 +02:00
Megamouse
90548468ee
mmjoy: add member prefix to blacklist
2021-10-15 01:20:15 +02:00
Megamouse
877dd1f98d
DS4: add ZEROPLUS Brook Mars controller
2021-10-10 10:34:03 +02:00
Megamouse
7df7ac57cc
input: log hid_get_feature_report return values
2021-10-10 10:34:03 +02:00
Megamouse
d8435163bb
input: increase mouse acceleration maximum
2021-10-04 21:21:32 +02:00
Megamouse
e307a1b4bd
input: fix keyboard_pad_handler pressure sensitivity
2021-09-19 23:46:51 +02:00
Megamouse
29256df5b1
input: make pad_thread a named_thread
2021-09-08 20:15:28 +02:00
Megamouse
a74156fe5b
input: reimplement lost optimization
...
We don't need to check all the buttons constantly
2021-09-08 20:15:28 +02:00
Megamouse
aca9884e76
input: fix custom pad config loading
2021-09-05 10:16:25 +02:00
Megamouse
b07960d3bc
input: move pressure sensitivity to the handlers
...
This removes a data race where the button was kept pressed but the values ingame could vary
2021-08-29 10:41:22 +02:00
Megamouse
977d729ee0
input: use buffers during button translation
...
This should reduce some random noise by assgning the values once instead of twice
2021-08-29 10:41:22 +02:00
Megamouse
a33b2afe08
input: remove inconvenient pad mutex
...
It takes too long to wait for some handlers after all, causing stutter.
2021-08-29 10:41:22 +02:00
Megamouse
2eb0d19a75
input: rename some variables
2021-08-29 10:41:22 +02:00
Megamouse
970fe0df12
input: revert stupid ideas
...
In order to make input more "atomic" I added man in the middle interfaces to decrease the delay between input and cellPad.
But I failed to notice that this introduced a data race between both ends of the pipeline.
I hope the new mutex location doesn't cause any noticeable input lag.
2021-08-26 08:48:03 +02:00
Megamouse
38097783b8
input: fix keyboard handler port status
...
🤦
2021-08-26 05:01:16 +02:00
Megamouse
f44e50b9cd
mmjoy: fix pressure sensitivity button
...
It defaulted to JOY_POVFORWARD (same dumb facepalm bug as with XInput earlier)
2021-08-24 00:01:38 +02:00
Megamouse
62102293b5
Input: fix keyboard stick lerp
2021-08-21 00:56:50 +02:00
Megamouse
aa48bd91f4
input: fix pad defaults when config file was empty
2021-08-15 21:02:38 +02:00
Megamouse
ac986c7c61
fix some warnings
2021-08-15 21:02:38 +02:00
Megamouse
cad96cef72
input: redesign pad profiles
2021-08-15 08:24:35 +02:00
Megamouse
5816505e61
input: fix player id if handler has 2 or more pads
2021-08-10 21:31:29 +02:00
Megamouse
27c86422c7
input: fix keyboard pad handler
2021-08-09 14:38:33 +02:00
Megamouse
1b775febcd
evdev: fix axis_orientations index
2021-08-09 14:38:33 +02:00
Megamouse
f0d51899c1
input: fix minor data race
...
While usually not exposed to the user, there was a slight chance that user input was read in a dirty state.
This became apparent during usage of the new pressure sensitivity button
2021-08-09 11:29:46 +02:00
Megamouse
2b18813115
input: fix pressure sensitivity button
2021-08-09 01:05:15 +02:00
Megamouse
d4802cc766
input: Add pressure sensitivity button
2021-08-07 21:03:34 +02:00
Megamouse
dd7f24b20e
cellGem: fix mouse positions
2021-08-04 20:28:34 +02:00
Megamouse
4d0179174a
cellGem: add more mouse buttons
2021-08-04 20:28:34 +02:00
Eladash
7d89938624
cellPad: do not use recusrive mutex
2021-05-28 20:25:16 +03:00
Megamouse
98b668b3a8
perf_overlays: add avg and 1p high/low
2021-05-26 23:26:12 +02:00
Nekotekina
160b131de3
types.hpp: implement smin, smax, amin, amax
...
Rewritten the following global utility constants:
`umax` returns max number, restricted to unsigned.
`smax` returns max signed number, restricted to integrals.
`smin` returns min signed number, restricted to signed.
`amin` returns smin or zero, less restricted.
`amax` returns smax or umax, less restricted.
Fix operators == and <=> for synthesized rel-ops.
2021-05-22 12:10:57 +03:00
Megamouse
aa0afc9a4e
Input: avoid mouse events when unused
2021-04-20 00:06:23 +02:00
Megamouse
691b986e36
keyboard pads: release all keys on FocusOut event
2021-04-17 14:03:50 +02:00
Megamouse
5416f60643
basic keyboard: release all keys on FocusOut event
2021-04-17 14:03:50 +02:00
Megamouse
03b76b4606
Emu: some cleanup
2021-04-09 21:03:49 +02:00
Megamouse
2c05e9719d
cfg: simplify get_nodes
2021-03-20 20:54:26 +03:00
Nekotekina
c22e1e71f0
Continue fixing strict aliasing warnings
2021-03-13 18:02:37 +03:00
Megamouse
1b5cf118e7
Input/Qt: implement XInput battery level
2021-03-07 11:48:19 +01:00
Nekotekina
87af905018
Enable -Wunused-parameter
2021-03-06 18:07:08 +03:00
Megamouse
d2b0b019ec
DualSense: Fix initial ingame LED update
2021-03-06 11:15:54 +01:00
Megamouse
3e7e077fad
DS3/DS4: fix battery LED update
2021-03-06 02:07:02 +01:00
Megamouse
dbb03ae2d7
dualsense: implement lightbar pulse (low battery)
2021-03-06 02:07:02 +01:00
Megamouse
06d2c5357b
dualsense: fix LED updates
2021-03-06 02:07:02 +01:00
Megamouse
c8e7530e37
dualsense: get hardware and firmware version
2021-03-06 02:07:02 +01:00
Megamouse
cdffaa1598
dualsense: implement battery level
2021-03-06 02:07:02 +01:00
Megamouse
b836d2497d
dualsense: minor cleanup
2021-03-06 02:07:02 +01:00
Nekotekina
52fe86b56c
fixed_typemap.hpp: make it a bit fool-proof
...
Require objects to be non-copyable (move is still allowed).
2021-03-02 21:58:49 +03:00
Megamouse
930895a218
DS3: fix LED battery status
2021-03-02 01:29:28 +01:00
Megamouse
3452e18da1
DS3: fix linux output report
2021-03-02 00:45:42 +01:00