ksandom / handWavey

A more intuitive/usable desktop control using leapmotion/ultraleap.
https://www.randomksandom.com/handWavey/
GNU General Public License v3.0
20 stars 1 forks source link

Better wayland support #14

Open ksandom opened 2 years ago

ksandom commented 2 years ago

Background

Currently, wayland support is achieved via VNC, which is not a good user-experience (slow, laggy, and requires manual configuration by the user). This ticket is for getting native wayland support out of the box.

Success

Necessary functionality of the solution

Possible leads

libei

libei looks like the most promising possibility so far.

SWT

This comment suggests SWT:

SWT already supports Wayland as it uses GDK/GTK.

Project Wakefield

Project Wakefield is the recently established OpenJDK initiative to implement native Wayland support within Java.

OpenJDK developers have acknowledged this will "take years to fully complete and deliver" their native Wayland support.

I don't know how long it will be until keyboard and mouse control will arrive.

uinput

OpenJDK 19

As at 2022-03-18; OpenJDK 19 is not able to control the mouse and keyboard via AWT in Walyand.

General discussion

ksandom commented 2 years ago

SWT Key mappings are listed at static final int [] [] KeyTable = {.

ksandom commented 2 years ago

I've invested a fair bit of time today experimenting with the SWT option. The premise being that it sounds like it already works in Java via SWT. I didn't get it to work, but would love input to solve it.

For now, unless someone can think of a short-term solution, I think waiting for Wakefield is going to be the best bet. libei appears to be the most likely implementation:

Solution: This will probably be implemented be libEI. However, its shipping time(even estimated) is not yet known.

In the mean time, you can check out the handWavey wayland documentation for the latest information about how to work-around the issue.

ksandom commented 1 year ago

libei recently reached 1.0, and even 1.1 a few weeks ago. So it's going to be worth keeping an eye on this. Things could change very quickly now.