Using unl0kr on device with panel mounted by 270 degrees, specifying panel rotation in dts, it should be correctly rotated. It can be detected with panel orientation property from drm connector
It would also be nice to have (i.e. not "required") some mechanism to auto-rotate (based on sensors) and/or manually toggle orientation in the app itself at runtime.
Buffyboard has a CLI switch to specify the screen rotation that we could probably port easily.
By Johannes Marbach on 2023-11-28T21:02:53
Administratorchanged title from doesn't take into account panel orientation property from drm connector to Doesn't take into account panel orientation property from drm connector·
Imported
changed title from doesn't take into account panel orientation property from drm connector to Doesn't take into account panel orientation property from drm connector
while trying to figure out how it will be hard to add gamepad input device support to buffyboard, i've found that even if on my device, where screen physically is rotated by 270deg, tty itself is oriented properly, pointer input is misbehaving (vertical touchpad movement on external keyboard moves cursor horizontally and vice versa)
in my opinion may be related to this issue, as additional step to check if tty already rotated, and then translate somehow pointer movement events
Oh a gamepad, interesting! This might need upstream support in lvgl actually. I suspect it shows up as a keyboard with weird buttons in libinput and you want it to act as an arrow-key-controllable pointer device? If you want to pursue this, it should probably be a separate issue though as I said it might require upstream support.
Re the rotation, this sounds like an upstream bug, too. Buffyboard only passes the rotation selected via the CLI arguments through to unl0kr (see here). What you're describing sounds as if the rotation is not taking effect in either the framebuffer display driver or the libinput driver. But both of these live upstream in https://github.com/lvgl/lvgl. Could you report it there as a next step?
Buffyboard only passes the rotation selected via the CLI arguments through to unl0kr (see here). What you're describing sounds as if the rotation is not taking effect in either the framebuffer display driver or the libinput driver.
I don't think CLI parameter is any how related to this issue. The problem is drm orientation parameter is not taken into account.
Kernel passes these to userspace as drm orientation property at drm connector, and userspace is expected to read this and perform the transformation automatically (not manually with CLI)
I think you're misunderstanding what I said. I was referring to the comment I replied to that described a mismatch between the display orientation and the input driver orientation. All that buffyboard currently does in terms of rotation is route a CLI flag through to the method that LVGL exposes to control rotation. Therefore, a mismatch of the orientations appears to be a problem in LVGL rather than buffyboard.
I started going down the path of making a workaround that distros could use to force the display rotation on devices where it's wrong and it's really only ever going to be one particular way (e.g. https://gitlab.com/postmarketOS/pmaports/-/issues/2955)