qemu-cr16/ui
Gerd Hoffmann 47ddfab18a kbd-state: add keyboard state tracker
Now that most user interfaces are using QKeyCodes it is easier to have
common keyboard code useable by all user interfaces.

This patch adds helper code to track the state of all keyboard keys,
using a bitmap indexed by QKeyCode.  Modifier state is tracked too,
as separate bitmap.  That makes checking modifier state easier.
Likewise we can easily apply special handling for capslock & numlock
(toggles on keypress) and ctrl + shift (we have two keys for that).

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20190122092814.14919-2-kraxel@redhat.com

[ kraxel: added license boilerplate header ]

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
2019-02-05 10:45:44 +01:00
..
icons ui: install logo icons to $prefix/share/icons 2019-01-21 09:43:13 +01:00
keycodemapdb@6b3d716e2b ui: update keycodemapdb to get py3 fixes 2018-02-05 19:53:55 -02:00
shader opengl: add flipping vertex shader 2017-10-17 10:25:42 +02:00
cocoa.m ui/cocoa.m: Fix macOS 10.14 deprecation warnings 2019-02-05 09:59:50 +01:00
console-gl.c ui: use QEMU_IS_ALIGNED macro 2017-11-10 14:27:29 +01:00
console.c qemu/queue.h: simplify reverse access to QTAILQ 2019-01-11 15:46:55 +01:00
curses.c ui: Convert vnc_display_init(), init_keyboard_layout() to Error 2018-10-19 14:51:34 +02:00
curses_keys.h
cursor.c qxl: support mono cursors with inverted colors 2018-09-27 08:10:07 +02:00
cursor_hidden.xpm
cursor_left_ptr.xpm
egl-context.c Add gles support to egl-helpers, wire up in egl-headless and gtk. 2018-06-26 13:48:49 +02:00
egl-headless.c ui/egl-helpers: Augment parameter list of egl_texture_blend() to convey scales of viewport 2019-02-05 10:45:44 +01:00
egl-helpers.c ui/egl-helpers: Augment parameter list of egl_texture_blend() to convey scales of viewport 2019-02-05 10:45:44 +01:00
gtk-egl.c ui/egl-helpers: Augment parameter list of egl_texture_blend() to convey scales of viewport 2019-02-05 10:45:44 +01:00
gtk-gl-area.c ui: opengl updates for dma-buf support. 2017-10-19 12:09:53 +01:00
gtk.c ui: listen for GDK_SMOOTH_SCROLL events 2019-02-05 09:53:49 +01:00
input-keymap.c ui: darwin: gtk: Add missing input keymap 2018-06-14 09:52:23 +02:00
input-legacy.c ui: use local path for local headers 2018-06-01 19:20:38 +03:00
input-linux.c input-linux: customizable grab toggle keys 2019-01-24 10:42:38 +01:00
input.c input: avoid malloc for mouse events 2019-01-14 11:04:35 +00:00
kbd-state.c kbd-state: add keyboard state tracker 2019-02-05 10:45:44 +01:00
keymaps.c keymaps: drop support for include files 2019-01-10 08:55:31 +01:00
keymaps.h avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
Makefile.objs kbd-state: add keyboard state tracker 2019-02-05 10:45:44 +01:00
qemu-pixman.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
qemu-x509.h
qemu.desktop ui: fix icon display for GTK frontend under GNOME Shell with Wayland 2019-01-21 09:43:13 +01:00
sdl2-2d.c sdl2: Support all virtio-gpu formats 2018-10-12 14:46:24 +02:00
sdl2-gl.c sdl2: redraw correctly when scanout_mode enabled. 2018-08-24 08:40:10 +02:00
sdl2-input.c sdl2: drop dead code 2018-04-09 10:40:47 +02:00
sdl2.c sdl: add support for high resolution window icon 2019-01-21 09:43:13 +01:00
shader.c opengl: add flipping vertex shader 2017-10-17 10:25:42 +02:00
spice-core.c spice: Remove unused include 2019-01-10 08:55:36 +01:00
spice-display.c ui/egl-helpers: Augment parameter list of egl_texture_blend() to convey scales of viewport 2019-02-05 10:45:44 +01:00
spice-input.c ui: use local path for local headers 2018-06-01 19:20:38 +03:00
trace-events console: minimal hotplug suport 2018-03-13 11:17:29 -06:00
vgafont.h
vnc-auth-sasl.c ui: extend VNC trottling tracing to SASL codepaths 2018-02-16 12:33:02 +01:00
vnc-auth-sasl.h ui: mix misleading comments & return types of VNC I/O helper methods 2018-01-12 13:48:54 +01:00
vnc-auth-vencrypt.c qio: non-default context for TLS handshake 2018-03-06 10:19:07 +00:00
vnc-auth-vencrypt.h
vnc-enc-hextile-template.h
vnc-enc-hextile.c
vnc-enc-tight.c ui/vnc: Remove useless parenthesis around DIV_ROUND_UP macro 2018-08-24 08:40:11 +02:00
vnc-enc-tight.h
vnc-enc-zlib.c
vnc-enc-zrle.c rename included C files to foo.inc.c, remove osdep.h 2018-05-11 14:33:40 +02:00
vnc-enc-zrle.h
vnc-enc-zrle.inc.c rename included C files to foo.inc.c, remove osdep.h 2018-05-11 14:33:40 +02:00
vnc-enc-zywrle-template.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
vnc-enc-zywrle.h
vnc-jobs.c vnc: fix memleak of the "vnc-worker-output" name 2018-08-24 08:40:10 +02:00
vnc-jobs.h
vnc-palette.c
vnc-palette.h Include qapi/qmp/qlist.h exactly where needed 2018-02-09 13:52:15 +01:00
vnc-stubs.c vnc: add qapi/error.h include to stubs 2018-02-16 12:23:21 +01:00
vnc-ws.c qio: non-default context for TLS handshake 2018-03-06 10:19:07 +00:00
vnc-ws.h
vnc.c vnc: detect and optimize pageflips 2019-01-21 09:43:13 +01:00
vnc.h qapi: add conditions to VNC type/commands/events on the schema 2018-07-03 18:38:54 +02:00
vnc_keysym.h
x_keymap.c ui: fix keymap detection under Xwayland 2018-04-10 11:21:54 +02:00
x_keymap.h ui: convert GTK and SDL1 frontends to keycodemapdb 2018-01-25 15:02:00 +01:00