diff options
author | Peter Mamonov <pmamonov@gmail.com> | 2016-02-25 13:05:18 +0300 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-02-26 07:52:17 +0100 |
commit | d7d0c7a0bb6cc3d9888a67ea6ebab10bd66350a5 (patch) | |
tree | b733ad54bad05ccd356df10349ad543b112c8aca /drivers/input | |
parent | fc5af2afc5d538c6d5820188043893fc1be40565 (diff) | |
download | barebox-d7d0c7a0bb6cc3d9888a67ea6ebab10bd66350a5.tar.gz barebox-d7d0c7a0bb6cc3d9888a67ea6ebab10bd66350a5.tar.xz |
input: usb keyboard: fix CTRL+ combinations
Signed-off-by: Peter Mamonov <pmamonov@gmail.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Trent Piepho <tpiepho@kymetacorp.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/input')
-rw-r--r-- | drivers/input/input.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/input/input.c b/drivers/input/input.c index ad7400fe4a..31a9c22113 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c @@ -18,6 +18,7 @@ #include <linux/bitmap.h> #include <input/keyboard.h> #include <dt-bindings/input/linux-event-codes.h> +#include <readkey.h> static LIST_HEAD(input_consumers); @@ -164,7 +165,10 @@ static void input_console_notify(struct input_notifier *in, if (ic->modstate[4] || ic->modstate[5]) modstate |= 1 << 2; - if (modstate & (1 << 0)) + if (modstate & (1 << 1)) { + ascii = keycode_bb_keys[ev->code]; + ascii = ascii >= 'a' ? CTL_CH(ascii) : 0; + } else if (modstate & (1 << 0)) ascii = keycode_bb_shift_keys[ev->code]; else ascii = keycode_bb_keys[ev->code]; |