Commit Graph

286 Commits

Author SHA1 Message Date
Travis Nickles
c5dd97ebe5 Preserve minor optimizations before next test 2017-07-13 07:27:25 -05:00
Travis Nickles
c0403fa7ab Add touchpad mouse axis inverting. Related to issue #83. 2017-07-12 22:39:46 -05:00
Travis Nickles
6f069482a2 Minor optimizations 2017-07-12 08:04:37 -05:00
Travis Nickles
b62b490ff1 Allow Disconnect BT special action to work with Sony dongle connections
This might be temporary
2017-06-30 21:29:20 -07:00
Travis Nickles
d74820dbf5 Add rotation routine for LS and RS 2017-06-30 01:42:19 -07:00
Travis Nickles
2fabd860a2 Enable xinput hotplug from a sync change when using Sony dongle 2017-06-29 19:27:08 -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
86816db41a Lower gyro mouse offset 2017-06-27 08:19:55 -07:00
Travis Nickles
49024cddaf Tweak gyro mouse variables 2017-06-26 23:38:01 -07:00
Travis Nickles
64693190f0 Fix gyro mouse coefficient. Change base gyro mouse settings. 2017-06-24 19:09:03 -07:00
Travis Nickles
588c2d4385 Add vertical scale for gyro mouse mode 2017-06-24 02:52:39 -07:00
Travis Nickles
9f554cf6c1 Minor optimization 2017-06-22 09:02:51 -07:00
Travis Nickles
35031f5c5f Double check that mouse remainders are reset when gyro mouse is not active 2017-06-22 07:36:40 -07:00
Travis Nickles
6eb618a934 Lower gyro deadzone value 2017-06-22 06:49:02 -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
162092800e Add deadzone routine to Gyro mouse
Not sure if this will stay
2017-06-21 21:18:15 -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
d6d6f63073 Change some thread priorities 2017-06-19 21:37:08 -07:00
Travis Nickles
328b2dc14c Attempt to smooth out mouse cursor for analog sticks 2017-06-19 08:50:28 -07:00
Travis Nickles
2780dc3ac4 Change thread affinity of x360Bus object 2017-06-18 07:07:48 -07:00
Travis Nickles
1f2f9f16db Minor tweaks to improve responsiveness 2017-06-18 03:20:10 -07:00
Travis Nickles
a473224293 Fix mouse distance offset for negative stick axes 2017-06-17 03:13:33 -07:00
Travis Nickles
2cf33e1bba Test hotplug changes. Change mouse remainder cutoff 2017-06-11 08:15:45 -07:00
Travis Nickles
7bf43f93f5 Revert to using temporary variables for now 2017-06-10 19:58:30 -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
e1efb2bb5b Do not need temp profile index for some properties 2017-06-08 14:38:46 -07:00
Travis Nickles
1c613139ef Use temp arrays to help cache some data 2017-06-08 14:26:50 -07:00
Travis Nickles
63dddf4373 Changes to fix Quick Charge option 2017-06-08 13:52:47 -07:00
Travis Nickles
9a4fc0476e Change property access 2017-06-08 11:09:05 -07:00
Travis Nickles
8f0c5d84ac Define output curve ints in the class instead of using temporary variables 2017-06-08 11:01:14 -07:00
Travis Nickles
751e4f4e7a Add initial output curve options 2017-06-08 00:37:04 -07:00
Travis Nickles
ce0ac4f04a Make sure multi-action button can work with touchpad area button 2017-06-05 01:31:29 -07:00
Travis Nickles
31f1382245 Change when sleep is run for device removal 2017-06-03 15:35:13 -07:00
Travis Nickles
4b0e3dee62 Corrected some control identifiers 2017-06-01 22:58:01 -07:00
Travis Nickles
f7d3d1bf47 Cut off mouse remainders 2017-05-31 14:09:16 -07:00
Travis Nickles
5062e769ec Add initial offset for mouse actions bound to analog sticks
Use magic constant for now. Maybe this will be exposed as a setting
in the future
2017-05-31 13:06:52 -07:00
Travis Nickles
4a642db6e2 Change mouse actions for LS and RS to take poll time into account
Make sure speed stays consistent no matter which connection
type is used
2017-05-31 00:47:13 -07:00
Travis Nickles
0086b953e3 Move lightbar color change to execute later 2017-05-30 15:00:23 -07:00
Travis Nickles
24689aa701 Calculate lightbar color after interacting with ScpVBus 2017-05-29 19:28:21 -07:00
Travis Nickles
ba4bd72755 Minor updates for lightbar dimming 2017-05-27 07:05:46 -07:00
Travis Nickles
c781082425 Add DateTime fields to SpecialAction 2017-05-26 18:57:46 -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
1c6add01eb Change to allow multiple multi-action button actions to work
Related to issue #34
2017-05-22 08:06:20 -07:00
Travis Nickles
aa0e0fce50 Fix index out of bounds error 2017-05-20 18:56:11 -07:00
Travis Nickles
f9de32e184 Use proper index for dinput only flag 2017-05-18 18:16:08 -07:00
Travis Nickles
1e2c57a08a Minor optimizations 2017-05-18 17:51:01 -07:00
Travis Nickles
b3bd007219 Use proper xinput index on hotplug. Fix bad copy paste job 2017-05-18 16:33:37 -07:00
Travis Nickles
1ef0b04dbc Fixed bug with code executing with no user input
This should not be happening in the first place
2017-05-17 10:59:49 -07:00
Travis Nickles
84fdb26d18 Reset old backstore profile values before loading new profile values 2017-05-17 06:11:32 -07:00
Travis Nickles
2b741533bb Minor optimizations 2017-05-17 01:59:09 -07:00
Travis Nickles
1958f082c5 Change battery status change reporting 2017-05-17 00:57:06 -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
b1c640eaa1 Enforce Launch Program with Profile during a hotplug event 2017-05-13 16:47:54 -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
81b54a7dd9 Change plugin and unplug routines with ScpVBus 2017-05-11 06:41:18 -07:00
Travis Nickles
e620dce4b9 Minor clean up 2017-05-09 17:23:51 -07:00
Travis Nickles
7e61f52dd1 Launch new task for Launch Program with Profile 2017-05-09 16:34:56 -07:00
Travis Nickles
0e6514a072 Fixed reverse 360 button mapping generation
Share and Options were not being mapped properly.
Resolves issue #33.
2017-05-09 07:53:10 -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
8b42562aec Alter how Launch Program with Profile works 2017-05-08 22:12:39 -07:00
Travis Nickles
74aa709583 Only use one instance of field mapping in case of multiple multi-action button assignments 2017-05-08 20:06:48 -07:00
Travis Nickles
22ebca3e01 Make sure extra flags are populated in more places for special actions 2017-05-08 07:29:38 -07:00
Travis Nickles
4980cd01dc Fix issue with multi-action button not working
Related to issue #26.
2017-05-08 07:27:41 -07:00
Travis Nickles
5bfd6df2d3 Added max zone settings 2017-05-05 09:13:12 -07:00
Travis Nickles
be27af50d3 Some optimizations. Use reverse mapping array. Skip xinput report in dinput mode. 2017-05-04 08:42:27 -07:00
Travis Nickles
400ba4f293 Fix process starting issue when activating exclusive mode
Only one hotplug request should be processed at a time now.
Hopefully this fixes issues with devices staying disabled
2017-05-01 11:28:07 -07:00
Travis Nickles
4ce52da612 Test minor change of usb device removal 2017-05-01 03:40:37 -07:00
Travis Nickles
d37e0709c0 More log messages. Tweak DisconnectBT. Other minor changes. 2017-05-01 02:29:19 -07:00
Travis Nickles
3f68c9bcb8 Removed usage of some unused namespaces
The only real import one is remove System.Windows.Forms
for non GUI items
2017-04-30 06:42:09 -07:00
Travis Nickles
1821658455 Change event check for newly opened devices 2017-04-30 06:39:09 -07:00
Travis Nickles
242843ab99 Another attempt at fixing Quick Charge to work better for other users
Hotplugging happens quicker now
2017-04-30 02:29:00 -07:00
Travis Nickles
83c7bb7740 Minor optimization for device refreshing and profile switching 2017-04-29 01:19:45 -07:00
Travis Nickles
2cfaee50e5 Corrects problem with old profiles with duplicate actions
Related to issue #24.
2017-04-28 17:19:05 -07:00
Travis Nickles
2fe4a6405d Use zero value for inactive gyro directions 2017-04-28 13:11:37 -07:00
Travis Nickles
9e153fff97 Fixed a couple of issue with gyro mappings 2017-04-28 13:06:58 -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
de1b6b223f Remove use of event in TouchPadOn since the event will be use later 2017-04-26 15:42:28 -07:00
Travis Nickles
508c2b2067 Rename new hotkey option. Some optimizations for Options form. 2017-04-26 14:51:15 -07:00
Travis Nickles
4a159d4216 Make hotkey execution an optional profile setting.
Related to issue #21
2017-04-26 12:43:01 -07:00
Travis Nickles
de0e9a88cb Change device removal event to only hide one device rather than refresh a list 2017-04-26 01:00:05 -07:00
Travis Nickles
2a20350b6b Some minor changes 2017-04-25 20:07:02 -07:00
Travis Nickles
05c94b677b Hopefully correct some behavior for axis to axis mappings 2017-04-25 07:10:36 -07:00
Travis Nickles
2b5ae4fd51 Show 1 based controller indexes in log 2017-04-25 03:36:50 -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
e34e8115ad Fix some button mapping issues. Style changes. Change runStartupPanel 2017-04-24 02:43:56 -07:00
Travis Nickles
bba8af6a63 Work around a couple of null reference problems that might occur 2017-04-23 17:48:13 -07:00
Travis Nickles
8df30a5bbb Change lightbar pulse charging mode to be time dependent 2017-04-22 18:01:31 -07:00
Travis Nickles
064b478683 Fix index out of bounds problem 2017-04-22 08:03:24 -07:00
Travis Nickles
3e4a5c0562 Fixes for Quick Charge mode
Resolves issue #19.
2017-04-22 07:49:01 -07:00
Travis Nickles
3c7aa0d477 Make sure lightbar rainbow mode works properly with multiple devices 2017-04-22 03:31:53 -07:00
Travis Nickles
133d092aab Make lightbar pulse mode time dependent.
Duration might change later. Related to issue #18.
2017-04-22 03:09:11 -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
a11e4c9e6d Fix typo 2017-04-21 20:01:20 -07:00
Travis Nickles
8c02cb7309 Some changes made for lightbar modes 2017-04-21 19:58:27 -07:00
Travis Nickles
03029b32c0 More usage of cached data 2017-04-21 06:29:25 -07:00
Travis Nickles
9173ab72fe Cache control to state field information to speed up some methods 2017-04-21 02:48:13 -07:00
Travis Nickles
32cbd77708 Minor edits to improve readability 2017-04-20 20:09:08 -07:00
Travis Nickles
6c83ca2470 Calculate stick angles for each state change 2017-04-16 02:54:34 -07:00
Travis Nickles
92b4e2da24 Trim more property usage 2017-04-15 23:22:04 -07:00
Travis Nickles
5aff8d95f0 Trim some property usage 2017-04-15 22:15:54 -07:00
Travis Nickles
efeaf852ac Make sure analog to analog controls work as expected 2017-04-15 11:16:13 -07:00
Travis Nickles
269ca4782f Fix drifting mouse around dead zone 2017-04-15 00:07:56 -07:00
Travis Nickles
babed4eaf1 Speed up event detection for options window. Use angle for stick dirs controls instead of using an extra dead zone. 2017-04-14 20:11:48 -07:00
Travis Nickles
9de2f436e5 Make sure remainder is used for mouse movement. Minor changes to mouse movement routine. 2017-04-14 00:55:22 -07:00
Travis Nickles
c0152f58c9 Tweak mouse mapping method 2017-04-13 20:23:44 -07:00
Travis Nickles
d72c8539e9 Change keyboard events to use both vk and scan code. 2017-04-13 19:50:46 -07:00
Travis Nickles
2ca4d8c727 Optimizations for event commit method 2017-04-12 14:55:35 -07:00
Travis Nickles
af3c1c8531 Minor optimizations 2017-04-12 13:54:38 -07:00
Travis Nickles
65e7add5b3 Replace foreach loop for dictionary usage 2017-04-12 01:21:51 -07:00
Travis Nickles
4ea9289a0d Make sure profile loading and saving works for X360Controls actions 2017-04-11 14:56:37 -07:00
Travis Nickles
24865da04b Insert some more DS4Controls ids 2017-04-11 14:02:32 -07:00
Travis Nickles
31303fbb4d Change default DS4 to X360 binding to not use an explicit action 2017-04-11 13:57:39 -07:00
Travis Nickles
935bcb43f2 Change foreach loop to for loop 2017-04-11 01:13:27 -07:00
Travis Nickles
fd2eb0f006 Move if statements around and replace some foreach loops 2017-04-11 00:57:22 -07:00
Travis Nickles
7bb6a6cdbc Skip unneeded string operation that slows down actions 2017-04-10 23:19:24 -07:00
Travis Nickles
4a6f2fc278 Tweak button mapping translation 2017-04-09 10:14:44 -07:00
Travis Nickles
4ae7be8823 Missed one minor optimization before 2017-04-09 00:42:53 -07:00
Travis Nickles
c7231164d9 Refactor some mapping methods 2017-04-09 00:38:33 -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
a6adf886dc More mapping translation speed up 2017-04-08 10:31:59 -07:00
Travis Nickles
a0811aa047 Create cache arrays and group statements to speed up output mapping 2017-04-08 02:00:50 -07:00
Travis Nickles
a1f103c483 Some small changes to the mapping routine 2017-04-07 17:13:19 -07:00
Travis Nickles
1a39c00a01 Fix profile action 2017-04-06 20:13:39 -07:00
Travis Nickles
773b90ebe1 Add details back for multiaction 2017-04-06 19:53:12 -07:00
Travis Nickles
91f36e4297 Fix errors when using multiple special actions 2017-04-06 18:16:12 -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
a85d1a50ab Change clause to use typeID instead of name string 2017-04-02 00:17:48 -07:00
Travis Nickles
03912ef1d5 Small performance change 2017-04-02 00:07:53 -07:00
Travis Nickles
54ffcf0201 Fix issue with actions not executing. Cache information for action execution. 2017-04-01 17:46:51 -07:00
Travis Nickles
2a5ee9abe3 Minor tweaks to speed up action execution 2017-03-31 22:42:10 -07:00
Travis Nickles
9a0966d966 Removed some property usage 2017-03-30 18:00:17 -07:00
Travis Nickles
f56d50c8a5 Remove some more unneeded loops from action detection 2017-03-30 07:07:04 -07:00
Travis Nickles
824a1e019c Faster action detection.
Trimmed a lot of foreach loops that slowed the method down.
2017-03-30 06:14:58 -07:00
Travis Nickles
550a860eaf Add anti-deadzone for L2 and R2. Tweak Options form. 2017-03-30 00:37:01 -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
a2fb603d72 Minor enhancements. Update changelog link. Add sleep period to reEnableDevice method. 2017-03-29 07:26:07 -07:00
Travis Nickles
96090fc857 Merge https://github.com/yonilerner/DS4Windows into jay 2017-03-29 03:06:03 -07:00
Travis Nickles
5ad4e83b58 Add null extras detection when opening button mapping window 2017-03-28 18:41:17 -07:00
Travis Nickles
ac4017fea2 Minor doc 2017-03-28 08:30:22 -07:00