Commit graph

66 commits

Author SHA1 Message Date
David Khachaturov
fb90e8172d Changed drivers
- removed HidGuardian, if you need it, read the README
2020-04-11 11:10:18 +01:00
David Khachaturov
146a712c06 - Renamed BetterJoyForCemu to BetterJoy
- Fixed joy-to-joy bug (hopefully last)
 - Added drag toggle
2020-04-08 08:47:36 +01:00
David Khachaturov
77913a8562 - Fixed joycon-to-joycon mapping
- thanks TheZBlock
2020-04-07 18:02:24 +01:00
David Khachaturov
2678c8775e - Fixed age-old bug whereby triggers would be wrongly registered in single-joycon mode 2020-04-07 17:47:24 +01:00
David Khachaturov
cd16154e88 - Hopefully fixed lag introduced in v6 2020-04-07 16:55:06 +01:00
David Khachaturov
33ebf58aa3 - Added option to map joy-to-joy 2020-04-07 16:50:01 +01:00
David Khachaturov
e4c0690306 - Implemented active-gyro button 2020-04-07 16:20:56 +01:00
David Khachaturov
d8352d9b34 - Added added ability to drag when mapping left/right/mouse buttons
- Catching VigemBusNotFound exception
 - Added ability to set button for re-centering the gyro
2020-04-07 14:52:04 +01:00
David Khachaturov
013098f885 - Fixed "reset to default" bug
- Added right-click option on mapping buttons to select joycon buttons (does not yet fire them)
2020-04-07 09:43:51 +01:00
David Khachaturov
1b423d87cc Small Rumble change 2020-04-03 16:31:06 +01:00
David Khachaturov
ca406a99b6 Added special button re-mapping system 2020-04-03 15:53:04 +01:00
David Khachaturov
45baa6360f - Fixed USB high CPU usage (d'oh!)
- Another attempt at fixing USB lag
 - Moved to WindowsInput for mouse movement
 - Linked "Capture" button to Print Screen
2020-04-03 09:19:54 +01:00
David Khachaturov
5e11617fa9 - Probably fixed USB lag?
- Added left-hand mode for mouse movement
- Made Home LED on default
2020-04-02 11:11:02 +01:00
David Khachaturov
e579f4a94e - Added option to use gyro input as mouse
- Changed default of UseHIDG to false
 - Improved start-up and shut-down time
 - Added option to disable motion server
2020-04-02 10:23:48 +01:00
David Khachaturov
2bfc7e5546 Fixed "Apply" not saving settings back to the config prooperly. 2020-01-18 13:47:18 +00:00
Kurt Yilmaz
ac17d06aa0 Snes Support (#205)
* SNES product ID found, logic partially filled. Icon added.

* Bluetooth working, icon working. Wired still laggy.

* Fixed wired connection and stick centering issues
2019-11-10 14:17:23 +00:00
David Khachaturov
5b7f16a876 Merged with master and kept new updates. 2019-10-21 20:31:39 +01:00
David Khachaturov
035820ba11 - Added single-joycon vertical mode.
- Implemented Trozmagon's null check
2019-10-21 20:27:08 +01:00
unknown
9833aa8a53 Added the ability to toggle the HOME button ring LED on and off 2019-06-12 22:08:54 -06:00
spacechase0
759cd66f18 Fix exception when pressing Add Controllers button 2019-05-17 18:28:25 -04:00
David Khachaturov
a12518886c Formatting clean-up and calibration addition cleanup. 2019-04-27 15:21:06 +01:00
xqdoo00o
8c118ccd14 fix app config 2019-04-27 21:22:58 +08:00
xqdoo00o
45a241dcf6 feat for non-original controller 2019-04-27 20:41:50 +08:00
David Khachaturov
c53d00c545
Merge pull request #142 from agustinmorantes/SameLEDs
Same joycon LEDs when joined (thanks agustinmorantes)
2019-04-20 15:03:26 +01:00
Agustin Morantes
d21957c574 Same joycon LEDs when joined 2019-04-20 02:01:49 -03:00
Agustin Morantes
7bbc62d850 Change minimize behavior
Window now fully hides when minimizing instead of appearing as a tool window on the desktop.
2019-04-19 00:51:27 -03:00
David Khachaturov
54a75d722a Clean-up 2019-04-16 15:58:26 +01:00
Tony
0c20cd0d38 update screenshots 2019-04-15 14:19:02 +01:00
Tony
2f87a6f64a Config panel can optionally hide by clicking right arrow 2019-04-15 14:03:18 +01:00
Tony
06c2f2c30b adjust UI 2019-04-14 21:05:47 +01:00
Tony
181aeba71b update README 2019-04-14 17:23:03 +01:00
Tony
de76efe1c0 BetterJoyForCemu v6.1 (based on v6 Nightly)
Automatically enumerate options and enble to control them directly from the UI. Any further options can be supported. -- by StarryTony
2019-04-14 16:49:42 +01:00
David Khachaturov
8200204438 Hides BetterJoy from Alt+Tab when minimised. 2019-04-12 19:42:16 +01:00
David Khachaturov
25d3fdbe20 Separate swap buttons out into swapAB and swapXY.
For https://github.com/huphuphup
2019-04-12 13:52:45 +01:00
Idan Weizman
c0db76d738 Fix stick casting overflow. 2019-03-13 09:30:24 +02:00
David Khachaturov
95f1b2bbde Began implementation of 3rd party controller support 2019-02-03 16:16:00 +00:00
Jun Wu
390313b3da Fix Rumble feature for bluetooth devices
When rumble_obj.t >= 0, SendRumble should be frequently called to make
Rumbling actually work.
2019-02-02 21:47:21 -08:00
David Khachaturov
c8e98cc86e Adjusted wait timing to allow for rumble (seems to not have re-introduced lag; more testing needed)
More joycon joining bug-fixing (more like fixing my bad coding)
2019-02-02 15:52:23 +00:00
David Khachaturov
235aca5f75 Allow for more than 1 pair of joycons to join up (could be buggy)
Change some colours
2019-02-02 15:19:03 +00:00
David Khachaturov
c8e0f93d54 Adjusted previous commit to prevent USB timeout 2019-02-02 14:01:14 +00:00
Jun Wu
5dd969da05 Read Joycon inputs in a non-blocking way
This makes sure ReceiveRaw() won't block forever, so Poll() has chance
to SendRumble().

Practically, it seems the Joycons frequently send inputs so it's not
necessary, at least for the bluetooth version I got.
2019-02-02 01:36:28 -08:00
Jun Wu
85f77cb91c SendRumble less frequently to reduce input lag
I was using two Joycons as a single controller. One (often right, sometimes
both, sometimes left) of the Joycons seems to have random lags.
This patch reliably removes the lag for me.

Potentially fixes #32.

More context:

I first excluded the possibility that the Bluetooth connection is lagging,
because when I click the "locate" button, both Joycons can rumble
immediately without lag.

Reading the existing issues seems to suggest something was wrong with
threading. When I tried moving both Joycons' "Poll" to a single thread,
by calling both ReceiveRaw() and other.ReceiveRaw() in a single Joycon
Poll thread, and removing "lock { ...}"s), lag still exists.

I then suspected the I/O loop is too busy so the code does not have time
to consume events in time. By adding some debug prints, I was able to
confirm that at the time the code receives an event (after hid_read),
it was already too late. However, it is strange that a) hid_read almost
always returns immediately, b) a single "poll" still takes a few
milliseconds. Finally, I found "SendRumble" is the culprit causing
the majority of the few milliseconds delay. Therefore the patch.

