[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 3/6] sdl2: track kbd modifier state unconditionally
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PULL 3/6] sdl2: track kbd modifier state unconditionally |
Date: |
Mon, 9 Apr 2018 11:40:57 +0200 |
For both grapical and text consoles.
Signed-off-by: Gerd Hoffmann <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>
---
ui/sdl2-input.c | 39 +++++++++++++++++++++------------------
1 file changed, 21 insertions(+), 18 deletions(-)
diff --git a/ui/sdl2-input.c b/ui/sdl2-input.c
index 35d35c14c4..8d0d9ba17c 100644
--- a/ui/sdl2-input.c
+++ b/ui/sdl2-input.c
@@ -60,23 +60,7 @@ void sdl2_process_key(struct sdl2_console *scon,
qcode = qemu_input_map_usb_to_qcode[ev->keysym.scancode];
- if (!qemu_console_is_graphic(con)) {
- if (ev->type == SDL_KEYDOWN) {
- switch (ev->keysym.scancode) {
- case SDL_SCANCODE_RETURN:
- kbd_put_keysym_console(con, '\n');
- break;
- case SDL_SCANCODE_BACKSPACE:
- kbd_put_keysym_console(con, QEMU_KEY_BACKSPACE);
- break;
- default:
- kbd_put_qcode_console(con, qcode, false);
- break;
- }
- }
- return;
- }
-
+ /* modifier state tracking */
switch (ev->keysym.scancode) {
#if 0
case SDL_SCANCODE_NUMLOCKCLEAR:
@@ -99,8 +83,27 @@ void sdl2_process_key(struct sdl2_console *scon,
} else {
modifiers_state[ev->keysym.scancode] = 1;
}
- /* fall though */
+ break;
default:
+ /* nothing */
+ break;
+ }
+
+ if (!qemu_console_is_graphic(con)) {
+ if (ev->type == SDL_KEYDOWN) {
+ switch (ev->keysym.scancode) {
+ case SDL_SCANCODE_RETURN:
+ kbd_put_keysym_console(con, '\n');
+ break;
+ case SDL_SCANCODE_BACKSPACE:
+ kbd_put_keysym_console(con, QEMU_KEY_BACKSPACE);
+ break;
+ default:
+ kbd_put_qcode_console(con, qcode, false);
+ break;
+ }
+ }
+ } else {
qemu_input_event_send_key_qcode(con, qcode,
ev->type == SDL_KEYDOWN);
}
--
2.9.3
- [Qemu-devel] [PULL 0/6] Ui 20180409 patches, Gerd Hoffmann, 2018/04/09
- [Qemu-devel] [PULL 4/6] sdl2: enable ctrl modifier keys for text consoles, Gerd Hoffmann, 2018/04/09
- [Qemu-devel] [PULL 6/6] sdl2: drop dead code, Gerd Hoffmann, 2018/04/09
- [Qemu-devel] [PULL 2/6] ui: add ctrl modifier support to kbd_put_qcode_console(), Gerd Hoffmann, 2018/04/09
- [Qemu-devel] [PULL 3/6] sdl2: track kbd modifier state unconditionally,
Gerd Hoffmann <=
- [Qemu-devel] [PULL 5/6] sdl2: drop QEMU_KEY_BACKSPACE special case, Gerd Hoffmann, 2018/04/09
- [Qemu-devel] [PULL 1/6] sdl2: Remove unused epoxy include, Gerd Hoffmann, 2018/04/09
- Re: [Qemu-devel] [PULL 0/6] Ui 20180409 patches, Peter Maydell, 2018/04/09