Commit Graph

506 Commits

Author SHA1 Message Date
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
Travis Nickles
192dedcbc3 Exit GetPadDetailForIdx after processing null reference 2018-07-17 20:46:40 -05:00
Travis Nickles
605c700362 Exit GetPadDetailForIdx after processing null reference
Might be related to issue #326.
2018-07-17 20:45:20 -05:00
Travis Nickles
f641b7f11c Removed unused component 2018-07-17 02:30:03 -05:00
Travis Nickles
f686b9711e Loosened enhanced precision curves more 2018-07-16 04:16:58 -05:00
Travis Nickles
bf9f476be3 Added placeholder routine to purge old HidGuardian whitelist entries.
Have not decided whether this is truly needed so it is not used
2018-07-16 00:21:34 -05:00
Travis Nickles
9c6e99ce6c Carry over enhanced precision curve changes to RS
New points were only used for LS before
2018-07-06 20:09:17 -05:00
Travis Nickles
8d4c7d0c57 Merge branch 'jay' into udpserver 2018-06-24 21:04:20 -05:00
Travis Nickles
cc23f7af0b Merge branch 'jay' into vigem-udpserver 2018-06-24 21:01:53 -05:00
Travis Nickles
600818a3c0 Changed enhanced precision curves 2018-06-17 19:52:36 -05:00
Travis Nickles
475723653d Changed logic for implicit stick mouse dead zone
Only force the implicit dead zone if the setting is set to 0.
Lower settings than the implicit dead zone are now possible
for looser aiming
2018-06-07 15:33:02 -05:00
Travis Nickles
b364330f50 Fixed enhanced precision stick curves 2018-06-05 16:16:38 -05:00
Travis Nickles
25b2adc8e5 Corrected stick angles and stick dir unit values 2018-06-05 16:12:11 -05:00
Travis Nickles
7229fee556 Merge branch 'jay' into vigem-udpserver 2018-06-04 14:12:58 -05:00
Travis Nickles
b596d82573 Merge branch 'jay' into udpserver 2018-06-04 14:08:57 -05:00
Travis Nickles
6c822e5968 Add minimize to taskbar as a setting
Related to issue #287.
2018-06-01 16:45:58 -05:00
Travis Nickles
241bee82a0 Merge branch 'jay' into vigem-udpserver 2018-05-24 14:49:26 -05:00
Travis Nickles
f11095fb5e Merge branch 'jay' into udpserver 2018-05-24 14:40:15 -05:00
Travis Nickles
3cd9912289 Changed parameters for touchpad jitter compensation 2018-05-20 02:18:28 -05:00
Travis Nickles
ffc2e45854 Fixed failed to unplug message from appearing when switching profiles using SONYWA 2018-05-13 12:59:13 -05:00
Travis Nickles
07878dafc3 Changed axis to button mapping routine. Now always take rotation angle into account
Related to issue #282
2018-05-12 21:46:48 -05:00
Travis Nickles
be6548a000 Commit UdpServer class 2018-05-06 02:16:37 -05:00
Travis Nickles
5e30393647 Initial commit with ViGEm and UdpServer support 2018-05-06 02:13:11 -05:00
Travis Nickles
d925452ed8 Initial commit with UdpServer change 2018-05-06 02:10:49 -05:00
Travis Nickles
0278deb763 Updated TODO file. Minor code removal 2018-04-09 18:21:49 -05:00
Travis Nickles
1c9cfc1dec Remove controller array scan from each report process 2018-04-09 16:04:44 -05:00
Travis Nickles
8859879396 Hold max and min lightbar color for pulse charging animation 2018-04-02 23:40:49 -05:00
Travis Nickles
99c812301d Take result status for virtual bus plugin events back into account 2018-04-01 03:01:45 -05:00
Travis Nickles
a1d0836091 Tweaks to improve hotplug detection
Check status of first output report before adding
device to the list
2018-03-25 23:36:46 -05:00
Travis Nickles
981e7afc22 Increased XINPUT_UNPLUG_SETTLE_TIME 2018-03-25 07:43:36 -05:00
Travis Nickles
3b33caf247 Remove reliance on plug return status
Plug change can be delayed but still be successful.
Possibly related to issue #147.
2018-03-21 17:43:30 -05:00
Travis Nickles
18bb83ceef Do not restart service when changing dinput option in profile
Only plug or unplug an xinput device as needed. Only perform
when saving a profile.
2018-03-21 17:31:22 -05:00
Travis Nickles
d91f696b66 Moved when sleep is performed when removing controller 2018-03-21 01:47:32 -05:00
Travis Nickles
3d463ce7e8 Fixed mouse sensitivity getting throttled when using custom extras 2018-03-18 06:42:12 -05:00
Travis Nickles
46c391f1d9 Changed Enhanced Precision curve for sticks
Actually loosened them a bit more. The curves now correspond
to the curves used in my changes to Touchmote
2018-03-17 01:27:35 -05:00
Travis Nickles
01e5246c61 Use suspending flag rather than using a parameter 2018-02-26 03:51:24 -06:00
Travis Nickles
16341d37b5 Force disconnect for wireless controllers when suspending
Related to issue #227
2018-02-26 02:55:17 -06:00
Travis Nickles
fece01e9e5 Explicitly close HID device when stopping service
Do not wait for runtime to close the HID device
2018-02-21 12:46:08 -06:00
Travis Nickles
387c137c8c Call StopUpdate for normal device removal when stopping DS4Windows 2018-02-21 01:30:36 -06:00
Travis Nickles
4fe6fc6660 Attempt to allow language preference to work across instances
Related to issue #205.
2018-01-30 22:20:46 -06:00
Travis Nickles
90e2e73dca Removed query by all classes 2018-01-29 13:22:56 -06:00
Travis Nickles
13e48f835f Changed argument for function call 2018-01-29 02:53:16 -06:00
Travis Nickles
a1e99344d2 Allow ScpVBus device to be found even when disabled. Reset device rumble state on next poll when loading a profile. 2018-01-28 23:21:49 -06:00
Travis Nickles
618c139607 First step to change how ScpVBus installation is checked
Related to issue #147.
2018-01-28 02:00:29 -06:00
Travis Nickles
4cfe5463a7 Added Sony Wireless Adapter to HidGuardian AffectedDevices list 2018-01-26 17:51:03 -06:00
Travis Nickles
3caf4fa514 Add HidGuardian AffectedDevices link to settings 2018-01-25 15:40:59 -06:00
Travis Nickles
84f1e7caae Merge branch 'language-switch' of https://github.com/czukowski/DS4Windows into czukowski-language-switch 2018-01-18 00:03:55 -06:00
Travis Nickles
cfbf7afe22 Minor tweak 2018-01-13 06:14:52 -06:00
Travis Nickles
a1a54c8429 Minor tweak for speed 2018-01-13 05:18:23 -06:00
Travis Nickles
fd9c56f13d Fix output curves for sixaxis 2018-01-13 04:00:57 -06:00
Travis Nickles
55f3e5ef66 Change sixaxis dead zone defaults to reflect recent changes 2018-01-12 22:48:20 -06:00
Travis Nickles
beca066207 Need to populate firstTouch object because Touch instances are being reused
Related to issue #190.
2018-01-12 00:45:16 -06:00
Travis Nickles
1ac7b79a10 Fix problem with rapid touchpad mouse action clicks
Related to issue #185.
2018-01-07 21:56:28 -06:00
Travis Nickles
42a67143ea Fix for device plugin changes while switching profiles 2018-01-07 11:44:04 -06:00
Travis Nickles
3dabad0be6 Make sure to use double for trackball friction when loading profile 2018-01-07 09:52:37 -06:00
Travis Nickles
ec9926cb69 Changed trackball constants 2018-01-03 04:31:25 -06:00
Travis Nickles
f906554743 Use proper delta time for trackball mode
It had been using the previous poll delta time instead
2018-01-03 03:55:40 -06:00
Travis Nickles
4bb6b08f72 Initial implementation of trackball mode
Related to issue #85
2018-01-01 12:21:35 -06:00
Travis Nickles
1d238e8b8b Fixed index bug in hotplug routine 2017-12-31 09:11:46 -06:00
Travis Nickles
3d387e5fde Change six axis dead zone calculation to be a proper dead zone 2017-12-20 22:19:40 -06:00
Travis Nickles
e6bab70de2 Break out of TouchUnchanged case more quickly 2017-12-14 20:54:32 -06:00
Travis Nickles
71b91bc745 Remove extra gyro dead zone from mapping routine 2017-12-14 00:26:37 -06:00
Korney Czukowski
babb48ac51 Add UseLang key to settings 2017-12-12 21:49:44 +01:00
Travis Nickles
41fa8cac82 Use delegate method of grabbing struct reference
Might replace the delegate with a class method later
but this method works pretty well as is
2017-12-11 03:57:48 -06:00
Travis Nickles
d66c98c139 Remove new DS4State object creation per poll 2017-12-02 01:45:51 -06:00
Travis Nickles
bc181b3e8b Add Enhanced Precision curve changes to LS 2017-11-30 14:25:46 -06:00
Travis Nickles
c479a30570 Loosen enhanced precision output curves for sticks 2017-11-30 01:40:28 -06:00
Travis Nickles
9a1590bf4f Fix macro binding for multiple touchpad swipe controls
Related to issue #162.
2017-11-27 12:43:38 -06:00
Travis Nickles
64b00804ce Change stick mouse speed. Remove old initial speed offset
The speed is the same at mouse sensitivity 25 compared
to the previous version. However, the new version will be
a bit stiffer using other sensitivity values
2017-11-25 03:13:22 -06:00