Commit Graph

214 Commits

Author SHA1 Message Date
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
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
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
22912dff50 Add headphone volume support for DS4 v2 controllers 2017-10-02 03:16:57 -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
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
Travis Nickles
a335decc90 Move accel dead zone calculations 2017-07-18 14:21:03 -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
6f069482a2 Minor optimizations 2017-07-12 08:04:37 -05: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
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
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
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
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
e207114339 Test using Queue instead of List for Latency stats
The Queue version is faster
2017-06-04 19:14:44 -07:00
Travis Nickles
f61cd593c5 Add timeout test to allow fallback disconnect method to work 2017-05-31 20:37:53 -07:00
Travis Nickles
05fd7316cf Keep small snippet for future reference 2017-05-26 20:14:48 -07:00
Travis Nickles
de8f1ae354 Change order of syncchange invoking 2017-05-26 19:03:35 -07:00
Travis Nickles
312d3b433e Change variable name and revert 2017-05-25 03:01:07 -07:00
Travis Nickles
c7a840194c Fix check for sync byte 2017-05-25 02:56:36 -07:00
Travis Nickles
5a0fb09291 Update serial for Sony dongle connection upon sync event
Related to issue #44.
2017-05-25 02:51:28 -07:00
Travis Nickles
1e2c57a08a Minor optimizations 2017-05-18 17:51:01 -07:00
Travis Nickles
2b741533bb Minor optimizations 2017-05-17 01:59:09 -07:00
Travis Nickles
ac23921978 Allow BT poll rate to be specified. Use thread action queue now. Some bug fixes 2017-05-16 23:02:12 -07:00
Travis Nickles
9b78668935 Test new action invocation on input threads.
Only used to transfer idle disconnect time but
it might be more useful in the future.
2017-05-13 19:31:39 -07:00
Travis Nickles
bca7850a36 Stop using Async methods for FileStream instance. Reduce CPU usage. Initial thread action queue.
No longer uses an application set timeout but it looks like
a timeout will be handled by the system
2017-05-13 15:01:43 -07:00
Travis Nickles
edeaa30b59 Code clean up. Reset xinput mapping for more bound actions. 2017-05-12 07:48:58 -07:00
Travis Nickles
f3c9e08398 Minor changes 2017-05-11 08:13:51 -07:00
Travis Nickles
9e512deaeb Change timer usage for main form 2017-05-09 07:24:46 -07:00
Travis Nickles
6074445c03 Attempt at better clean up when removing devices
Use SynchronizationContext to run some tasks in main thread
as opposed to input thread
2017-05-09 03:11:50 -07:00
Travis Nickles
c3fcfbfddf Use getter instead of property to grab volume levels 2017-05-08 03:07:58 -07:00
Travis Nickles
907fed2f1d Fix output report so microphone does not get muted.
Related to issue #20.
2017-05-08 03:06:06 -07:00
Travis Nickles
3f190bb4bb Some file stream changes 2017-05-04 02:02:38 -07:00
Travis Nickles
272eba4432 Only read one touch packet 2017-05-02 06:29:46 -07:00
Travis Nickles
4ce52da612 Test minor change of usb device removal 2017-05-01 03:40:37 -07:00
Travis Nickles
d35ba4db98 Add lock for DisconnectDongle 2017-05-01 02:50:02 -07:00
Travis Nickles
d37e0709c0 More log messages. Tweak DisconnectBT. Other minor changes. 2017-05-01 02:29:19 -07:00
Travis Nickles
83c7bb7740 Minor optimization for device refreshing and profile switching 2017-04-29 01:19:45 -07:00
Travis Nickles
ca2074d76f Version 1.4.65 2017-04-28 11:57:33 -07:00
Travis Nickles
44501c24de Revert back to old disconnect bluetooth behavior 2017-04-26 18:39:33 -07:00
Travis Nickles
508c2b2067 Rename new hotkey option. Some optimizations for Options form. 2017-04-26 14:51:15 -07:00
Travis Nickles
ea3b1401f0 Only update battery status for one controller instead of entire controller list
Event is also executed async now.
2017-04-25 02:24:14 -07:00
Travis Nickles
00b6c5e1ea Add new byte mapping and xy axis mapping methods 2017-04-24 07:16:42 -07:00
Travis Nickles
ade55d3b9f Change methods to check for null thread objects
It looks like there are cases when the stop update
methods could be called before the thread objecs are
created
2017-04-22 19:46:50 -07:00
Travis Nickles
3e4a5c0562 Fixes for Quick Charge mode
Resolves issue #19.
2017-04-22 07:49:01 -07:00
Travis Nickles
ecb271cfb1 Fixed readout of battery status
ds4drv showed that the method used before was not
correct
2017-04-22 07:00:12 -07:00
Travis Nickles
23ee6f9d8a Minor style changes and excess removed 2017-04-22 00:26:44 -07:00
Travis Nickles
52c5fde941 Some minor changes 2017-04-21 21:22:36 -07:00
Travis Nickles
32cbd77708 Minor edits to improve readability 2017-04-20 20:09:08 -07:00
Travis Nickles
92b4e2da24 Trim more property usage 2017-04-15 23:22:04 -07:00
Travis Nickles
beadb313ff Only access length property once in for loop 2017-04-11 19:26:08 -07:00
Travis Nickles
0f705e667e Remove unneeded warn field usage 2017-04-09 01:17:52 -07:00
Travis Nickles
da3efd2589 Fix idle disconnect for Sony Dongle connections
Related to issue #13
2017-04-08 16:13:56 -07:00
Travis Nickles
f050df5f81 Change input delay warning status depending on connection type.
No longer use a fixed interval
2017-04-07 08:59:15 -07:00
Travis Nickles
7ae8e0deb8 Allow idle disconnect for sony dongle 2017-04-06 20:24:16 -07:00
Travis Nickles
6ae80efad4 Make sure idle disconnect can work 2017-04-06 13:05:16 -07:00
Travis Nickles
a239f50192 Remove unnecessary timer and add some minor tweaks 2017-04-06 11:58:47 -07:00
Travis Nickles
a65dfa0624 Only attempt device removal on exit when using Sony dongle 2017-04-06 08:30:41 -07:00
Travis Nickles
51cbe22a90 Tweak disconnect routine 2017-04-06 01:19:12 -07:00
Travis Nickles
5c74a00d90 Allow disconnect routines to work with Sony Dongle.
The main routine was made by aspalmer.
2017-04-05 18:37:38 -07:00
Travis Nickles
bfbcc15df5 Detect the Sony Wireless Adaptor as its own connection type 2017-04-05 16:51:20 -07:00
Travis Nickles
a0cff7ba30 Fixed issue with an unreleased lock blocking device removal. Fixed chance for duplicate log entries for device removal.
Resolves issue #7.
2017-03-29 17:44:10 -07:00
Travis Nickles
a167132c0a Merge https://github.com/ondr3j/DS4Windows into ondr3j_audio 2017-03-29 02:12:37 -07:00
Travis Nickles
7d6e33ba2f Remove some property usage and minor improvements 2017-03-28 01:48:02 -07:00
Travis Nickles
d363257205 Use plain for loop instead of foreach.
There is a noticeable speed difference.
2017-03-27 08:19:10 -07:00
Travis Nickles
82c3d4beff Try getting around wait yet again 2017-03-25 01:29:25 -07:00
Travis Nickles
156b7103e6 Make ds4 threads background threads. Still trying to make output thread exit gracefully.
The switch to using background threads reduced input lag.
2017-03-24 08:06:01 -07:00
Travis Nickles
9d190fcaf7 Correct issue when two threads try to abort ds4Output thread simultaneously 2017-03-24 01:08:31 -07:00
Travis Nickles
4e33578686 Remove some property usage and use explicit getter methods instead.
This shouldn't have been necessary but testing with optimized
release builds has shown that the overhead of using properties
frequently introduces undesired input lag.
2017-03-23 19:32:33 -07:00
Travis Nickles
3e0e5bebfc Change interval used for warnings depending on protocol 2017-03-23 01:12:50 -07:00
Travis Nickles
bd73978204 More testing of threading changes. 2017-03-22 23:39:31 -07:00
Travis Nickles
d295c1af2a Change thread priority back to AboveNormal. Change how threads are killed. 2017-03-22 19:35:18 -07:00
Travis Nickles
7f1a7485a7 Rename static property 2017-03-22 02:41:04 -07:00
Travis Nickles
5dbc193351 Reduced input lag by implementing overlapped IO and changing threading 2017-03-22 00:52:54 -07:00
Travis Nickles
0dd442f813 Use Highest thread priority
It does improve input lag slightly with
no real impact on CPU usage
2017-03-20 15:17:43 -07:00
Travis Nickles
2b00244c62 Raise thread priority.
Using AboveNormal priority for now. Test Highest priority
at some point.
2017-03-19 07:09:57 -07:00
Travis Nickles
1f42e17996 Merge tracking branch 'lag_reduce' into jay 2017-03-19 00:45:28 -07:00
Travis Nickles
36cc2c5012 Add flags to reduce input lag 2017-03-09 16:07:17 -08:00
Travis Nickles
57da16278e Simplify interpreting dpad state 2017-02-18 02:58:44 -06:00
Ondrej Patrovic
2a0cc058e7 Fix disappearing audio with DS4 wireless dongle 2016-11-21 20:06:38 -05:00
Jays2Kings
8d9f69db44 Version 1.4.3
Complete rehaul of the profile settings, bigger workspace to edit
controls, and all the settings are on the side now
Added option to change the lightbar color, regardless of the profile's
lightbar setting (useful for using one profile on the same controller).
to change click the colored button beside edit in the main tab
Can now set the Gyro as an 1:1 absolute mouse, in this mode the mouse
now moves as the controller is moved
Removed the experimental exclusive connection button if on the newest
Windows 10 build (1511/TH2)
Finally updated all the translations and added some new ones (such as
Chinese and Polish, the translations sheets have been merged to one so
it's easier for me to update
2015-11-28 00:47:26 -05:00
jays2kings
86079b029e Version 1.4.266
Flash Lightbar when at high latency now has the option to choose what
you decide is high latency
Show Notifications now has the option to only show warnings, such as
when a controller cannot be grabbed exclusively
Speaking of bad news for Windows 10 users: Hide DS4 has now been
disabled, until i can figure out why this is, it will be disabled, this
means some games that rely on this may not work properly or at all,
sorry about that
As for good news for Windows 10, did you know you can press Windows + G
to open a game bar which can record games. For Windows 10 users, there's
a new special action: Xbox Game DVR. Pick a trigger (only one button)
and tapping/holding/or double tapping does various things, such as
start/stop recording, save an ongoing recording, take a screenshot (via
the xbox app's option or your own hotkey ie form steam), or just open
the gamebar
Much of the code has been updated with c# 6.0
Added manifest so DS4Windows can notice Windows 10 and high DPIs, also
reorganized files
2015-07-30 23:34:22 -04:00