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