Closed medape closed 5 years ago
@rmst : This PR simplifies bin/yoke
, removing inheritance & dependency injection that was there. I'm okay with it, but I thought you should be informed.
BTW I don't have write permissions to yoke-android. You can give them to me if you don't want to be bothered later.
Important fix: I've made no changes for Linux, but this branch now works on Windows too. There are still some things to iron out.
It's supposed to work for any Windows from 7 to 10, as it downloads different DLLs and prompts the user to download different installer, depending on OS version and Python machine. Still, I could only test it worked on Windows 10, 64-bit machine, 32-bit Python (why didn't I download a 64-bit Python distribution I'll never know).
It doesn't work as smoothly as in Linux. There's a small but noticeable latency, even when you disable any post-processing on the vJoy driver itself. Also, vJoy follows a very different design from uinput (you can't easily do a translation from uinput events to vJoy fixed axes), so for the moment kernel events are bound to any axis, without regard for meaning or for it being actually enabled.
I don't think I'll be sending any more commits to this branch unless we notice a mistake or something. I suppose this PR is already hard enough to review this as it is; I just felt this was an important and relevant addition.
Please forgive the chaos, I thought this merited a new pull request.
The hardcoded layout in
service.py
is now gone. We can freely choose layouts from the webview.In this version, every time the user presses a button in the webview to choose a layout,
base.js
sends the list with the kernelEvents. Meanwhile,service.py
tests every message to check if it begins with a letter or a number. If it begins with a letter, it tries to interpret the layout, and, upon success, destroys the current vJoy instance and creates another.This PR also includes the changes done in PR #35. As such, it also fulfills the third objective in issue #33.
I've done some very basic tests with
jstest-gtk
and it seems to work, but I'd appreciate you check it and review it.