Commit graph

404 commits

Author SHA1 Message Date
Megamouse b3df439c51 input: add timer to raw mouse enumeration 2024-05-25 00:51:05 +02:00
Megamouse b56f9490f5 input: move raw mouse register logic to own function 2024-05-25 00:51:05 +02:00
Megamouse 5d6d42d15d input: fix now_connect in raw mouse handler 2024-05-21 23:35:35 +02:00
Megamouse 9ceacd4867 input: remove No Button string from raw mouse config 2024-05-21 23:35:35 +02:00
Megamouse 32a938abd2 input/qt: allow to map mouse buttons in the guncon config 2024-05-21 23:35:35 +02:00
Megamouse 5a08ae4f41 input/qt: let user choose raw mouse device 2024-05-21 23:35:35 +02:00
Megamouse dae4eb2d0e raw_mouse: fix out of bounds error 2024-05-21 23:35:35 +02:00
Megamouse 1600ca2c03 input: add horizontal mouse scroll/tilt to mouse handlers 2024-05-21 23:35:35 +02:00
Megamouse 7ffb61f650 Qt: use mouse input to map basic mouse buttons 2024-05-21 23:35:35 +02:00
Megamouse eb8ab8ef15 implement mouse handler config 2024-05-21 23:35:35 +02:00
Megamouse aff2588cce overlays/input: allow ldd pad input 2024-05-18 14:34:08 +02:00
Florin9doi ecedbc38ec Consolidate input products in a single place 2024-05-17 08:58:14 +02:00
Florin9doi d1b4d4b599 Remove the redundant config for GunCon3 2024-05-14 09:05:03 +02:00
Florin9doi 941c87f6d7 Create a device class for GunCon3 which is ignored by cellPad 2024-05-14 09:05:03 +02:00
Florin9doi aa8fbf8102 Rename is_fake_move to fit other devices 2024-05-14 09:05:03 +02:00
Megamouse 70e40ce857 cellPad: don't report fake move pads as connected 2024-05-12 18:40:51 +02:00
Megamouse fcba193a3c input: use keyboard consumers to seperate cell and overlay logic 2024-04-27 01:03:23 +02:00
Megamouse 94431a7a33 Fix include on linux 2024-04-20 19:46:05 +02:00
Megamouse 7485ec2223 cellKb: fix missing slashes and brackets on japanese layout 2024-04-19 23:47:59 +02:00
Megamouse 60082864a6 cellKb: actually set the arrange member 2024-04-19 23:47:59 +02:00
Megamouse dcb8f21b2b Use unordered map to store keyboard keys
This potentially reduces latency ever so slightly.
2024-04-19 23:47:59 +02:00
RipleyTom 0f682b7da1 Fix Apple Clang build 2024-02-24 20:54:55 +02:00
Megamouse 3067c86d65 gui/input: only init and quit SDL once for all instances
Calling SDL_Quit while two handlers are active can cause controllers to disconnect
2024-02-22 19:31:00 +01:00
Megamouse 96afc15fa2 gui/input; fix log message delta type 2024-02-22 19:31:00 +01:00
Megamouse 66f694bb39 gui/input: include Carbon.h on apple 2024-02-22 19:31:00 +01:00
Megamouse 06025cd19d gui/input: let pad handlers know whether they are part of emulation
Also fix unique_ptr vs shared_ptr nonsense in pad_threads
2024-02-22 19:31:00 +01:00
Megamouse fc698a4df2 gui/input: implement pad navigation for maxOs 2024-02-22 19:31:00 +01:00
Megamouse 2cd47c0415 gui/input: use uinput for linux in gui_pad_thread 2024-02-22 19:31:00 +01:00
Megamouse b032f2dd87 gui/input: add gui input with native events 2024-02-22 19:31:00 +01:00
Megamouse e3d4c067df raw_mouse: adjust relative mouse position if the window size changed 2024-02-14 21:10:26 +01:00
RipleyTom 5a64556fbf Add <optional> to RB3MidiDrums.h 2024-02-14 14:14:09 +02:00
Megamouse d71f4b33d7 raw_mouse: center cursors on init 2024-02-14 01:13:44 +01:00
Megamouse 348fab33a8 overlays: fix raw mouse debug overlay pos type 2024-02-14 01:13:44 +01:00
Megamouse 68f3df4975 input: implement raw_mouse_handler 2024-02-14 01:13:44 +01:00
Megamouse faaf644331 Qt/input: show all mmjoy devices with connection in dropdown
This fixes weird issues with disconnected pads while also showing the status.
2024-01-14 02:50:45 +01:00
Megamouse 9c11840e40 input: implement dynamic mmjoy device reconnection 2024-01-14 02:50:45 +01:00
Megamouse c45deb3f87 sdl: log version 2024-01-10 22:34:13 +01:00
Megamouse 9fe640b187 whitespace and format 2024-01-02 16:46:31 +01:00
Megamouse 59c58aa3cf fix some warnings 2023-12-30 19:07:35 +01:00
Megamouse b0c1684ff3 Qt/input: separate num keys from other keys 2023-12-29 16:33:41 +01:00
Megamouse 57cc7037f6 input/evdev: handle flatness deadzone value
This may fix issues with sticky axis on evdev.
Also refactors some redundant axis scaling functions.
2023-12-14 15:51:11 +01:00
Megamouse a4d8091625 Reduce log level for missing gamecontrollerdb.txt to warning 2023-10-25 07:13:12 +02:00
Megamouse 0bb5974ab6 input: try to add tony hawk RIDE Skateboard 2023-09-05 20:41:39 +02:00
Megamouse a597368c46 SPU: fix some wierd typos (may be wrong, no idea) 2023-09-02 12:10:36 +03:00
Megamouse f554b444c0 Qt: rename pad profiles to config files 2023-08-31 00:36:48 +02:00
Megamouse 7144e92ce2 Qt: fix pressure intensity deadzone enabled state 2023-08-29 21:11:46 +02:00
Megamouse 452a4654da input: add SDL_GameControllerDB 2023-08-29 03:19:41 +02:00
Ivan Chikish 4acd819478 [DS4] Proper USB/BT detection 2023-08-28 22:51:38 +02:00
Megamouse b248483841 input: implement pressure intensity deadzone 2023-08-26 14:40:56 +02:00
Megamouse 36dce454dd input: fix dance mat PID
It seems this ID was wrong for some reason.
2023-08-21 23:48:56 +02:00
Megamouse e28b705f0d Input: Add PS Move navigation controller
Add the ps move navigation controller to pad types.
Use proper pad class profiles.
2023-08-21 23:48:56 +02:00
Megamouse d119cf6e96 Qt6 port 2023-07-31 20:03:24 +03:00
Talkashie dabb2cc9a0
Fix typos, improve consistency
Fixes typos where spelling or grammar is objectively wrong.
Changes wording and capitalization in some areas to be more consistent with other areas.
2023-07-28 13:09:06 +03:00
Megamouse d153e977a7 Qt: ignore Qt::Key_unknown when parsing key sequences 2023-07-12 09:35:43 +03:00
oltolm 0c94606fcf
Make compile with msvc, clang and gcc on Windows 2023-07-11 21:40:30 +03:00
Megamouse 44801c50f3 Input: update buttons on pressure button toggle 2023-07-01 08:56:10 +02:00
Megamouse 6a1fb8cb73 Input: fix multibutton mousepress (sticks only) 2023-07-01 08:56:10 +02:00
Megamouse 8e8cefb3f6 Input: fix multibutton mousepress (buttons only) 2023-07-01 08:56:10 +02:00
Megamouse e0e4fa3b3e Input: Add tooltips for button mapping 2023-07-01 08:56:10 +02:00
Megamouse 7b64cd2a8e input/overlays: add option to lock overlay input to player one 2023-06-27 19:36:05 +02:00
Megamouse ec9e8916b1 evdev: don't release buttons while other buttons are still pressed 2023-06-15 22:39:30 +02:00
Megamouse d3be8ee2b7 input: allow multiple key codes per button 2023-06-15 22:39:30 +02:00
Megamouse a90858193e Qt/logging: add format function for QString 2023-06-15 19:48:15 +02:00
Megamouse b436d2a7f4 input: add controller index to SDL controllers 2023-06-12 18:05:34 +02:00
Megamouse 84d2ad70e6 input: add new buttons for Dualsense Edge 2023-06-12 17:29:14 +02:00
Megamouse 1bd9549e45 input: merge some duplicate code 2023-06-12 17:29:14 +02:00
Megamouse 2409a0d04e input: Add dualsense edge PID 2023-06-12 17:29:14 +02:00
Megamouse 8f66c50721 input: add pressure intensity toggle mode 2023-06-08 16:41:44 +02:00
Megamouse 292d3faa9e input: fix pad profile override with existing custom pad configs 2023-06-06 08:09:31 +02:00
Megamouse 7b9614fcf3 Hid: add some logging for initial send_output_report 2023-05-25 23:02:22 +02:00
Megamouse 8e62a0e22d input: remove some outdated comments 2023-05-25 23:02:22 +02:00
RipleyTom 0f45a8c180 Fix inaccuracies pointed out by PVS-Studio 2023-03-25 08:45:30 +01:00
RipleyTom ec8cb1668c Fix hid_pad_handler 2023-03-10 15:23:55 +01:00
Megamouse c06b957a8a hid: try to fix linux 2023-03-06 14:36:14 +01:00
Megamouse da6d1d359c hid/ds4: add logging for PID and VID 2023-03-04 19:18:36 +01:00
Megamouse 3d411431c6 input: disable ldd home menu for now 2023-02-26 22:17:55 +01:00
Margen67 5bb89328d0 Remove whitespace 2023-02-15 08:58:02 +01:00
Megamouse 1dac708323 cellPad: move CellPadData to pad_types for convenience 2023-02-12 17:04:31 +01:00
Megamouse d4187242b9 cellPad/vsh: fix PS button recognition 2023-02-12 17:04:31 +01:00
Megamouse c3e4b6da46 cellPad: allow opening the home menu with ldd pads
Speculative
2023-02-12 17:04:31 +01:00
Megamouse 69435dd951 overlays: Fix linux compilation 2023-02-09 20:36:35 +01:00
Megamouse 9375e255e1 overlays: add pages to home menu 2023-02-09 20:36:35 +01:00
Megamouse a56fc57a83 evdev: allow more buttons on sony guitar 2023-02-09 18:09:07 +01:00
Megamouse 4f75dc06b9 evdev: optimize get_next_button_press pad id check 2023-02-09 18:09:07 +01:00
Megamouse bc487f43f7 cli: Add option to boot a game with a specific pad profile 2023-02-08 21:54:51 +01:00
Nicolas Adenis-Lamarre 0023716053 - fix analog_t required for some games
- changing mapping to better fit to games (for example, select is rarely used)