The 5 seconds is not a scientific choice. It works for me. I don't have
a USB controller to test it right now.
2019-02-02 01:31:17 -08:00
David Khachaturov
a451fa94fc Added battery indicator in the form of a background colour (Green->Orange->Red->Dark Red->Black) and in UdpServer info.
Improved stick calculations. Thanks eWaster.
2019-01-24 18:28:49 +00:00
David Khachaturov
920a2a049d Added PurgeAffectedDevices option. 2019-01-19 14:47:08 +00:00
Marco Calautti
fa194be3cc Fixed bracket style. 2019-01-12 12:02:39 +00:00
Marco Calautti
72fccace33 Add option from starting the application minimized to tray. Alsso added proper nuget dependency for ViGEmClient. 2019-01-12 12:00:15 +00:00
unknown
95a35e39bd prevent gyro drift on some controllers
On some original Nintendo controllers gyro drift occurs (moves
constantly to the right, for example).

Not dividing the neutral point by 2 seems to fix the problem, and
it doesn't seem to effect other controllers negatively (tested
with 8bitDo N30 pro and SF30 Pro).
2019-01-05 22:52:09 +01:00
David Khachaturov
68b6928d86 Fixed gyro in single joycon mode.
Added tooltip on button.
2018-08-23 16:36:55 +03:00
David Khachaturov
37aba95e81 Added ability to toggle for single/double joycon mode.
Reworked UI further.
Final commit for v5.
2018-08-23 15:48:19 +03:00
David Khachaturov
be3c73bc96 Reworked UI.
Improved USB support.
Improved rumble.

(all in all, the program is becoming actually nice to use)
2018-08-22 12:52:41 +03:00