Commit graph

58 commits

Author SHA1 Message Date
General4878 1d15ebebde FLM: Added trigger buffer to haptic feedback to prevent minor movements from causing feedback. 2025-09-14 17:01:54 +02:00
General4878 a0243c74a6 FLM: Fixed bug where total deltas were not set to zero. 2025-09-14 10:39:41 +02:00
General4878 c536393054 FLM: Removed built in haptic on drag from MoveByFauxLizard into its own method and added haptic feedback for LPad drag 2025-09-14 10:39:41 +02:00
General4878 aa19d9cdf5 FLM: Created MoveByFauxLizard method which mimmicks the mouse movement and haptic feedback of Lizard Mouse without needing Lizard Mouse enabled which resolves the mouse stutter bug in later versions Steam Deck firmware. 2025-09-14 10:39:12 +02:00
Kamil Trzciński c6b24bc573 SteamController: Add support for circular deadzone on left/right sticks
This is inspired by the changes https://github.com/ayufan/steam-deck-tools/pull/146,
but completely rewritten.

This removes `DeltaValue` methods, and `Deadzone` fixed values.
Adds a settings value for `Deadzone` per profile.
2023-09-24 16:31:44 +02:00
Kamil Trzciński 00a30cbf5c SteamController: Fix PS button and Gyro support for DS4
Make DS4 fields be readonly and optimise DS4 packets.
2023-02-11 14:40:09 +01:00
Kamil Trzciński de4e718703 SteamController: Move KeepX360AlwaysConnected to Settings 2023-02-10 20:52:26 +01:00
Kamil Trzciński 70237ad9d4 SteamController: Add initial DS4 support (with Gyro, Accel, Trackpads and Haptics) 2023-02-10 20:47:51 +01:00
Kamil Trzciński c05f8f2f22 SteamController: Start controller with delay after Resume 2023-01-05 20:41:06 +01:00
Kamil Trzciński 862e728f81 Revert "SteamController: Force to reconnect X360 controller on Resume"
This reverts commit 40e2f62e1f.
2023-01-04 10:11:14 +01:00
Kamil Trzciński 40e2f62e1f SteamController: Force to reconnect X360 controller on Resume 2023-01-03 12:15:59 +01:00
Kamil Trzciński e5debff45b SteamController: Use Roslyn Scripting to compile UserProfiles
- This looks into `UserProfiles/` and compiles user profiles
- This exposes a very minimal scripting interface as defined by `Dynamic.Globals`
2023-01-03 11:34:40 +01:00
Kamil Trzciński 8cc45ed6b4 Handle legitimate exception for "expected" failures 2022-12-18 10:00:55 +01:00
Kamil Trzciński 12b92ab151 Improve exception handling for SteamController 2022-12-16 11:30:22 +01:00
Kamil Trzciński 9f1288cfb0 Improve exception handling for X360 controller 2022-12-16 11:30:22 +01:00
Kamil Trzciński 49f86225cb Update hidapi.net to properly Dispose() device 2022-12-16 11:30:22 +01:00
Kamil Trzciński 6947f4615c Log exceptions in various places 2022-12-12 18:44:02 +01:00
Kamil Trzciński 86b73001a2 Add minimum pressed time to X360Controller 2022-12-12 11:45:30 +01:00
Kamil Trzciński 142b8cc2e9 Allow to Overwrite keyboard and mouse button state 2022-12-12 11:45:29 +01:00
Kamil Trzciński 801f32a719 Improve VirtualKeyCode to ToWindowsInput mapping 2022-12-12 11:45:29 +01:00
Kamil Trzciński 26171639eb Improve VirtualX360Code to ToViGEm mapping 2022-12-12 11:42:38 +01:00
Kamil Trzciński 275ce48509 Depend on GetCursorPos to detect SAS 2022-12-10 17:42:27 +01:00
Kamil Trzciński 45ab31ddcf DEBUG allows to keep X360 controller always connected 2022-12-10 10:45:37 +01:00
Kamil Trzciński 8ff22739c5 Recreate X360 device on fatal failure (might happen after resume) 2022-12-10 10:44:43 +01:00
Kamil Trzciński fec7e87c21 Detect SAS (Secure Attention Sequence) in a way that does not prevent screen sleep 2022-12-10 10:18:21 +01:00
Kamil Trzciński 9adb25be21 Allow to assign BackPanel keys to X360 controller (breaks all current configs to set mappings) 2022-12-08 01:48:14 +01:00
Kamil Trzciński 476ca5a5e9 Simplify Xbox360Controller 2022-12-08 01:19:55 +01:00
Kamil Trzciński d4b8a09395 Add haptic style setting (disabled, weak, strong) 2022-12-05 18:35:25 +01:00
Kamil Trzciński 6173c80bdd Fix haptics not being fired both sides 2022-12-05 09:29:47 +01:00
Kamil Trzciński f4431105e3 Skip repeated haptic requests 2022-12-04 19:10:59 +01:00
Kamil Trzciński 19e7ed7012 Allow to lock steam controller locking files
- This locks `controller_neptune` configs when adding steam detection
- This overwrites default desktop/chord template
- This enables a desktop template
2022-12-03 20:39:06 +01:00
Kamil Trzciński a92a0661df Differentiate between rumble and haptics 2022-12-03 17:53:00 +01:00
Kamil Trzciński 33f9e8581f Re-open Neptune every 10 failures 2022-12-02 19:46:39 +01:00
Kamil Trzciński da7508eb7e Fix beep on controller 2022-11-30 22:55:24 +01:00
Kamil Trzciński 381f940d8b The X360.Beep() cycles currently connected device 2022-11-29 21:43:29 +01:00
Kamil Trzciński 44e5751d75 The X360.Beep() is implemented as a separate device 2022-11-28 20:31:38 +01:00
Kamil Trzciński 3c209f04b4 Reduce memory allocations in KeyboardController 2022-11-28 19:33:47 +01:00
Kamil Trzciński e683915a2c Provide currated list of mapping keys (for keyboard) 2022-11-28 19:33:43 +01:00
Kamil Trzciński f261424932 Fix crash on resume when X360 Controller is in use 2022-11-28 17:33:22 +01:00
Kamil Trzciński 540e9ed758 Setting Keyboard[KEY] = false and Mouse[KEY] = false does not cancel the press 2022-11-28 11:40:37 +01:00
Kamil Trzciński e52459d02d Do not send repeated haptic if disabled 2022-11-28 11:05:30 +01:00
Kamil Trzciński 7bb6aa0460 Improve implementation of MouseController 2022-11-28 10:46:07 +01:00
Kamil Trzciński 9a286691f4 Use high-precision timer for DeltaTime 2022-11-28 10:46:07 +01:00
Kamil Trzciński 68f51ff4f0 Add configurable BackPanel keys (allowed mappings are subject to change) 2022-11-28 09:34:55 +01:00
Kamil Trzciński 78b8470d3d Only DPad, A, B, L2 and R2 are Lizard Buttons 2022-11-27 20:01:22 +01:00
Kamil Trzciński bdf9d93690 Fix detection of SAS to switch into full lizard 2022-11-27 19:45:14 +01:00
Kamil Trzciński 738b9b72f6 Increase joystick speed and key repeats in Desktop Mode 2022-11-27 15:32:23 +01:00
Kamil Trzciński 7fa9fb38c6 Make Consumed to be String for SteamAction to fix regression with types 2022-11-27 14:48:03 +01:00
Kamil Trzciński 8fb4571b21 Configure Steam to enable or disable Steam/X360 Controllers
- Allow to configure Steam controller blacklisting to enable X360 exclusive mode.
- This allows to switch seemlessly between different modes of operation.
- This also changes how application and when detects Steam.
2022-11-27 14:36:34 +01:00
Kamil Trzciński aafe040e12 Make KeyboardController to generate KeyRepeats 2022-11-27 14:35:49 +01:00