Replies: 2 comments 1 reply
-
@Benni77 thanks for raising that discussion. I misread that, the PR deals with swap-xy and not the invert. I will check your suggestion then. |
Beta Was this translation helpful? Give feedback.
0 replies
-
@Benni77 I created an issue from this discussion and submitted a PR that should fix your issue: |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I'm wondering if this is a bug with request for confirmation before I open an issue:
I'm using a gc9a01 display with CST816S touch controller with lvgl.
When I use the lvgl Dropdown Widget the selection of the list options is not working correctly.
Digging into it made me realize this only happens if
invert-x
orinvert-y
(propably withswap-xy
as well) configuration is activated in zephyr,lvgl-pointer-input device:So i digged deeper:
In the input drivers input_cst816s.c processing function (cst816s_process()) a input is reported on release of the touch device in the else statement:
Now in the
lvgl_pointer_process_event()
function in the lvgl_pointer_input.c file the coordinates of the input event get inverted:Problem: Since this inversion also happens on the "RELEASE" event without new coordinates passed by the input device this results in a double inversion of the last coordinates: First when new coordinates are passed, second when "RELEASE" is passed.
Result: Since the Dropdown widget uses the double inverted coordinates from the "RELEASE" event, this unfortunately results in a malfunction of the widget. The list items can not be selected correctly.
For me it looks like a bug in the
lvgl_pointer_process_event()
function, which should not invert on "RELEASE" event, what do you guys think?Cheers
Benjamin
Beta Was this translation helpful? Give feedback.
All reactions