I found an answer to the input/rotation problem using wayland and VNC. Took a lot of digging, and sifting through plenty of unhelpful suggestions. It’s apparently not a bug in wayfire/wayland, but a poorly documented decision with broken defaults (and no indication it’s a problem, except for lots of people posting on the internet with the issue) that has been that way for a while and will probably never be fixed. Good times.
Anyhow, the answer was here:
referring to the documentation at:
The takeaway is that the config file needs to be updated to add a specific section and entry.
For the Devterm (and presumably uConsole), the config file is at:
~/.config/wayfire.ini
And the new lines to include are (specifically for our devices):
[input-device:wlr_virtual_pointer_v1]
output = DSI-1
I don’t think it matters where you put them. I put those lines after the last [input-device …] section in my file.
The section name identifies that we’re talking about the virtual pointer which will get used in VNC (and probably other remote utilities?) And the output entry links it to our physical display, so it does the proper rotation translation based on the settings of the display. Without this config entry, it apparently takes bogus defaults and completely ignores the rotation.
This might be a good thing to add to the image at some point, @Rex. It would only affect people using VNC (and probably other stuff that uses the virtual pointer), but it’s such an obscure fix that it would save time and frustration, even if it’s only for a few folks.
Bonus info:
Along the way, it educated me in wayland stuff a bit, since I was unfamiliar with it. There’s a utility called wlr-randr which is the wayland equivalent of xrandr. Just running it with no params will show the name of your display and various properties.
But you can also change the resolution, orientation, and scale with it. It won’t hurt your physical display to change these values, but it will affect how the screen is shown and can be cut off, etc. When remoting in with VNC, you can use it to get a larger display than the usual 1280x480.
This gives extra height and sets it to a more standard display mode (on the device itself, the top half of the screen won’t show).
wlr-randr --output DSI-1 --custom-mode 720x1280
or go full HD with
wlr-randr --output DSI-1 --custom-mode 1080x1920
I didn’t find --scale to be very useful, but it applies the scale to both width and height equally. If you want to zoom in you can go with something like
wlr-randr --output DSI-1 --custom-mode 1080x1920 --scale 1.5
or zoom out with something like
wlr-randr --output DSI-1 --custom-mode 1080x1920 --scale .75
In any case, putting those missing lines in the config file did the trick, and would probably be helpful for others.