Hi, I am trying to get events to work on a simple project by force sending a keypad click (LV_KEY_RIGHT) to the indev function as below:-
void lv_port_indev_init(void)
{
-
keypad_init();*
-
lv_indev_drv_init(&indev_drv);*
-
indev_drv.type = LV_INDEV_TYPE_KEYPAD;*
-
indev_drv.read_cb = keypad_read;*
-
indev_keypad = lv_indev_drv_register(&indev_drv);*
}
static void keypad_read(lv_indev_drv_t * indev_drv, lv_indev_data_t * data)
{
data->state = LV_INDEV_STATE_PR;
data->key = LV_KEY_RIGHT;
}
I have then made a simple ui in squareline with 2 buttons with 2 events (event trigger is on the back panel itself) from which the 2nd button should change state to pressed when “LV_KEY_RIGHT” is called, but the screen just sits there and doesn’t change state? I have also tried force sending “lv_event_send(&ui_Panel2, LV_KEY_RIGHT , NULL);” and “lv_event_send(&ui_Button2, LV_STATE_PRESSED , NULL);” which still doesn’t change the button state? I am at a loss on how to get input driven events to work on the ui?