Commit graph

404 commits

Author SHA1 Message Date
Nekotekina 7c15001042 Implement read_from_ptr<>() util
Doing std::bit_cast on a "span".
Should be usable in constexpr.
2022-11-26 09:30:11 +03:00
Eladash 69368d972d Savestates: Move "Start Paused" setting to UI 2022-11-05 10:36:46 +01:00
Eladash 9632d0ab8a Emu: fixup message when the application has crashed 2022-11-01 19:08:55 +03:00
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
Megamouse b5d4b5a21c DS3: fix regression: pad data is cleared even if there is no new data 2021-03-01 14:37:49 +01:00
Megamouse 2dc798d539 DS3: fix battery_level aquisition 2021-03-01 14:37:49 +01:00
Megamouse c2467b7b38 ds3: add led battery indicators (Linux only atm)
needs testing. maybe doesn't work
2021-03-01 14:37:49 +01:00
Megamouse 22b8cfd0ba input: add some sanity checks 2021-03-01 14:37:49 +01:00
Megamouse 10a55f16cc DS3: implement player LEDs 2021-03-01 14:37:49 +01:00
Megamouse b83cb2dbf5
product_info: add Harmonix Pro-Drum Kit (#9822)
Co-authored-by: DrGeelfood <79338929+DrGeelfood@users.noreply.github.com>
2021-02-23 18:23:53 +03:00
Megamouse 0878db4e17 remove unused variable 2021-02-23 05:03:38 +01:00
Megamouse 2e5f321583 evdev: fix build 2021-02-22 10:45:40 +01:00
Megamouse 5a9b29b73a hid: log more info when adding a device
And minor format changes
2021-02-22 10:45:40 +01:00
Megamouse 1b2260132b only call hid_exit when all hid_handlers are done 2021-02-22 10:45:40 +01:00
Megamouse 1479468730 Input: fix build 2021-02-22 10:45:40 +01:00
Megamouse 870d26f9d8 Input: replace a bunch of static_pointer_cast 2021-02-22 10:45:40 +01:00
Megamouse f6d465667a Input: unify some more code 2021-02-22 10:45:40 +01:00
Megamouse aaae30cb84 DS3: inherit from hid_pad_handler 2021-02-22 10:45:40 +01:00
Megamouse fbb9396813 DualSense: inherit from hid_pad_handler 2021-02-22 10:45:40 +01:00
Megamouse b9a4abce0e DS4: inherit from hid_pad_handler 2021-02-22 10:45:40 +01:00
Megamouse d0cc5c0fc7 DS4: enumerate devices periodically 2021-02-22 10:45:40 +01:00
Nekotekina 8e6e57de86 Enable -Wunused-function warning 2021-02-15 14:39:53 +03:00
Megamouse bc938ce630 dualsense: implement player LEDs 2021-02-09 19:21:37 +01:00
Megamouse db402cb8af dualsense: add player LED support 2021-02-09 19:21:37 +01:00
Megamouse 1af6550db7 dualsense: add lightbar support 2021-02-09 19:21:37 +01:00
Megamouse 7795f5207f dualsense: fix switched motors
The left one seems to be the large motor
2021-02-09 19:21:37 +01:00
Megamouse a9b8a50c31 dualsense: add output report structs based on linux driver 2021-02-09 19:21:37 +01:00
Megamouse a9418fa1e7 dualsense: implement SetPadData for rumble in GUI 2021-02-09 19:21:37 +01:00
Megamouse 08f48d27e8 Input: minor simplification
This might prevent some copy paste error in the future
2021-02-09 19:21:37 +01:00
Megamouse 25a66da4ca Input: rename some functions 2021-02-09 19:21:37 +01:00
Megamouse ff61bc9e7c dualsense: add mic button 2021-02-09 19:21:37 +01:00
Megamouse 3e8f4ba018 dualsense: add gyro support 2021-02-09 19:21:37 +01:00
Megamouse 7e0fdbbe99 Fix rpcs3.vcxproj 2021-02-04 23:11:05 +01:00
Nekotekina a6a92f7b6b Qt: remove Q_OBJECT for mouse/kb handlers
Had to move QObject in parent list for g_fxo changes.
2021-02-04 23:11:05 +01:00
Megamouse 51d19e7c31 Input: remove debug error 2021-01-28 18:02:23 +01:00
Megamouse 8eaf76394c Qt/Input: Use ellipsis as "mouse deadzone"
This is experimental and smoothens the existing square shaped deadzone
2021-01-13 11:25:33 +01:00
Nekotekina db8e6fe7a7 Enable -Wunused-variable 2021-01-12 14:34:14 +03:00
Megamouse 52deff06ba
Random stuff (#9589)
* minor coding style adjustment

* Qt: simplify osk dialog buttons

* replace std::find_if with convenience functions

* RSX: use sv in swizzle comparison

idk, I'll remove this if it was intentional.

* overlays/osk: rename enter to return

This one confused me and make me look for a bug that caused the "enter" key to be disabled, while it was actually the return key (obviously xD).
2021-01-12 12:59:50 +03:00
Nekotekina a8e0d261b7 types.hpp: more cleanup
Also fix compilation.
2020-12-22 19:08:09 +03:00
Nekotekina 43a58df8a0 Butcher narrow cast a little (don't print value).
Also remove some forward declarations from util/types.hpp
If they don't work properly, it's easier to remove them.
2020-12-22 14:32:30 +03:00
Nekotekina b7bf316c1a Don't randomly include "stdafx.h"
It's file for precompiled headers.
Include what is used, don't rely on transitive includes.
2020-12-22 14:32:30 +03:00
Nekotekina fb29933d3d Add usz alias for std::size_t 2020-12-18 12:23:53 +03:00
Megamouse 03ad5c6830
Salvaging code (#9432)
* Minor input refactoring

* fix sys_config_unregister_io_error_listener log message

* Remove unused variables in RepaintTextColors

Co-authored-by: GermanAizek <GermanAizek@yandex.ru>
2020-12-14 14:33:43 +01:00
Megamouse 35ecd00559 Remove BOM from new files 2020-12-14 09:01:07 +03:00
Luke Barr cb8ef46ec7
Initial DualSense Support (#9308)
* Initial DualSense Support

* Add Vibration Support

* Add CRC32 Validation to Incoming Bluetooth Packets
Cleanup report sizes

* Consistency, remove button comments, add two buttons.

Co-authored-by: Ani <ani-leo@outlook.com>
2020-12-13 00:00:45 +01:00
Nekotekina 6e05dcadb6 Reduce std::numeric_limits dependency
Please, stop pretending...
You need these templates for generic code.
In other words, in another templates.
Stop increasing compilation time for no reason.
2020-12-12 12:35:18 +03:00
Nekotekina aa3aef4beb std::chrono cleanup: always use steady_clock 2020-12-11 19:01:56 +03:00
Nekotekina e055d16b2c Replace verify() with ensure() with auto src location.
Expression ensure(x) returns x.
Using comma operator removed.
2020-12-09 15:43:38 +03:00
RipleyTom af8c661a64 Remove BOM markers 2020-12-06 15:30:12 +03:00
Megamouse 9e352da052 Handle some undefined behavior regarding null pads 2020-11-26 00:45:49 +01:00
Megamouse 4984e87776 implement interception for cellKb and cellMouse
this needs to be tested
2020-10-31 02:11:27 +03:00
Megamouse 0a121e9d26 DS4: Add error logging and remove some unused code 2020-10-27 15:25:08 +01:00
Bevan Weiss 04deb97f94 MSVC 16.8 Preview 3.1 compiler fix
The latest MSVC 16.8 Preview 3.1 cl.exe no longer likes the implicit conversion from false->std::shared_ptr
But it's happy with nullptr

Not the ideal solution, but it will kick the can down the road a little.
2020-09-23 12:44:32 +02:00
Megamouse 5d50602397 Qt/Input: fix default pad handler
We accidentally always saved keyboard to Player 1 if null was selected.
The new code will only apply keyboard by default if the config file was not found.
2020-09-22 06:59:38 +02:00
SEt 9a6aac1662
Improve pad support (#8800)
* Add support for another DS3 HID Report ID for Win7
* Add support for reading accel/gyro pad data over SCP
2020-09-16 22:36:06 +02:00
Megamouse f0053bfc1a Input/Qt: Dont lock unused mouse in keyboard pad 2020-09-09 00:22:48 +02:00
Megamouse 1dac01498c Update mouse lock logic
- fix headers
- update cursor whenever the mouse is moved
- unify cursor logic
- move m_mouse_hide_and_lock logic to handle_cursor (toggle_fullscreen is the trigger, not the handler)
- disable mouse lock and idle timer if the window is inactive
2020-09-02 14:22:00 +02:00
Bevan Weiss ae0e454fc2 Use dynamic_cast to convert QWindow m_target to gs_frame
Used to access get_mouse_lock_state rather than going through the QWindow property tables.

Modify mouse hide and lock to default OFF when entering Windowed mode, and to default ON when entering Fullscreen unless 'show cursor in fullscreen' is configured
2020-09-02 14:22:00 +02:00
Bevan Weiss ca3ee019cc GUI: Mouse Hide and Lock Keyboard Shortcut
This should address the second point of #4502.

A few notes:
1. it changes the current behaviour of the 'Fullscreen cursor'.  Currently it defaults to be captive.  This changes it so that it defaults to NOT being captive, but can be made captive with the CTRL+L key combination.
2. There are situations when in windowed mode it's possible to escape the captivity (it's like a minigame if you will).  This requires the mouse movement to exceed the bounds of the window in a single event scan.  It will just show up as a temporary visibility of the cursor when outside of the window bounds.  It's not too difficult to 'fix', but might not be a likely enough scenario to warrant either.
3. There currently isn't an ability to change what this keyboard combo maps to, but it's inline with a collection of other similar keyboard mappings.  I think adding such a more generic keyboard mapping system (not for just keypad items, but system items.. e.g. so that Emulator stop could be mapped to something other than CTRL+S etc) is a bit out-of-scope of this particular PR.
2020-09-02 14:22:00 +02:00
Megamouse 9af66e22da evdev: log axis information in pad settings 2020-08-18 18:29:35 +02:00
Megamouse 4d9533ea54 input: use left and right squircle values 2020-07-13 21:23:48 +02:00
Megamouse f1b1c9053c Input/Qt: Check if gui callbacks are nullptr 2020-07-04 14:28:19 +02:00
Megamouse b5f01372ee Windows: distinguish left and right modifiers
This is just some workaround until we either use a different input api for keyboards or until we refactor the keyboard_pad_handler to use Qt with native scan codes
2020-07-02 12:55:27 +02:00
Megamouse bec6bde919 Qt/Input: update keyboard_pad_handler shortcuts
This is just some patchwork before the shortcuts get refactored eventually
2020-07-02 12:55:27 +02:00
Megamouse 1f25924384 Qt/Input: remove unused function: GetModifierCode 2020-07-02 12:55:27 +02:00
Megamouse 5a8eb9d3d7 Input: skip keyboard input when pads are disabled 2020-06-26 09:28:58 +02:00
Megamouse ab4c40c988 pad_thread facepalm 2020-06-26 09:28:58 +02:00
Megamouse 76faaf43f7 Input: Use global variables for pad modifications 2020-06-26 04:42:52 +02:00
Megamouse eb5ec211c2 Input: remember registered ldd controllers
- Don't reset ldd pads when saving a pad config
- Prevent configuration of registered ldd pads in the gui while ingame
2020-05-13 11:17:58 +02:00
Megamouse 5c4b8e8dee Input: fix xinput deadzones 2020-05-06 09:33:38 +02:00
Megamouse d4606cfdb9 Input: remame some functions 2020-05-06 09:33:38 +02:00
Megamouse a568c958af evdev: simplify evdevbutton madness a bit
I hope this doesn't regress anything
2020-05-01 12:03:06 +02:00
Megamouse 2de6a9bc44 evdev: revert facepalm change 2020-05-01 12:03:06 +02:00
Megamouse 8e95c0e44d evdev: add keys used by wii controller driver
I'll probably rework the current system sometime soon so that I don't have to add keys every now and then
(or I'll just add them all XD)
2020-04-25 22:55:08 +02:00
Megamouse 3788ef3e27 evdev: fixup for relax controller criteria 2020-04-25 16:37:20 +02:00
Megamouse 3937733182 evdev: relax controller criteria 2020-04-25 10:50:38 +02:00
Megamouse de58f19866 input: add Rock Revolution Drum Controller product info 2020-04-25 10:17:48 +02:00
Megamouse e4cb9ef7cd cellpad: add pclass_profile flags 2020-04-25 10:17:48 +02:00
Megamouse 4e6d95c5b8 Qt/input/cellpad: enable product choice 2020-04-25 10:17:48 +02:00
JohnHolmesII 4838f72e50 Prevent unecessary copy in loop 2020-04-13 14:37:11 +03:00
RipleyTom dce81d4a66 fix AddLddPad when more than one ldd pad 2020-04-08 07:39:54 +03:00
Megamouse f0edcc16fe evdev: add more buttons to button list 2020-03-12 19:43:52 +01:00
Megamouse e7adef9fe1 evdev: remove unused call to update_device 2020-03-12 19:43:52 +01:00
Megamouse 9c5da55dca evdev: Some random cleanup 2020-03-12 19:43:52 +01:00
Nekotekina b4f416cb76 Fix narrow warning in ds4_pad_handler.cpp 2020-03-10 18:45:49 +03:00
Nekotekina e4a81b1d13 Move Log.h to util/logs.hpp 2020-03-07 12:29:23 +03:00
Megamouse 9e449db0c2 Qt/Input: piggyback on existing callback for battery_level
removes ds4 timer workaround
2020-03-05 22:37:48 +01:00
Adiost f776910966 Qt/Input: new ds4 LED settings 2020-03-05 22:37:48 +01:00
Nekotekina 7a8772dafa Replace std::string::npos with umax 2020-03-05 14:05:23 +03:00
gamerforEA 93552a5958 Apply some Clang-Tidy fixes 2020-02-27 00:38:55 +03:00
Megamouse f7666f44da Untangle GUI and input includes 2020-02-24 16:31:01 +01:00
Megamouse 7b49249f5f Input: Add config lerp factor for buttons and triggers
Adds new lerp factors to the keyboard pad handler In order to simulate triggers and analog buttons.
See "Analog Button Lerp Factor" and "Trigger Lerp Factor" in the yml in InputConfigs/Keyboard/.
Values Range from 0-100 as before, where 100 is instant press and 0 is never.

Currently I'm not planning any GUI element for this.
2020-02-24 08:56:57 +01:00
Megamouse 64ed2f1151 Input: use std::lerp instead of lerp template 2020-02-24 08:56:57 +01:00
Nekotekina 972e0ab31d Remove -Wno-reorder and make it an error 2020-02-21 15:20:34 +03:00
Nekotekina 92e3eaf3ff Fix signed-unsigned comparisons and mark warning as error (part 2). 2020-02-19 22:54:58 +03:00
Nekotekina 8a176de6a1 Restore -Wenum-compare and fix some [=] warnings 2020-02-18 17:37:30 +03:00
Megamouse fe75311be2 move config structs to own files and clean up some headers 2020-02-17 15:08:17 +03:00
Nekotekina 21f7b0ff0f Remove HLE log channel 2020-02-01 11:52:24 +03:00
Nekotekina 3c0bd821c8 Give log channels fancier names
Improve LOG_CHANNEL macro to accept custom name.
2020-02-01 10:43:43 +03:00
Nekotekina d9a0619ddd Remove legacy GENERAL log channel
Add some more log channels instead.
2020-02-01 07:49:38 +03:00
Maksim Derbasov 1abdee242a small improvement (#7288)
* small improvement

* comments addressed

Co-authored-by: kd-11 <15904127+kd-11@users.noreply.github.com>
2020-01-22 12:28:48 +00:00
MSuih 049f852a9c Slight cleanup of mousewheel pr
Fixes theoretical uninitialized variable and micro-optimizes scrollwheel stop code
2020-01-04 18:58:33 +01:00
Eladash 9690854e58 Some cleanup
* Prefer default initializer over std::memset 0 when possible and more readable.
* Use std::format in trophy files name obtaining.
* Use vm::ptr<>::operator bool() instead of comparing vm::ptr to vm::null or using addr().
* Add a few std::memset calls in hle where it matters (or in some places just to document an actual firmware memcpy call).
2019-12-31 22:27:27 +03:00
MSuih 6cfcb7b4f3 Add support for mousewheel movement 2019-12-29 12:45:03 +01:00
linkmauve e9c5c6e6bf Move input to its own directory (#7126) 2019-12-22 17:39:42 +01:00