Commit Graph

233 Commits

Author SHA1 Message Date
Travis Nickles
8be2f9f271 Use unsafe blocks in project
Memory pointer access is needed to improve performance
with basic input report copying as well as CRC32
validation
2018-03-05 08:57:30 -06:00
Travis Nickles
f5f6002cdc Removed another loop for known array size in CRC32 method 2018-03-05 05:52:59 -06:00
Travis Nickles
a8b6213c0c Minor tweak for CRC32 method 2018-03-05 02:25:39 -06:00
Travis Nickles
284acc128a Added CRC32 check when obtaining gyro calibration data 2018-03-04 22:43:49 -06:00
Travis Nickles
c7f7537f25 Experimental CRC32 validation
Needs more work but I don't want to lose progress made
so far. Related to issue #228.
2018-03-04 14:37:47 -06:00
Travis Nickles
531b79dcc3 Changed when delay is performed for exclusive mode routine
Keep an eye on this
2018-02-28 15:09:29 -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
4c0bbb5bf8 Take off portion of device name that is susceptible to localization 2018-01-15 17:42:47 -06:00
Travis Nickles
be10ab29b2 Minor tweak 2018-01-15 01:12:12 -06:00
Travis Nickles
b9bc51e873 Changed headphone volume curve to more closely resemble control outside of program
Related to issue #168.
2018-01-15 00:06:28 -06:00
Travis Nickles
b71b3ec820 Comment out exception throw when device fails to disable
Seems to be necessary so DS4 does not get permanently disabled.
Experienced while running Broforce. Related to issue #172.
2018-01-10 15:27:39 -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
09e5d20bb0 Reuse Touch instances for DS4Touchpad rather than creating new instances 2017-12-22 02:31:14 -06:00
Travis Nickles
e6bab70de2 Break out of TouchUnchanged case more quickly 2017-12-14 20:54:32 -06: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
05def00614 Add lock usage for USB again
The version without it seems a bit wonky
2017-12-11 00:33:38 -06:00
Travis Nickles
619b73d40b Clear up naming issue for IDE. Use only one output array for USB and SONYWA 2017-12-10 06:16:40 -06:00
Travis Nickles
567aa393ae Changes to how output reports are sent. Mainly affects USB and SONYWA 2017-12-10 05:09:15 -06:00
Travis Nickles
132d411b24 Use event callback to get audio endpoint volume 2017-12-10 02:05:56 -06:00
Travis Nickles
852a9fe524 Lower latency queue to hold 20 items 2017-12-07 17:18:57 -06:00
Travis Nickles
dd6e2edadf Minor tweak 2017-12-01 21:31:05 -06:00
Travis Nickles
12aedd3724 Minor change to sync output report 2017-11-21 03:29:46 -06:00
Travis Nickles
500c870647 Minor change in pending count 2017-11-18 15:01:00 -06:00
Travis Nickles
45c0b9945c Fix output report updating 2017-11-18 13:15:15 -06:00
Travis Nickles
0d10004624 Output thread tweaks 2017-11-15 19:57:58 -06:00
Travis Nickles
a894179c98 Restart pending output report count when a change is detected 2017-11-15 02:58:16 -06:00
Travis Nickles
9045d18092 Add additional lock to use when writing output reports 2017-11-15 02:14:20 -06:00
Travis Nickles
2f6498a37b Remove unused lock statement 2017-11-11 22:52:17 -06:00
Yuki-nyan
a9eefa9079 Resolved merge conflict by implementing Ryochan7's changes 2017-11-05 15:20:10 +00:00
Travis Nickles
bf11a6d297 Change device enumeration routine 2017-10-28 20:34:04 -05:00
Travis Nickles
c75cb3ba7b Added Razer Raiju VID and PID combination. Moved arrays.
Related to issue #136.
2017-10-28 20:03:55 -05:00
Travis Nickles
076b1d0839 Use array to specify compatible vids 2017-10-28 19:58:23 -05:00
Travis Nickles
677191e8b4 Change to keep lightbar from sticking in some situations
Hopefully resolves issue #126.
2017-10-27 02:09:42 -05:00
Travis Nickles
e07f902751 Only load profiles as needed rather than at program startup 2017-10-19 03:21:33 -05:00
Travis Nickles
036cfcb34d Use refresh calibration method when creating DS4Device instance 2017-10-11 18:57:11 -05:00
Travis Nickles
0df84e1fba Refresh calibration data when pairing to or disconnecting a device from the Sony dongle 2017-10-11 18:55:15 -05:00
Travis Nickles
3a09132805 Fix reading calibration report values. Take connection type into account 2017-10-11 18:48:52 -05:00
Travis Nickles
d1e0be33de Fix calibration report id for BT 2017-10-11 18:24:14 -05:00
Travis Nickles
320c3ee6f6 Make sure to add device serial to HashSet when DS4Device instance is created
Make sure USB charging does not create second DS4Device instance
2017-10-11 18:07:34 -05:00
Travis Nickles
73450834bc Remove unused field 2017-10-10 21:42:49 -05:00
Travis Nickles
b1cd3a76e9 First acceptable version of gyro calibration support
Related to issue #103.
2017-10-10 17:45:42 -05:00
Travis Nickles
957ad3b1d5 Tweak updating of pending output report 2017-10-07 00:55:14 -05:00
Travis Nickles
16f6f5be32 Change main device list to be dependent on device path rather than mac address
Should resolve issue #71.
2017-10-05 00:24:53 -05:00
Travis Nickles
22912dff50 Add headphone volume support for DS4 v2 controllers 2017-10-02 03:16:57 -05:00
Travis Nickles
39d0579f09 Change SixAxis routines
Hopefully I won't regret this later
2017-09-20 11:34:53 -05:00
Travis Nickles
ec3ebb73b5 Minor tweaks 2017-09-05 03:34:49 -05:00
Travis Nickles
699436565c Reduce latency queue capacity 2017-08-22 05:20:23 -05:00
Travis Nickles
5df34b8378 Trim event handler method. Add name for timeout threads.
Decent performance boost with this change
2017-08-21 05:25:18 -05:00
Travis Nickles
dce5c811f2 Raise timeout interval 2017-08-20 22:02:49 -05:00
Travis Nickles
684c8a73b2 Minor tweak 2017-08-15 21:27:11 -05:00
Travis Nickles
8f78d5850e Adding new gyro values
Not sure if I will ever use them
2017-08-10 02:45:11 -05:00
Travis Nickles
bd379e5c7e Add new accel fields 2017-08-09 03:24:24 -05:00
Travis Nickles
2ffc51c8e3 Changed variable name to better show current intent 2017-08-08 22:07:52 -05:00
Travis Nickles
8dca930400 Create separate output accel values 2017-08-08 20:19:17 -05:00
Travis Nickles
315797fe53 Minor changes to exclusive mode routine 2017-08-04 06:10:48 -05:00
Travis Nickles
f042120ede Add wait period after device is enabled.
Seems to be needed for exclusive mode to behave better
with recent Windows 10 update
2017-08-01 02:42:16 -05:00
Travis Nickles
473958ba1a Correct touchpad X coordinate. Change DS4State. 2017-07-27 05:41:44 -05:00
Travis Nickles
60a21a9fe3 Minor changes 2017-07-26 21:38:34 -05:00
Travis Nickles
436d0ed1ef No longer make unnecessary state object copies 2017-07-26 06:13:18 -05:00
Travis Nickles
8250f9be5c Attempt to use timestamp from ds4. Preserve changes. 2017-07-26 04:30:50 -05:00
Yuki-nyan
86d311b72a Merge pull request #5 from Ryochan7/jay
Update to Version 1.4.86
2017-07-21 19:35:49 +01:00
Travis Nickles
3dcd4d94b9 Added clamping for rotation. Fixed bug with identical dict keys 2017-07-20 04:25:15 -05:00
Travis Nickles
1b0ddfd910 Minor changes 2017-07-20 00:57:14 -05:00
Travis Nickles
8eb9d6391f Some optimizations 2017-07-18 15:37:01 -05:00
Travis Nickles
a335decc90 Move accel dead zone calculations 2017-07-18 14:21:03 -05:00
Travis Nickles
9972e85e13 More minor gyro changes 2017-07-16 19:42:43 -05:00
Travis Nickles
dba2b1bbb3 Tweaks to how imu data is used 2017-07-16 07:11:58 -05:00
Travis Nickles
887a4fbdbd Make imu data part of the DS4State 2017-07-16 03:30:49 -05:00
Travis Nickles
817505a989 Take poll time into account for gyro mouse 2017-07-16 02:22:21 -05:00
Travis Nickles
10621b8c69 Change trackbar value for gyro 2017-07-14 22:41:00 -05:00
Travis Nickles
56fff28f65 Try to correct some problems with imu data usage 2017-07-13 08:17:00 -05:00
Travis Nickles
c5dd97ebe5 Preserve minor optimizations before next test 2017-07-13 07:27:25 -05:00
Travis Nickles
6f069482a2 Minor optimizations 2017-07-12 08:04:37 -05:00
Yuki-nyan
48545207b4 Merge pull request #4 from Ryochan7/jay
Update to Version 1.4.84
2017-07-10 00:15:46 +01:00
Travis Nickles
089383b64e Simple comment update 2017-07-02 16:59:35 -07:00
Travis Nickles
eab3cdeaad Change output report for USB and Sony 2017-07-02 16:58:30 -07:00
Travis Nickles
0cf1956566 Change output report for BT 2017-07-02 10:14:15 -07:00
Travis Nickles
4ae72cfdb2 Removed more property usage 2017-07-02 08:29:55 -07:00
Travis Nickles
ee6a7fafd4 Improve response time for BT connections 2017-07-02 02:11:16 -07:00
Travis Nickles
ea69d69a6f Improve response time when using USB and Sony dongle 2017-07-02 01:52:55 -07:00
Travis Nickles
d74820dbf5 Add rotation routine for LS and RS 2017-06-30 01:42:19 -07:00
Travis Nickles
6c21572249 Minor changes 2017-06-29 06:16:02 -07:00
Travis Nickles
484337f42f Add gyro mouse smoothing routine 2017-06-28 21:42:16 -07:00
Travis Nickles
5f907de036 Expose full accel values for future experiments 2017-06-27 03:16:10 -07:00
Travis Nickles
4dfb2cf0db Minor performance tweaks for input thread 2017-06-24 19:10:09 -07:00
Travis Nickles
a4b540d62c Change variable name 2017-06-22 22:30:22 -07:00
Travis Nickles
19afe15937 Make lastActive field matter for USB connections again. Related to issue #45. 2017-06-22 22:14:58 -07:00
Travis Nickles
44aef8b90d Fixed distinction between one finger touchpad touch and two finger touch
Touch 2 being active does not necessarily mean two fingers
are currently on the touchpad
2017-06-22 03:24:51 -07:00
Travis Nickles
2d58034415 Allow gyro button triggers to disable gyro 2017-06-22 00:43:44 -07:00
Travis Nickles
bf774ba6f7 Correct some variables 2017-06-21 18:11:14 -07:00
Travis Nickles
f4302a752d Initial attempt at fixing gyro support. Related to issue #48.
It will be a mess for the forseeable future
2017-06-21 18:07:21 -07:00
Travis Nickles
328b2dc14c Attempt to smooth out mouse cursor for analog sticks 2017-06-19 08:50:28 -07:00
Travis Nickles
fc929d963e Fix mic device and volume detection 2017-06-17 09:06:33 -07:00
Travis Nickles
39930cf2e8 Small change
Hating the JIT compiler right now
2017-06-17 07:13:39 -07:00
Travis Nickles
712f470b9e Change scope of some variables 2017-06-14 07:42:29 -07:00
Travis Nickles
2cf33e1bba Test hotplug changes. Change mouse remainder cutoff 2017-06-11 08:15:45 -07:00
Travis Nickles
1fc77c5537 Take current stick direction into account for mouse offset 2017-06-10 17:48:34 -07:00
Travis Nickles
ab9c3abe05 Move Quick Charge check to input thread 2017-06-09 23:45:19 -07:00
Travis Nickles
63dddf4373 Changes to fix Quick Charge option 2017-06-08 13:52:47 -07:00
Travis Nickles
cda84e6499 Keep reference to hidden USB device while using BT and charging
Ensures that DS4 USB HID device is not seen by other applications
2017-06-07 17:52:09 -07:00