eez-open / studio

Cross-platform low-code GUI and automation
https://www.envox.eu/studio/studio-introduction/
GNU General Public License v3.0
540 stars 92 forks source link

[LVGL] Encoder navigation issues in the simulator #569

Closed zalexzperez closed 2 weeks ago

zalexzperez commented 3 weeks ago

To make it clearer for future readers: Encoder = mouse wheel. Encoder button: middle mouse-wheel button.

Found problems:

1) Slider widget in edit mode: if value was not changed after entering the edit mode, it's not possible to return to navigate mode by pressing on the encoder button.

2) Once right out of edit mode, if you press on the encoder button to return to edit mode, it's not possible unless we refocus on the slider by focusing on another object first.

3) Suppose you are focusing on a button and encoder button is hold-pressed, LV_INDEV_STATE_PRESSED is presumably set, the button gets in the FOCUS-KEY state. Once released, nothing happens; button is still pressed. But, if we rotate the encoder to focus on another group object, then that seems to finally set a LV_INDEV_STATE_RELEASED state because the button is unpressed and the action is performed.

In conclusion, all three issues are fixed/prevented by rotating the encoder.

Edit: There's an extra issue. Encoder navigation not possible inside dropdown list.

mvladic commented 2 weeks ago

Fixed.