Commit Graph

574 Commits

Author SHA1 Message Date
mika-n
7da6b3434a Merge branch 'jay' of https://github.com/Ryochan7/DS4Windows into jay 2019-02-19 15:09:00 +02:00
mika-n
8d087b01ff merge conflicts with base branch 2019-02-19 15:00:17 +02:00
Travis Nickles
a8c722d604 Replace old lock with ReaderWriterLockSlim instance 2019-02-19 04:24:52 -06:00
mika-n
27dbab06c5 Deadzone and anti-deadzone handling (the first rugged version, not perfect yet) and small performance improvements here and there. 2019-02-19 11:10:16 +02:00
Travis Nickles
40278c9d1b Use enumerator for settings iteration 2019-02-16 15:49:36 -06:00
Travis Nickles
a9e7a3cb5b More enumerator usage 2019-02-16 02:50:53 -06:00
Travis Nickles
61a5ab07ea Use enumeartor for KeyCollection as well 2019-02-16 02:25:54 -06:00
Travis Nickles
cd6742cf56 Found faster way to iterate over a ValueCollection 2019-02-16 02:16:56 -06:00
Travis Nickles
50109282f4 Added unchecked region 2019-02-15 21:58:00 -06:00
Travis Nickles
5b19dc76cd Re-added extra default axis mapping pass
Related to issue #579
2019-02-15 18:04:09 -06:00
Travis Nickles
6098c91e29 Use ref for more color struct routines 2019-02-12 01:31:18 -06:00
Travis Nickles
ce0ac67dcd Remove some struct copying from lightbar routine 2019-02-11 23:51:26 -06:00
Travis Nickles
42b75c717a Added unchecked blocks for populating field mapping arrays
Seems to help a lot
2019-02-09 21:33:58 -06:00
Travis Nickles
7631080d87 Add const variables to skip type casting 2019-02-09 11:30:06 -06:00
Travis Nickles
fc40e00846 Only take active binding into account for multiple binds. Fixes ATS profile. 2019-02-09 11:06:31 -06:00
Travis Nickles
49c7ee35cf Make remapping to xinput actions a two pass process again
Related to issue #570
2019-02-08 21:04:08 -06:00
Travis Nickles
e64c7f0455 Fixed double tap interval issue with Multi-Action Button special action
Related to issue #556
2019-02-07 22:56:07 -06:00
Travis Nickles
8c6cfa4c13 Fixed another action getter 2019-02-07 21:00:36 -06:00
Travis Nickles
3dd88e481c Fixed issue with xinput unplug routine on device removal
Related to issue #554
2019-02-07 16:40:24 -06:00
Travis Nickles
ce87d8c212 Added toggle option for Gyro Mouse activation
Not sure about this feature tbh. Related to issue #464.
2019-02-06 21:42:34 -06:00
Travis Nickles
09103dcea8 Use input field mapping instead of output field mapping for refactor 2019-02-01 05:08:53 -06:00
Travis Nickles
dd96beafbe Purged old state mapping code that required dictionary object 2019-01-31 16:19:08 -06:00
Travis Nickles
ff870230a6 Implemented user defined gyro mouse dead zone
Related to issue #338.
2019-01-31 10:59:00 -06:00
Travis Nickles
4a7e233bd1 Fixed bad refactor
Fixes issue #561.
2019-01-31 00:50:37 -06:00
Travis Nickles
7a35ca19cb Fixed sixaxis easeout quad 2019-01-29 22:11:01 -06:00
Travis Nickles
70909bdaa9 Added easeout quad curve option for other axes 2019-01-29 21:50:29 -06:00
Travis Nickles
63f7dcfdce Added easeout quad curves for LS and RS 2019-01-29 21:19:25 -06:00
Travis Nickles
bdea569582 Merge branch 'jay' into vigem-udpserver
# Conflicts:
#	DS4Windows/DS4Control/ScpUtil.cs
2019-01-26 21:34:43 -06:00
Travis Nickles
3fd9c4c612 Merge branch 'jay' into hidguardpropexe 2019-01-25 10:00:53 -06:00
Travis Nickles
0d89170d9c Minor tweaks 2019-01-24 06:20:55 -06:00
Travis Nickles
1a6327ecdc Tweaked a couple of axis midpoint methods. Removed unused method. 2019-01-24 04:54:40 -06:00
Travis Nickles
1f9cf16397 Minor control search optimization 2019-01-24 03:38:21 -06:00
Travis Nickles
719d6a0482 Merge branch 'jay' into vigem-udpserver 2019-01-22 18:05:25 -06:00
Travis Nickles
dc403100f1 Changed another portion to use 128 as stick axis midpoint 2019-01-22 18:04:54 -06:00
Travis Nickles
bf3f10d0ae Apply proposed changes for HG v.1 support 2019-01-18 15:38:13 -06:00
Travis Nickles
f37ac07a22 Merge branch 'jay' into vigem-udpserver 2019-01-13 19:02:22 -06:00
Travis Nickles
5ec6bcb11a Increased mouse stick offset value
Increasing it seems viable now
2019-01-13 15:06:26 -06:00
Travis Nickles
a8a55b46dc Start using 128 as proper axis midpoint. Changed some mapping routines.
Helps with mouse cursor in Civ 4
2019-01-13 13:32:38 -06:00
mika-n
13607ebc7c Merge branch 'jay' of https://github.com/Ryochan7/DS4Windows into jay 2019-01-13 21:26:50 +02:00
mika-n
abadfb137b Fine tuning vJoy output feeder 2019-01-13 21:25:42 +02:00
Travis Nickles
619cbbf53a Merge branch 'jay' into vigem-udpserver 2019-01-11 16:08:19 -06:00
Travis Nickles
2c471e6eff Change how haptic state changes happen 2019-01-10 18:15:14 -06:00
Travis Nickles
9dc23ebfc4 Added log notifications when using Load Profile special action
It now seems doable speed wise. Related to issue #540.
2019-01-07 19:35:30 -06:00
mika-n
853b1ac650 Merge branch 'jay' of https://github.com/Ryochan7/DS4Windows into jay 2019-01-02 21:45:41 +02:00
mika-n
5b49a8ed47 SA steering wheel emulation can now feed VJoy virtual joystick device (analog axies there). This leaves all original X360/DS4 analog axies for other purposes. Useful in games which support mapping controls to more than one controller (for example EurotruckSimulator/AmericalTruckSimulator). 2019-01-02 21:44:15 +02:00
Travis Nickles
23a25bc504 Raised number of ticks possible for analog mouse wheel
Related to issue #518.
2018-12-26 22:27:01 -06:00
Travis Nickles
8ae68ed7cf Use SuppressUnmanagedCodeSecurity attr for InputMethods class 2018-12-23 19:53:52 -06:00
mika-n
4678e14408 merge master branch 2018-12-23 13:14:22 +02:00
Travis Nickles
8be9e66f22 Change priority of bus thread.
Lower priority seems better
2018-12-22 16:41:36 -06:00
Travis Nickles
59dbee7c35 Use current enhanced precision settings for LS 2018-12-15 12:26:52 -06:00
Travis Nickles
1019790e25 Revert mouse stick offset 2018-12-14 05:40:20 -06:00
Travis Nickles
bd2a2fe4f0 Lowered mouse stick offset 2018-12-14 05:08:32 -06:00
Travis Nickles
d54f449b02 Experiment with new enhanced precision values 2018-12-14 03:54:26 -06:00
Travis Nickles
b0797f4fcc Merge branch 'jay' into vigem-udpserver 2018-12-12 20:37:13 -06:00
Travis Nickles
957f01ee05 Loosen enhanced precision curve 2018-12-12 05:03:18 -06:00
Travis Nickles
461c7936c2 Raised enhanced precision curve 2018-12-12 03:19:41 -06:00
Travis Nickles
d5fa84c52c Raised enhanced precision curve 2018-12-11 22:34:23 -06:00
Travis Nickles
e1bb1ac042 Raised enhanced precision curve 2018-12-11 05:47:44 -06:00
Travis Nickles
8783f199aa Revert "Lowered enhanced precision curve"
This reverts commit a97af00948.
2018-12-11 02:27:57 -06:00
Travis Nickles
a97af00948 Lowered enhanced precision curve 2018-12-11 01:41:04 -06:00
mika-n
5bd4906521 Fine tunes. synced with upstream changes 2018-12-10 20:29:49 +02:00
mika-n
f795e08f8a Merge branch 'jay' of https://github.com/Ryochan7/DS4Windows into jay 2018-12-10 20:25:59 +02:00
Travis Nickles
bc8e6ebd0e Remove component use for ScpVBus classes 2018-12-09 04:05:26 -06:00
Travis Nickles
7c2b653163 Loosened enhanced precision curves 2018-12-07 17:43:40 -06:00
mika-n
94d5f83db1 Added config options of sixaxis steering wheel emulation and calibration btn to config GUI form (Options). If controller is calibrated via this config screen then there is no need to define "calibrate" special action key. Improved >360 turn range calculation. Added possibility to map SA steering values to L2+R2 trigger axis (Z-axis). For example in ETS2/ATS game controller settings it is possible to use that axis for steering if triggers are not used for throttling and braking (this would leave all axis of L and R thumbstick available for other purposes). 2018-12-07 00:09:09 +02:00
mika-n
4359bb082b Merge branch 'jay' of https://github.com/Ryochan7/DS4Windows into jay 2018-12-06 15:22:23 +02:00
Travis Nickles
397814c244 Fixed typo 2018-12-05 17:57:01 -06:00
Travis Nickles
38faadfcd2 Added comment about intent 2018-12-05 13:59:57 -06:00
Travis Nickles
63829a1eb9 Use local data for InputMethods method calls
Removes lots of locking when emulating KB+M
2018-12-05 06:12:05 -06:00
Travis Nickles
ea3787eef2 Change udp port opening routine for some scenarios
Experimental
2018-12-05 05:16:54 -06:00
mika-n
3ab55d102e Merge remote-tracking branch 'upstream/jay' into jay 2018-12-04 00:54:20 +02:00
mika-n
1eed418022 Added support for 180/360/720/900/1440 turn range (or any other turn range between 90-3240 degrees). New SASteeringWheelEmulationRange profile option with int32 value (default 360). 2018-12-04 00:50:37 +02:00
Travis Nickles
d1d9354f1c Merge branch 'jay' into vigem-udpserver 2018-12-01 00:59:32 -06:00
Travis Nickles
81d08099a7 Make sure to enforce actual wait time 2018-12-01 00:58:50 -06:00
Travis Nickles
26bbfdbf98 Remove unneeded udp start call 2018-11-30 22:00:13 -06:00
Travis Nickles
dac9d1ba52 Merge branch 'jay' into vigem-udpserver
# Conflicts:
#	DS4Windows/DS4Control/ControlService.cs
2018-11-30 14:51:55 -06:00
Travis Nickles
c02230265c More changes to UDP 2018-11-27 04:38:41 -06:00
Travis Nickles
773a7a0423 Temporary change to UDP server
Don't want to lose these changes but more has to be done
2018-11-27 04:30:42 -06:00
mika-n
1cb04d03ad Changed precision of angle values sent to x360 virtual controller from 1 degree to 1/10th degree precision. Also, minimized "center deadzone" gap (the previous optimization of angle calculation was too aggressive in wheel center position). 2018-11-19 13:32:48 +02:00
mika-n
a933eae0a9 New "360 degree gyro steering wheel emulation" functionality. This works best if the DS4 controller is mounted on a "DoItYourself steering wheel rig" (ie. controller attached at a tip of a plastic or wooden pipe which acts as a "steering shaft". This way the controller turns around like a steering wheel and gyro sensor values are more consistent).
At this point there is no GUI to enable this, so you should edit a profile XML file (fex default.xml profile) with Notepad and add <SASteeringWheelEmulationAxis>LXPos</SASteeringWheelEmulationAxis> entry.
Accepted values are None, LXPos, LYPos, RXPos, RYPos) which indicates which X360 axis is used for steering wheel values (ie. gyro tilt converted as steering wheel turning range values). The normal behaviour of this axis should be set as "unmapped" to avoid conflicting values. If steering wheel axis is LX then LY axis is still available for other purposes.
2018-11-17 01:41:21 +02:00
Travis Nickles
1fafd0d375 Removed a couple unused methods 2018-11-06 03:11:16 -06:00
Travis Nickles
ccdfd8cfe5 Purge HidGuardian utilities 2018-11-06 02:47:31 -06:00
Travis Nickles
ad7bbe7ea9 Use ReadWriteLockSlim instance instead of lock 2018-11-02 18:20:27 -05:00
Travis Nickles
79377ced7f Added locking and volatile usage for UdpServer
Related to issue #454.
2018-11-02 13:03:08 -05:00
Travis Nickles
99a1342a51 Merge branch 'jay' into vigem-udpserver 2018-11-01 16:28:56 -05:00
Travis Nickles
b9b89be554 Renamed method to make meaning more clear 2018-11-01 14:13:10 -05:00
Travis Nickles
4c1ef2b63c Don't persist current blank state. Method should probably be renamed
Related to issue #474
2018-11-01 14:11:53 -05:00
Travis Nickles
1a2b6e89c9 Merge branch 'jay' into vigem-udpserver 2018-10-27 13:21:00 -05:00
Travis Nickles
dfcc3250cf Changed index increment placement
Seems to solve #454 on my machine
2018-10-24 04:17:01 -05:00
Travis Nickles
a3406b805b Merge branch 'jay' into vigem-udpserver 2018-10-19 03:33:34 -05:00
Travis Nickles
03b3acb209 Lowered mouse stick offset a bit 2018-10-19 03:33:03 -05:00
Travis Nickles
d30f0e7147 Merge branch 'jay' into vigem-udpserver 2018-10-19 02:38:09 -05:00
Travis Nickles
d8aab22051 Raised mouse stick offset 2018-10-19 02:37:50 -05:00
Travis Nickles
22f1357ebd Merge branch 'jay' into vigem-udpserver 2018-10-16 14:36:07 -05:00
Travis Nickles
2029cc5531 Register for more specific device change events
This should make the WndProc method execution leaner
2018-10-16 14:35:41 -05:00
Travis Nickles
9bf7e5911f Merge branch 'jay' into vigem-udpserver 2018-10-16 12:57:18 -05:00
Travis Nickles
722bdf9670 Loosened enhanced precision curves further
This seems to be as loose as it can be with the
DS4 analog stick and still be usable.
2018-10-16 12:56:51 -05:00
Travis Nickles
1f96021614 Merge branch 'jay' into vigem-udpserver 2018-10-15 17:20:40 -05:00
Travis Nickles
e317c6e84a Loosen enhanced precision curves 2018-10-15 17:20:05 -05:00
Travis Nickles
59deafd013 Merge branch 'jay' into vigem-udpserver 2018-10-13 02:14:25 -05:00
Travis Nickles
6474346f11 Replace stack with simple array in UdpServer 2018-10-13 02:13:42 -05:00
Travis Nickles
48265c750e Merge branch 'jay' into vigem-udpserver 2018-10-09 21:42:02 -05:00
Travis Nickles
3697848b58 Loosened enhanced precision curves 2018-10-09 15:49:45 -05:00
Travis Nickles
d449f1df7f Merge branch 'jay' into vigem-udpserver 2018-10-08 05:52:57 -05:00
Travis Nickles
5efe6b556e Fixed issue with useDInput variable not being in correct state 2018-10-08 05:51:27 -05:00
Travis Nickles
1215d32ae5 Merge branch 'jay' into vigem-udpserver
# Conflicts:
#	DS4Windows/DS4Control/ScpUtil.cs
2018-10-03 16:38:20 -05:00
Travis Nickles
3bbdbe3a0f Attempt to reset KB+M controls after unplugging controller
Related to issue #438.
2018-10-01 19:18:52 -05:00
Travis Nickles
3aa558c85f Version of different gyro trigger conditional
Related to issue #431
2018-09-29 21:54:25 -05:00
Travis Nickles
1019499612 Resolve name collision with Log class and Diagnostics namespace
Makes app snappier
2018-09-29 04:42:22 -05:00
Travis Nickles
53ec1e2eef Test using stack of SocketAsyncEventArgs 2018-09-14 03:35:54 -05:00
Travis Nickles
77af92e722 Merge branch 'jay' into vigem-udpserver
# Conflicts:
#	DS4Windows/DS4Control/ControlService.cs
2018-08-24 17:38:00 -05:00
Travis Nickles
0896f044e8 Fixed problem with unplugging controllers causing cross thread problems 2018-08-24 17:35:57 -05:00
Travis Nickles
d0a60155ec Merge branch 'jay' into vigem-udpserver
# Conflicts:
#	DS4Windows/DS4Control/ControlService.cs
2018-08-24 15:27:36 -05:00
Travis Nickles
6f5b17ac37 Remove ui thread from unplug routine
Hotplug routine was starting before removal routine
was being started. No blocking was happening anyway
2018-08-20 04:35:41 -05:00
Travis Nickles
098bfef33c Merge branch 'jay' into vigem-udpserver 2018-08-18 02:21:18 -05:00
Travis Nickles
3df7f24a7b Move code out of main form ctor 2018-08-17 02:20:53 -05:00
Travis Nickles
0358002e72 Remove some older unnecessary variables 2018-08-16 17:42:03 -05:00
Travis Nickles
e1743a76eb Merge branch 'jay' into vigem-udpserver 2018-08-13 02:16:49 -05:00
Travis Nickles
3353b803c3 Quick fix for UDP server memory leak
Related to issue #388.
2018-08-12 01:06:02 -05:00
Travis Nickles
1bc5da2c6d Merge branch 'jay' into vigem-udpserver 2018-08-08 03:55:32 -05:00
Travis Nickles
a86d8deb4a Some minor tweaks and fixes 2018-08-08 03:54:19 -05:00
Travis Nickles
561ba5c813 Use newer extension ViGEm method 2018-08-06 21:50:00 -05:00
Travis Nickles
c245b2fc2f Fixed build issue 2018-08-06 06:00:52 -05:00
Travis Nickles
8750d6ea08 Merge branch 'jay' into vigem-udpserver
# Conflicts:
#	DS4Windows/DS4Control/ControlService.cs
2018-08-06 05:57:53 -05:00
Travis Nickles
5c52cead54 UDP server management changes, UDP server options
Related to issue #228
2018-08-06 05:00:37 -05:00
Travis Nickles
b710c40f44 Added unchecked block 2018-08-04 01:43:02 -05:00
Travis Nickles
f3c64143e2 Added unchecked block 2018-08-04 01:39:46 -05:00
Travis Nickles
8962e493bf Use SendToAsync in another place 2018-08-04 00:51:10 -05:00
Travis Nickles
c3b4190b02 Use SendToAsync in another place 2018-08-04 00:48:28 -05:00
Travis Nickles
4c70b7a8f0 Use SendToAsync and uncheck to improve UDP server performance 2018-08-03 20:05:44 -05:00
Travis Nickles
57af817c00 Use SendToAsync and uncheck to improve UDP server performance 2018-08-03 20:01:00 -05:00
Travis Nickles
24403394ad Merge branch 'jay' into vigem-udpserver 2018-08-03 01:48:27 -05:00
Travis Nickles
28f3414a05 Merge branch 'jay' into udpserver 2018-08-03 00:46:19 -05:00
Travis Nickles
0fc4cb1e32 Added unchecked blocks 2018-07-30 23:43:10 -05:00
Travis Nickles
a4002ade3a Added unchecked block around axis scaling 2018-07-30 17:01:15 -05:00
Travis Nickles
21350227c6 Added unchecked block for report generation 2018-07-30 16:35:58 -05:00
Travis Nickles
d74abc801f Merge branch 'jay' into vigem-udpserver 2018-07-29 11:40:23 -05:00
Travis Nickles
0f6eaed317 Merge branch 'jay' into udpserver 2018-07-29 10:59:02 -05:00
Travis Nickles
f076752404 Loosen enhanced precision curve 2018-07-28 02:50:05 -05:00
Travis Nickles
cb8ffee055 Merge branch 'jay' into vigem-udpserver 2018-07-23 00:17:08 -05:00
Travis Nickles
b92156f57d Changed thread affinity of UdpServer instance 2018-07-23 00:15:47 -05:00
Travis Nickles
fc62708abf Changed thread affinity of UdpServer instance 2018-07-23 00:10:00 -05:00
Travis Nickles
5a4ed6c440 Merge branch 'jay' into udpserver 2018-07-23 00:06:16 -05:00
Travis Nickles
01ccc74cdd Added SuppressUnmanagedCodeSecurity attribute to ScpDevice class
Leads to a decent speedup
2018-07-22 03:15:24 -05:00
Travis Nickles
3fa9d2f2b5 Added alt min to taskbar fix 2018-07-22 01:51:58 -05:00
Travis Nickles
70a4cd8989 Merge branch 'jay' into vigem-udpserver 2018-07-18 01:35:39 -05:00
Travis Nickles
53cd5d48d9 Merge branch 'jay' into udpserver 2018-07-18 01:26:24 -05:00
Travis Nickles
04140081ce Fixed problem when registry key does not exist 2018-07-18 00:56:05 -05:00
Travis Nickles
ce4a01b99b Merge branch 'jay' into vigem-udpserver
# Conflicts:
#	DS4Windows/DS4Control/ControlService.cs
2018-07-18 00:04:51 -05:00
Travis Nickles
239b9bceba Merge branch 'jay' into udpserver 2018-07-17 23:53:14 -05:00