unleashed-firmware/applications/input/input.h
gornekich 78ff0c9fca
[FL-938] Keyboard widget changes (#398)
* inputs: add repeat event
* byte_input: change draw
* text_input, byte_input: process repeat event
2021-04-01 20:10:12 +03:00

20 lines
715 B
C

#pragma once
#include <api-hal-resources.h>
/* Input Types
* Some of them are physical events and some logical
*/
typedef enum {
InputTypePress, /* Press event, emitted after debounce */
InputTypeRelease, /* Release event, emitted after debounce */
InputTypeShort, /* Short event, emitted after InputTypeRelease done withing INPUT_LONG_PRESS interval */
InputTypeLong, /* Long event, emmited after INPUT_LONG_PRESS interval, asynchronouse to InputTypeRelease */
InputTypeRepeat, /* Repeat event, emmited with INPUT_REPEATE_PRESS period after InputTypeLong event */
} InputType;
/* Input Event, dispatches with PubSub */
typedef struct {
InputKey key;
InputType type;
} InputEvent;