Signed-off-by: Nicolas Adenis-Lamarre <nicolas.adenis.lamarre@gmail.com>
2023-02-04 16:10:40 +01:00
Megamouse d69e345bc0 SDL: Fix button presses
SDL currently always returns 1 if a button is pressed
2023-02-03 18:24:54 +01:00
Megamouse d1a950d59f overlays/osk: keep dialog open in continuous mode 2023-01-28 21:51:36 +01:00
Jan Beich a748508bc9 evdev_gun: enable udev code on BSDs
libudev is supported on DragonFly and FreeBSD, similar to libevdev.
NetBSD and OpenBSD can simply disable both via -DUSE_LIBEVDEV=OFF.

This reverts commit 337ee77a99.
2023-01-28 12:35:42 +00:00
Megamouse 6532d2b650 input: fix dynamic pad handler mode reset 2023-01-27 00:13:20 +01:00
Megamouse d3183708e8 overlays: do not open home menu in VSH 2023-01-21 09:11:53 +01:00
Megamouse 44771150b7 overlays: add simple home menu 2023-01-21 09:11:53 +01:00
Megamouse b3a9c8d83f input: move config getters to base class 2023-01-17 02:01:03 +01:00
Megamouse 35c92723c7 input: fix ds4 led/rumble in pad settings 2023-01-17 01:07:57 +01:00
Megamouse 18966d424c Input: ignore F11 in keyboard pad handler (starts/stops recordings) 2023-01-09 21:06:51 +01:00
Megamouse 18b7955384 SDL handler 2022-12-13 11:56:48 +01:00
Megamouse 337ee77a99 evdev_gun: "fix" BSD 2022-11-30 19:38:42 +01:00
Megamouse c09991ebdb evdev_gun: convert udev code to evdev 2022-11-30 19:38:42 +01:00
Megamouse 5188293242 evdev gun support cleanup 2022-11-30 19:38:42 +01:00
Nicolas Adenis-Lamarre 2805fe0a06 evdev gun support
supports guns via evdev. multiple guns.
extra buttons are configurable (guns can be configured for that).

Signed-off-by: Nicolas Adenis-Lamarre <nicolas.adenis.lamarre@gmail.com>
2022-11-30 19:38:42 +01:00
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