Commit Graph

287 Commits

Author SHA1 Message Date
mika-n
c93ea35338 Nacon Revolution Infinite support. Sometimes known as Nacon Revolution Unlimited Pro v2? 2019-12-15 20:03:53 +02:00
mika-n
6bf693026e Nacon Revolution Pro v3 gamepad support 2019-11-19 08:39:23 +02:00
mika-n
c600dc1175 Hori Fighting Commander and Nacon Revolution Unlimited Pro gamepad supports. Also, fixed index out of bounds errors in Hid.readSerial function if a gamepad doesn't have a real MAC address (or reading of it failed for some reason) 2019-10-20 17:25:18 +03:00
mika-n
c9d532a75a Nacon Revolution Ultimate support 2019-10-18 20:33:37 +03:00
mika-n
b9ef4bb45a Steel Play MetalTech P4 gamepad support 2019-09-07 17:23:03 +03:00
Travis Nickles
e89c8b6c3a Added identifier name to meta info
Related to issue #816
2019-09-07 08:29:25 -05:00
Travis Nickles
114b07699a Create CRC table in ControlService 2019-09-06 09:41:55 -05:00
mika-n
c64ebc6c9f Support for Warrior Joypad JS083 gamepad. See issue #713 for more details. 2019-05-28 21:58:40 +03:00
mika-n
fb0ba669df Support for Razer Raiju Ultimate (USB wired connection only at the moment). #689. VID/PID provided by Neodraon and Voovoodoo.
Support for CronusMax PS4OutputMode. #702. VID/PID provided by Aidolii.
2019-05-17 16:00:03 +03:00
Travis Nickles
78dcbe666c Added Razer Raiju Tournament Edition support
Related to issue #580
2019-04-29 22:17:15 -05:00
Travis Nickles
dc5e34f1be Test DS4 emulation 2019-04-17 21:29:16 -05:00
Travis Nickles
db74ea04da Added PS4 Fun Controller support 2019-04-16 15:56:51 -05: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
b536ca3a83 Fixed SonyWA disconnect on Windows 7
Was broken since 1.6.4 with change to sending
output packets
2019-03-13 18:41:10 -05: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
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
f828eb888c Use struct reference rather than copy 2019-02-19 03:16:42 -06:00
Travis Nickles
a9e7a3cb5b More enumerator usage 2019-02-16 02:50:53 -06:00
Travis Nickles
3417c08a87 Get rid of more ElementAt usage
Old code is commented out as a reference
2019-02-16 02:41:13 -06:00
Travis Nickles
ec71282ce3 Changed DS4Color to use IEquatable interface
Allows for faster Equals method than the previous
implementation
2019-01-16 05:07:19 -06:00
Travis Nickles
df1ec44f1c Fixed volume updating when sending timeout output reports 2019-01-16 04:08:51 -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
Travis Nickles
2fe34afe2f More removal of old haptic related items 2019-01-10 19:07:49 -06:00
Travis Nickles
f887f334df Remove some unused fields and methods 2019-01-10 18:37:39 -06:00
Travis Nickles
2c471e6eff Change how haptic state changes happen 2019-01-10 18:15:14 -06:00
Travis Nickles
eb45a6c06c Minor tweak 2019-01-09 23:57:22 -06:00
Travis Nickles
a253daa95d Minimize influence of stopwatch 2019-01-09 19:30:05 -06:00
Travis Nickles
18c27b7f10 Corrections to output packet changes 2019-01-09 05:41:20 -06:00
Travis Nickles
bc9a7c3e65 Change priority of output threads 2019-01-09 04:24:29 -06:00
Travis Nickles
cceaa31404 Send output packet at least once every 4 seconds
Best attempt at resolving issue #399.
2019-01-09 03:45:39 -06:00
mika-n
853b1ac650 Merge branch 'jay' of https://github.com/Ryochan7/DS4Windows into jay 2019-01-02 21:45:41 +02:00
Travis Nickles
6156d66ffb Added comment noting Scuf Vantage entry 2018-12-26 23:38:37 -06:00
Travis Nickles
e570c1c89e Added info for Scuf Vantage gamepad
Related to issue #524
2018-12-26 23:33:38 -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
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
mika-n
09c74e9979 Merge branch 'jay' of https://github.com/Ryochan7/DS4Windows into jay 2018-11-19 11:40:53 +02:00
Travis Nickles
c2edbdf946 Increased timeout for tracking second instance exclusive mode workaround 2018-11-17 18:47:13 -06: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
dedb1c9ad9 Manually calculate device latency average 2018-11-16 05:24:47 -06:00
Travis Nickles
db859fb4db Changed test rumble check to remove implicit data coercion 2018-11-11 04:56:10 -06:00
Travis Nickles
6db6315d72 Added extra calibration check. Might be useful in some cases where people have reported crashes. 2018-11-05 04:49:23 -06:00
Travis Nickles
49d24fce7d Testing new output report copying thread for USB and SONYWA 2018-10-26 20:58:43 -05:00
Travis Nickles
e3ed777682 Removed unnecessary array copy for USB and SONYWA connections 2018-10-26 01:37:51 -05:00
Travis Nickles
32605524ff Added flag to allow skipping a lock when applicable 2018-10-25 02:51:50 -05:00
Travis Nickles
ce78793dea Removed old unused field 2018-10-25 01:37:26 -05:00
Travis Nickles
60a0f3fda0 Fixed device event queueing 2018-10-15 03:01:13 -05:00
Travis Nickles
af4425763d Added some optimizations 2018-10-11 03:38:52 -05:00