Commit graph

40 commits

Author SHA1 Message Date
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
Kamil Trzciński 6da5a9796c Simplify DeltaValueMode 2022-11-27 10:01:27 +01:00
Kamil Trzciński 0aa535800c Move SteamController.SteamAction to SteamAction 2022-11-27 09:52:31 +01:00
Kamil Trzciński 8f69ec772b Improve method visibility 2022-11-27 09:27:19 +01:00
Kamil Trzciński 11e056904d Fix LT/RT to trigger up to 50%, instead of 100% 2022-11-27 00:00:59 +01:00
Kamil Trzciński bad617549e Add Haptic feedback and selectable profiles 2022-11-26 10:19:50 +01:00
Kamil Trzciński ab5bc370df Introduce inheritable Profiles and Managers
- There's always a single Profile choosen
- There are many Managers changing settings
  depending on environment
- Improve and re-use mappings between profiles
- Introduce Steam Profile to be used when
  in Steam Big Picture or Steam Game
2022-11-26 10:19:50 +01:00
Kamil Trzciński 10d6c055da Add Process and Steam detection
- This makes to autmatically swittch to controller
  when Playnite Fullscreen is in use.
- This makes to automatically disable when Steam
  is in Big Picture or running Game
- Indicate current status with well distinguishable icons
- Expose all options via Context Menu
2022-11-26 10:19:50 +01:00
Kamil Trzciński ecbd0407c0 Add SteamController implementation
This adds a Steam Shortcuts, Desktop Mode, and X360 Emulation
- Supports all Steam Shortcuts (including on-screen keyboard, and brightness)
- Supports Desktop mode (with a scroll on left pad and left stick), and trackpoint (on right stick)
- Supports X360 mode: hold Options for 1s to switch between Desktop and X360
- Holding Steam button enables Desktop like controls and stops passing all inputs to X360
2022-11-26 10:19:50 +01:00