Travis Nickles
dc5e34f1be
Test DS4 emulation
2019-04-17 21:29:16 -05:00
Travis Nickles
28bc7a85b1
Use ref locals to curb array access for KB+M routines
...
Ref local reassignment is used as well. C# 7.3 is now
the minimum required version of C# that can be used as a
target.
2019-04-16 16:37:11 -05:00
Travis Nickles
480c93be0f
Use wrapper method for MapVirtualKey for scan code option
...
Related to issue #655
2019-04-13 11:58:40 -05:00
Travis Nickles
8cab1f94b2
Tweak sensitivity axis scaling to reach max values
...
Related to issue #654
2019-04-11 18:01:06 -05:00
mika-n
1e82db0f9e
Allow LoadProfile action key to be used without unload trigger in a loadProfile special action definition and without temp profile lockdown. This way loadProfile special actions can be linked to load unlimited number of profiles without unloading (=untrigger) the current temp profile first.
2019-04-07 14:33:42 +03:00
mika-n
746587ebbd
Brute force timer fix to the "stuck rumble motor" bug in ViGem virtual gamepad driver. This rumble autostop timer should be removed when a signed ViGem driver has a fix to this issue. Existing autostop timer is 2 secs, so this assumes that game keeps on updating a rumble values at least once in 2 secs. If rumble-0 event is lost or game doesn't send a new rumble value within 2 secs then rumble motor is automagically stopped (=assumed it is stuck). Usually games keep on sending rumble values as long an effect needs it, so this autostop timer works reasonable good in most games.
2019-04-06 15:04:21 +03:00
Travis Nickles
4ec3cd1162
Minor string change
2019-04-03 20:58:32 -05:00
Travis Nickles
cba6a09f68
Disable force feedback for now.
...
Related to issue #616
2019-04-03 20:39:30 -05:00
Travis Nickles
2e62bad0f6
Revert to older ViGEm client API
2019-04-03 18:12:21 -05:00
Travis Nickles
d9873a7232
Added X360 related enums
2019-04-03 17:35:10 -05:00
Travis Nickles
aff365b28f
Updated code to use newer ViGEm.NET client
2019-04-03 16:47:03 -05:00
Travis Nickles
839f03d538
Change to use method rather than property
2019-04-02 01:01:04 -05:00
Travis Nickles
79a90b828c
Use runtime option for toggling touchpad.
...
Related to issue #637 .
2019-04-02 00:54:29 -05:00
Travis Nickles
19854a00cf
Removed set rumble to zero call for touchpad button up event
...
Related to issue #615
2019-03-22 16:39:44 -05:00
Travis Nickles
2c4ce7d672
Corrected force feedback motor values on SONYWA sync change
2019-03-22 15:13:18 -05:00
Travis Nickles
36a8382fdd
Use SetDevRumble to avoid array checks
2019-03-21 20:56:49 -05:00
Travis Nickles
9614727566
Add feedback received handler before connecting virtual controller
2019-03-21 20:32:17 -05:00
Travis Nickles
d434834d3d
Corrected force feedback motor values
...
Fixes issue #621
2019-03-21 20:25:35 -05:00
Travis Nickles
3e08da9705
Removed old ScpVBus related classes
2019-03-19 02:32:49 -05:00
Travis Nickles
acfd268397
Migrate 360 steering wheel code to use ViGEmBus
2019-03-19 02:18:50 -05:00
Travis Nickles
5a6859556c
Removed old xinput ports setting
...
No longer relevant with ViGEmBus
2019-03-19 01:52:18 -05:00
Travis Nickles
575f157420
Changed method name to specify ViGEmBus
2019-03-19 01:33:41 -05:00
Travis Nickles
1c671e694f
Changed branding in some old messages
2019-03-19 01:30:54 -05:00
Travis Nickles
22e212999d
Merge branch 'jay' into vigem-udpserver
2019-03-17 21:18:59 -05:00
Travis Nickles
27a68196e4
Deprecate old mouse acceleration option. Make new default value false
2019-03-17 01:28:16 -05:00
Travis Nickles
489a36be00
Merge branch 'jay' into vigem-udpserver
2019-03-12 18:55:35 -05:00
Travis Nickles
a7192d2fbf
Force Normal IO and Page Priority
...
More useful when run as Task but it seems to help normal
runs as well. Related to issue #487 .
2019-03-12 16:34:24 -05:00
Travis Nickles
695d9b3e31
Raise SocketAsyncEventArgs buffer for UDP server
...
Related to issue #602
2019-03-11 12:48:16 -05:00
Travis Nickles
76b31245f8
Default use controller for mapping option to false
...
This has probably caused issues for other people
2019-03-11 11:54:55 -05:00
Travis Nickles
0ea8cef46e
Merge branch 'jay' into vigem-udpserver
2019-03-10 09:33:00 -05:00
Travis Nickles
3bd0e44dc5
Removed unneeded device check
2019-03-08 17:09:36 -06:00
Travis Nickles
f1a10fb5ec
Allow flash at to work at 0% battery
...
Related to issue #599
2019-03-08 14:29:58 -06:00
Travis Nickles
ef01b4d3b3
Altered controller readings to better represent mapped state
...
Related to issue #587 .
2019-03-07 01:06:55 -06:00
Travis Nickles
923f487f39
Added dead check to skip some processes
2019-03-06 02:11:55 -06:00
Travis Nickles
8d4d4b0758
Fixed auto profile use for hotplugging
...
Related to issue #578
2019-03-05 05:14:39 -06:00
Travis Nickles
1dbf9abb02
Implemented square stick functionality
...
Related to issue #341 .
2019-03-04 17:21:58 -06:00
Travis Nickles
6533585a07
Make sure to stop USB controller while suspending
...
Related to issue #595
2019-03-03 19:27:57 -06:00
Travis Nickles
425b1dd47a
Change haptic changing routine to skip always searching for existing device
2019-03-03 00:35:17 -06:00
Travis Nickles
a4d7372e7b
Do not reset custom led setting while switching profiles
...
Related to issue #596
2019-03-02 05:42:49 -06:00
Travis Nickles
c575b3b525
Merge branch 'jay' into vigem-udpserver
...
# Conflicts:
# DS4Windows/DS4Control/ScpUtil.cs
2019-02-28 04:24:03 -06:00
Travis Nickles
231b418d4c
Merge branch 'jay' of https://github.com/mika-n/DS4Windows into mika-n-jay
2019-02-27 01:48:27 -06:00
Travis Nickles
d7d593c997
Use implicit extra dead zones for special actions
2019-02-26 04:13:13 -06:00
mika-n
9cbd4d8a42
Updated Finnish resources.fi.resx translation (added missing translations).
2019-02-25 13:35:22 +02:00
mika-n
7026f8b1c4
SASteeringWheelEmulation: Improved deadzone handling (smooth range instead of just dead gap clipping). Fixed a bug in >360 turn range calculations. Small performance improvements.
2019-02-25 13:29:05 +02:00
Travis Nickles
68f8232441
Removed more boxing
2019-02-24 17:11:52 -06:00
Travis Nickles
2497ced5d5
Change main report routine to use custom delegate.
...
Remove the need to box and unbox data every gamepad poll.
Seems to help with performance.
2019-02-24 15:03:12 -06:00
mika-n
668ecafe6c
Check synchronized state of controller before trying to load calibation values (SonyWA connected devices could be in non-sync state without a valid controller MAC address)
2019-02-24 00:27:48 +02:00
Travis Nickles
afea15f38f
Output report len is constant
...
No need to pull from property every poll
2019-02-22 01:51:54 -06:00
mika-n
e70aa452e3
removed unnecessary using System.Draw reference.
2019-02-19 15:29:33 +02:00
mika-n
48bd457d66
merge
2019-02-19 15:19:45 +02:00
mika-n
4b0134faf9
merge
2019-02-19 15:19:10 +02:00
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