Commit Graph

662 Commits

Author SHA1 Message Date
Travis Nickles
4c4a6f5ba6 Added Stop and Start menu item to tray icon. Fixed ambiguity of temp thread objects in ControlService. 2019-12-27 14:25:17 -06:00
Travis Nickles
e69816b290 Fixed gyro z- label 2019-12-25 14:04:51 -06:00
Travis Nickles
c4cdade076 Added Quick Charge back in 2019-12-20 20:08:27 -06:00
Travis Nickles
906946a7ea Import DS4WindowsWPF code 2019-12-18 15:33:23 -06:00
Travis Nickles
21518134fc Added output slot manager. Added plug and unplug delay of 100 ms for output devices.
Related to issue #879
2019-12-11 09:58:31 -06:00
Travis Nickles
424b456175 Unify output device plugging and unplugging 2019-12-02 15:04:23 -06:00
Travis Nickles
8a6aae2b42 Added extra log message when ViGEmBus is not detected 2019-11-27 14:10:44 -06:00
Travis Nickles
f0c0c51096 Corrected default for linkedProfileCheck 2019-10-26 20:09:05 -05:00
Travis Nickles
1bf4642c09 Change hotplug routine in sync handler 2019-10-25 02:08:48 -05:00
Travis Nickles
a871e750ee Added new field array for specifying active controller types
Related to issue #871
2019-10-25 01:48:56 -05:00
Travis Nickles
4479bdb2c1 No longer make UseDS4ForMapping a persistent setting 2019-10-10 16:08:49 -05:00
Travis Nickles
78ef0fcd9d Found a couple of old Jays2Kings bugs
Default gyro triggers and shift action scan code check
2019-10-05 21:57:20 -05:00
Travis Nickles
7f1c86ba7a Fixed touchpad disable invert 2019-10-04 14:46:57 -05:00
Travis Nickles
9e557daefd Precaution against rapid NullReferenceException throws in Special Actions 2019-09-21 16:26:59 -05:00
Travis Nickles
458834577a Make separate roundness setting for RS 2019-09-13 22:26:58 -05:00
Travis Nickles
5ae1b8800f Use max displacement from center for Mouse Joystick and RS conflict
Related to issue #807
2019-09-07 11:57:32 -05:00
Travis Nickles
e89c8b6c3a Added identifier name to meta info
Related to issue #816
2019-09-07 08:29:25 -05:00
Travis Nickles
9b25bb83cb Added max saturation setting for rainbow lightbar mode
Related to issue #802
2019-09-06 10:50:20 -05:00
Travis Nickles
114b07699a Create CRC table in ControlService 2019-09-06 09:41:55 -05:00
Travis Nickles
1498d6a054 Add field to profile resetting 2019-09-02 23:39:44 -05:00
Travis Nickles
eff927e7ed Force dead zone and anti-dead zone for new profiles
Related to issue #804
2019-08-30 13:32:56 -05:00
Travis Nickles
9bd51043b8 Added smoothing to Mouse Joystick 2019-08-26 22:15:38 -05:00
Travis Nickles
111e44c2b8 Added vertical scale to Mouse Joystick 2019-08-26 18:53:28 -05:00
Travis Nickles
9d907fc241 Corrected typo in method name 2019-08-26 05:53:37 -05:00
Travis Nickles
b2e7eb987d Added toggle option to Mouse Joystick 2019-08-26 05:51:54 -05:00
Travis Nickles
ca41c511c6 Changed Mouse Joystick max zone default 2019-08-26 04:12:02 -05:00
Travis Nickles
aced5deab7 Fixed square stick roundness default in GUI 2019-08-25 15:48:26 -05:00
Travis Nickles
bc437a2769 Adjusted defaulyts. Fixed trigger turn default 2019-08-23 22:08:15 -05:00
Travis Nickles
78cf371dce Fixed issue with gyro triggers getting reset 2019-08-23 21:39:22 -05:00
Travis Nickles
5bc8346fe6 Fixed turn behavior setting for Mouse Joystick 2019-08-23 17:03:22 -05:00
Travis Nickles
a949f803a4 Lower default Mouse Joystick dead zone 2019-08-23 01:27:47 -05:00
Travis Nickles
1e9bc19fc1 Initial mouse joystick test 2019-08-22 22:03:03 -05:00
mika-n
d77a236c87 Comment tweaks 2019-08-12 16:31:16 +03:00
mika-n
8ee6bf0a84 Tweaks in "special action type of macro" logic 2019-08-12 16:14:24 +03:00
mika-n
938c4f3f39 Merge branch 'jay' of https://github.com/Ryochan7/DS4Windows into jay-bezierCurveOutput 2019-08-12 13:44:29 +03:00
mika-n
90f148ef09 Merge branch 'jay' of https://github.com/Ryochan7/DS4Windows into jay-bezierCurveOutput 2019-08-12 00:28:45 +03:00
mika-n
af6bbb517a small code cleanups in special actions (Macro) 2019-08-12 00:22:54 +03:00
mika-n
79f6b29d50 Nowadays all output axies have "Enhanced Precision" output curve option in GUI dropdown list. Added EnchPrecision curveOutput==1 IF-THEN-ELSE block to l2/r2/sx/sz curve output code logic and curveOutput=6 is the new custom option in all axies. 2019-08-12 00:03:59 +03:00
mika-n
45bfd2043a Added new GUI options to "macro special action" screen (run on release, repeat, synchronized run, keep key state). Added tooltip explanation texts to these macro options. 2019-08-11 21:54:54 +03:00
mika-n
6815c53fde Added "run on key release" and "run synchronized" and "repeat while held" and "keep key state" support for macro special actions 2019-08-11 01:01:57 +03:00
Travis Nickles
d8421e02b9 Re-add old curve routines 2019-08-07 01:59:02 -05:00
mika-n
f59dce057a UseDInputOnly mode supports VJoy output axis of steering wheel emulation mode. VJoy output works even without virtual xbox360 or dualshock4 devices. 2019-07-27 23:34:38 +03:00
mika-n
f85e0d413a Pre-defined output curves initialized using a pre-fixed formula. Now only the "Custom" output curve goes through bezier curve logic, but at runtime all output curve options are mapped using a lookup table (better performance and easier code maintenance). 2019-07-27 22:23:48 +03:00
Travis Nickles
4ffda750f7 Use old routines for preset curves 2019-07-25 14:54:39 -05:00
mika-n
13150015f0 Custom curve GUI tweaks. 2019-07-19 01:49:22 +03:00
mika-n
7bb8d02c38 Changed EnhancedPrecision output curve option to use the original hard-coded axis ranges (as it was in V1.7.12 and earlier versions). However, mapping for this old curve goes through a lookup table nowadays as with true bezier curves. 2019-07-15 16:08:31 +03:00
mika-n
7015a4d1b9 Merge branch 'jay' of https://github.com/Ryochan7/DS4Windows into jay-bezierCurveOutput 2019-07-14 22:31:53 +03:00
Travis Nickles
f00a42bedd Slow down mouse wheel scrolling for analog stick 2019-07-14 02:29:38 -05:00
mika-n
22866d6a5c New customizable output curve functionality. User can create any kind of output curve via a bezier curve editor (external HTML web app in BezierCurveEditor folder). 2019-07-07 00:47:54 +03:00
Travis Nickles
1c869647ab Use pre-allocated buffer in UDP server 2019-07-02 02:06:32 -05:00
Travis Nickles
dfaecd474f Group trigger mod profile properties 2019-06-30 20:59:51 -05:00
Travis Nickles
a6ed8240df Group together stick zone modifiers 2019-06-30 00:40:24 -05:00
Travis Nickles
934947e3dc Lowered enhanced precision curves 2019-06-26 17:20:49 -05:00
Travis Nickles
157bb67951 Group square stick profile properties into a class 2019-06-26 01:35:41 -05:00
Kamilczak020
4b901b3489 Implemented square stick roundness selectability 2019-06-25 23:42:08 +02:00
Travis Nickles
132dce7845 Loosen enhanced precision curves 2019-06-18 01:46:51 -05:00
Travis Nickles
ddb4ca96ba Added easeout cubic curve option 2019-06-09 02:15:00 -05:00
mika-n
5767a1866d UPD listen host address or IP number option in UDP server settings. By default UDP server listens onlhy 127.0.0.1 loopback interface, so connections work only within a host computer. This new UDPServerListenAddress option allows to use specific IP or 0.0.0.0 (=all interfaces) as listen address to enable remote UDP connections. 2019-05-27 01:07:17 +03:00
Travis Nickles
d227e087d9 Retrieve ViGEMBus driver version string 2019-05-12 00:33:43 -05:00
mika-n
02f66981a7 Steering wheel emulation for the new dualshock4 controller option. Fine tuned anti-deadzone calculation for DS4 output controller. 2019-05-09 23:21:31 +03:00
mika-n
8a561d1cde Steering wheel emulation for the new dualshock4 controller output option. 2019-05-09 21:32:29 +03:00
Travis Nickles
e0b1b273fc Minor tweak 2019-05-03 17:50:06 -05:00
Travis Nickles
b73f706ec2 Enforce default X360 in more places
Related to issue #683
2019-05-02 20:18:59 -05:00
Travis Nickles
f4c05533fc Migrate status of TouchButton
Related to issue #670
2019-04-29 21:26:24 -05:00
Travis Nickles
8797892103 Finally add a note about Visual C++ 2017 in app 2019-04-29 01:30:08 -05:00
Travis Nickles
90045f7f50 Fixed Up-Left DPad direction for DS4 output device 2019-04-28 22:05:54 -05:00
Travis Nickles
9ffe0daa78 Merge branch 'jay' into ds4emulate 2019-04-24 03:19:58 -05:00
Travis Nickles
62258a3711 Link delegates to class instance rather than linking to interface
A decent boost
2019-04-24 03:19:06 -05:00
Travis Nickles
49165a4bac Change another unplug message 2019-04-24 01:36:36 -05:00
Travis Nickles
8a6c05bce7 Added device type strings to output devices 2019-04-23 21:53:41 -05:00
Travis Nickles
ab8dbd29f9 Merge branch 'jay' into ds4emulate 2019-04-23 21:07:19 -05:00
Travis Nickles
5da3db4b2a Merge branch 'jay' of https://github.com/mika-n/DS4Windows into mika-n-jay 2019-04-23 20:43:39 -05:00
Travis Nickles
206e1649cf Merge branch 'jay' into ds4emulate 2019-04-23 14:44:17 -05:00
Travis Nickles
0cce1db3a9 Reset some gyro mouse flags as a safeguard when changing toggle 2019-04-23 14:43:45 -05:00
mika-n
456145cf8e Fixed a bug described in #664 issue where gyro mouse doesn't get correct properties (for example toggle option) right after Startup or Hotplug LoadProfile calls. The mouse object was created after LoadProfile function even when LoadProfile function tries to set few properties of that mouse object. 2019-04-23 12:32:12 +03:00
mika-n
4f87d24ee3 Merge branch 'jay' of https://github.com/Ryochan7/DS4Windows into jay 2019-04-23 10:43:14 +03:00
mika-n
c168dabded ActionLoadProfile: Support for automatically untriggered (=unloaded) profiles when a regular action keys are released. LoadProfile special action has a new "automatically unload when a regular trigger released" option. This is sort of like "shift modifier for the whole profile" functionality. 2019-04-23 03:39:44 +03:00
Travis Nickles
27fc7f07a2 Merge branch 'jay' into ds4emulate 2019-04-22 18:54:15 -05:00
Travis Nickles
ee5ff50e79 Changed ViGEm Bus Driver check
Related to issue #667
2019-04-22 18:51:21 -05:00
Travis Nickles
d59cc370db Merge branch 'jay' into ds4emulate 2019-04-21 22:49:43 -05:00
Travis Nickles
5ae0c1ea5c Check for newer ViGEmBus device 2019-04-21 21:40:29 -05:00
Travis Nickles
6c72566e36 Merge branch 'jay' into ds4emulate
# Conflicts:
#	DS4Windows/DS4Forms/Options.resx
2019-04-21 02:07:28 -05:00
Travis Nickles
61a35ce328 Merge branch 'customSteamFolder' of https://github.com/Sander0542/DS4Windows into Sander0542-customSteamFolder 2019-04-21 01:10:02 -05:00
Travis Nickles
d59a11f36a Raised sixaxis dead zones. Updated TODO file 2019-04-21 00:13:09 -05:00
Sander Jochems
cffc167be6
Create two new properties (ScpUtil.cs) 2019-04-20 17:46:45 +02:00
Travis Nickles
0b345b8474 Update action string aliases in the GUI 2019-04-18 22:56:18 -05:00
Travis Nickles
1b58265c28 Added profile setting for controller type 2019-04-18 01:12:10 -05:00
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