handWavey icon indicating copy to clipboard operation
handWavey copied to clipboard

Better wayland support

Open ksandom opened this issue 2 years ago • 3 comments

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

  • General
    • [ ] handWavey works in wayland without needing something like VNC/RDP/Synergy etc.
  • If configuration is needed for the user to enable it:
    • [ ] Make it as easy as possible to get it going.
    • [ ] Document what configuration is needed.
  • Testing: All of the following should still work out of the box:
    • [ ] Windows.
    • [ ] X
    • [ ] MacOS.
  • Follow-up
    • [ ] Create a ticket for auto-detecting wayland so that the correct control mechanism can be used.

Necessary functionality of the solution

  • Mouse
    • Set mouse location.
    • Set button down.
    • Set button up.
    • Scroll +/-.
  • Keyboard
    • Set key down.
    • Set key up.

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 avatar Mar 18 '22 11:03 ksandom