From 3b5f6f5001d0f3dfde98ccc6b9350fe74dac41f8 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Wed, 11 Nov 2015 10:05:40 -0700 Subject: input: Allow updating of keyboard LEDs Add a function which returns a new keyboard LED value when the LEDs need updating. Signed-off-by: Simon Glass Reviewed-by: Bin Meng --- include/input.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'include/input.h') diff --git a/include/input.h b/include/input.h index c1af259e26..ad120e47f5 100644 --- a/include/input.h +++ b/include/input.h @@ -43,7 +43,8 @@ struct input_config { /* Which modifiers are active (1 bit for each MOD_... value) */ uchar modifiers; uchar flags; /* active state keys (FLAGS_...) */ - uchar leds; /* active LEDS (INPUT_LED_...) */ + uchar leds; /* active LEDs (INPUT_LED_...) */ + uchar leds_changed; /* LEDs that just changed */ uchar num_tables; /* number of modifier tables */ int prev_keycodes[INPUT_BUFFER_LEN]; /* keys held last time */ int num_prev_keycodes; /* number of prev keys */ @@ -161,6 +162,17 @@ void input_set_delays(struct input_config *config, int repeat_delay_ms, */ void input_allow_repeats(struct input_config *config, bool allow_repeats); +/** + * Check if keyboard LEDs need to be updated + * + * This can be called after input_tstc() to see if keyboard LEDs need + * updating. + * + * @param config Input state + * @return -1 if no LEDs need updating, other value if they do + */ +int input_leds_changed(struct input_config *config); + /** * Set up the key map tables * -- cgit v1.2.1