Hello?
I need to create 2 events on the same key with two operation like LONG_PRESSED and RELEASE after pressed it. (With precondition no RELEASE event after event of LONG_PRESSED)
I touched several spots like the below, (Custom_board.h, bsp.c, & bsp.h)
But the initialization of “buttons_leds_init()” was failed, so it run repeatedly.
QUESTION,
Creating 2 events based on ONE KEY, Is it possible on KEY input system provided?
Is here anybody who succeed implementing this feature based on KEY input system provided?
@ to assign key event to each Key @ bsp_init in bsp.c
num=0;
err_code = bsp_event_to_button_action_assign(num, BSP_BUTTON_ACTION_RELEASE, BSP_EVENT_KEY_MODE); //Mode change
err_code = bsp_event_to_button_action_assign(num, BSP_BUTTON_ACTION_LONG_PUSH, BSP_EVENT_KEY_EDIT); //Mode edit
err_code = bsp_event_to_button_action_assign(++num, BSP_BUTTON_ACTION_RELEASE, BSP_EVENT_KEY_UP); //UP
err_code = bsp_event_to_button_action_assign(++num, BSP_BUTTON_ACTION_RELEASE, BSP_EVENT_KEY_DN); //Down
err_code = bsp_event_to_button_action_assign(++num, BSP_BUTTON_ACTION_LONG_PUSH, BSP_EVENT_KEY_RST); //Reset
@ for definition of Key Event in bsp.h/c
typedef enum
{
BSP_EVENT_NOTHING = 0, /**< Assign this….*/
….
BSP_EVENT_KEY_RST,
BSP_EVENT_KEY_MODE,
BSP_EVENT_KEY_UP,
BSP_EVENT_KEY_DN,
BSP_EVENT_KEY_EDIT,
…
BSP_EVENT_KEY_LAST = BSP_EVENT_KEY_7,
} bsp_event_t;
@ for definition of HW Key in Custom_board.h
#define BUTTONS_NUMBER 5
#define BUTTON_START 5
#define BUTTON_1 5 <- the same port /w BUTTON_1/4
#define BUTTON_2 6
#define BUTTON_3 8
#define BUTTON_4 5 < <- the same port /w BUTTON_1/4
#define BUTTON_5 28
#define BUTTON_STOP 28
#define BUTTONS_LIST { BUTTON_1, BUTTON_2, BUTTON_3, BUTTON_4, BUTTON_5 }
#define BSP_BUTTON_0 BUTTON_1
#define BSP_BUTTON_1 BUTTON_2
#define BSP_BUTTON_2 BUTTON_3
#define BSP_BUTTON_3 BUTTON_4
#define BSP_BUTTON_4 BUTTON_5