This branch fixes a couple bugs, but the most notable changes are:
Style for joysticks, D-pad and buttons is completely improved, the background for the webpage is now blue, and the thirty-something images for buttons are compacted into just two thanks to an SVG technique I found a while back. It resembles vaguely the old Yoke Classic style. The code for buttons is also simpler because it deletes some weird decisions I took months ago.
The calibration screen is gone; base.js just checks if the screen has pressure detection support at all, and then loads a default configuration. I'll look over our brainstorming about exposing configuration to users when I find the time.
Added support for thumb joystick button, as found on every standard game controller since the PSOne: you can press the joystick down to push L3 or R3. This is simulated by exerting more force with the thumb (force threshold will be configurable as well), or if no force can be measured, by using the joystick with two fingers instead of one (which is objectively terrible but I couldn't think of a better solution that didn't amount to just separating the button from the joystick).
This last change allowed me to change the gamepad layout to something resembling much more closely an X-Box controller. (Labels and colours intentionally don't match X-Box but they're trivial to change.)
In spite of the name of the branch, this doesn't add direct support for XInput games; games that specifically search for XInput or DirectInput devices (like Genshin Impact) won't be able to use vJoy, and I still haven't found a good solution for this. The one I've been testing now (chaining Yoke output to X360CE) adds latency, probably because of misconfiguration or because of having to install several device emulators.
Despite this, #57 has been fixed since #58: there is no noticeable input lag from the phone to the vJoy Monitor, nor from the phone to jstest-gtk.
Comments should be self-explanatory.
This branch fixes a couple bugs, but the most notable changes are:
Style for joysticks, D-pad and buttons is completely improved, the background for the webpage is now blue, and the thirty-something images for buttons are compacted into just two thanks to an SVG technique I found a while back. It resembles vaguely the old Yoke Classic style. The code for buttons is also simpler because it deletes some weird decisions I took months ago.
The calibration screen is gone;
base.js
just checks if the screen has pressure detection support at all, and then loads a default configuration. I'll look over our brainstorming about exposing configuration to users when I find the time.Added support for thumb joystick button, as found on every standard game controller since the PSOne: you can press the joystick down to push L3 or R3. This is simulated by exerting more force with the thumb (force threshold will be configurable as well), or if no force can be measured, by using the joystick with two fingers instead of one (which is objectively terrible but I couldn't think of a better solution that didn't amount to just separating the button from the joystick).
This last change allowed me to change the gamepad layout to something resembling much more closely an X-Box controller. (Labels and colours intentionally don't match X-Box but they're trivial to change.)
In spite of the name of the branch, this doesn't add direct support for XInput games; games that specifically search for XInput or DirectInput devices (like Genshin Impact) won't be able to use vJoy, and I still haven't found a good solution for this. The one I've been testing now (chaining Yoke output to X360CE) adds latency, probably because of misconfiguration or because of having to install several device emulators.
Despite this, #57 has been fixed since #58: there is no noticeable input lag from the phone to the vJoy Monitor, nor from the phone to
jstest-gtk
.(Edited to remove repeated words.)