diff options
author | Peter Maydell | 2018-02-22 15:44:42 +0100 |
---|---|---|
committer | Peter Maydell | 2018-02-22 15:44:42 +0100 |
commit | 0ce9cb913e32d7efed64dc1191a7a490d97cf56e (patch) | |
tree | 6f4031e47f540b0c3e7a6543b860f261a1384433 /ui/keymaps.h | |
parent | Merge remote-tracking branch 'remotes/mcayland/tags/qemu-openbios-signed' int... (diff) | |
parent | keymap: consider modifier state when picking a mapping (diff) | |
download | qemu-0ce9cb913e32d7efed64dc1191a7a490d97cf56e.tar.gz qemu-0ce9cb913e32d7efed64dc1191a7a490d97cf56e.tar.xz qemu-0ce9cb913e32d7efed64dc1191a7a490d97cf56e.zip |
Merge remote-tracking branch 'remotes/kraxel/tags/ui-20180222-pull-request' into staging
ui: reverse keymap improvements.
sdl2: hotkey fix.
opengl: dmabuf fixes.
# gpg: Signature made Thu 22 Feb 2018 10:22:58 GMT
# gpg: using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
# gpg: aka "Gerd Hoffmann <gerd@kraxel.org>"
# gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
# Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138
* remotes/kraxel/tags/ui-20180222-pull-request:
keymap: consider modifier state when picking a mapping
keymap: record multiple keysym -> keycode mappings
keymap: numpad keysyms and keycodes are fixed
keymap: use glib hash for kbd_layout_t
keymap: make struct kbd_layout_t private to ui/keymaps.c
egl-helpers: add alpha channel to texture format
egl-headless: cursor_dmabuf: handle NULL cursor
console/opengl: split up dpy_gl_cursor ops
sdl2: fix hotkey keyup
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'ui/keymaps.h')
-rw-r--r-- | ui/keymaps.h | 30 |
1 files changed, 7 insertions, 23 deletions
diff --git a/ui/keymaps.h b/ui/keymaps.h index 8757465529..0693588225 100644 --- a/ui/keymaps.h +++ b/ui/keymaps.h @@ -32,25 +32,6 @@ typedef struct { int keysym; } name2keysym_t; -struct key_range { - int start; - int end; - struct key_range *next; -}; - -#define MAX_NORMAL_KEYCODE 512 -#define MAX_EXTRA_COUNT 256 -typedef struct { - uint16_t keysym2keycode[MAX_NORMAL_KEYCODE]; - struct { - int keysym; - uint16_t keycode; - } keysym2keycode_extra[MAX_EXTRA_COUNT]; - int extra_count; - struct key_range *keypad_range; - struct key_range *numlock_range; -} kbd_layout_t; - /* scancode without modifiers */ #define SCANCODE_KEYMASK 0xff /* scancode without grey or up bit */ @@ -69,10 +50,13 @@ typedef struct { #define SCANCODE_ALT 0x400 #define SCANCODE_ALTGR 0x800 +typedef struct kbd_layout_t kbd_layout_t; -void *init_keyboard_layout(const name2keysym_t *table, const char *language); -int keysym2scancode(void *kbd_layout, int keysym); -int keycode_is_keypad(void *kbd_layout, int keycode); -int keysym_is_numlock(void *kbd_layout, int keysym); +kbd_layout_t *init_keyboard_layout(const name2keysym_t *table, + const char *language); +int keysym2scancode(kbd_layout_t *k, int keysym, + bool shift, bool altgr, bool ctrl); +int keycode_is_keypad(kbd_layout_t *k, int keycode); +int keysym_is_numlock(kbd_layout_t *k, int keysym); #endif /* QEMU_KEYMAPS_H */ |