Hi, The input layer moves to a model modeled roughly after the linux event layer. It also uses qapi to create all the data types needed. First, because it is convinient to have all the support code generated, and also to make it easier to integrate with qmp some day.
Porting work has only be done on the UI side so far. Input device emulation is still to be done. SDL2 consists of dave's original patch with a bunch of cleanups on top. Some of the cleanups depend on the new input layer code, thus the incremental patches are sprinkled all over the patch series for bisectability reasons. v2 fixes a few minor nits pointed out in v1 review. Pull request has the cocoa build fix from Peter squashed in and is otherwise identical to v2. please pull, Gerd The following changes since commit 0169c511554cb0014a00290b0d3d26c31a49818f: Merge remote-tracking branch 'qemu-kvm/uq/master' into staging (2014-01-24 15:52:44 -0800) are available in the git repository at: git://git.kraxel.org/qemu tags/pull-input-1 for you to fetch changes up to 19f3059690bbb1ca6af8277bf262e4b9aea13f8f: input: remove index_from_keycode (no users) (2014-01-28 10:47:54 +0100) ---------------------------------------------------------------- Input layer rewrite. SDL2 support. ---------------------------------------------------------------- Dave Airlie (1): ui/sdl2 : initial port to SDL 2.0 (v2.0) Gerd Hoffmann (41): sdl2: baum build fix sdl2: remove text console logic console: export QemuConsole index,width,height input: rename file to legacy input: qapi: define event types input: qapi: add unmapped key input: qapi: add pause key input: add core bits of the new input layer input: keyboard: add helper functions to core input: keyboard: switch legacy handlers to new core input: keyboard: switch qmp_send_key() to new core. input: keyboard: switch gtk ui to new core input: keyboard: switch sdl ui to new core sdl2: switch keyboard handling to new core input: keyboard: switch vnc ui to new core input: keyboard: switch spice ui to new core input: keyboard: switch curses ui to new core input: mouse: add helpers functions to core input: mouse: add graphic_rotate support input: mouse: add qemu_input_is_absolute() input: mouse: switch legacy handlers to new core input: mouse: switch gtk ui to new core input: mouse: switch sdl ui to new core sdl2: switch mouse handling to new core input: mouse: switch vnc ui to new core input: mouse: switch spice ui to new core input: mouse: switch monitor to new core input: keyboard: switch cocoa ui to new core input: mouse: switch cocoa ui to new core input: trace events input-legacy: remove kbd_put_keycode input-legacy: remove kbd_mouse_has_absolute input-legacy: remove kbd_mouse_is_absolute input-legacy: remove kbd_mouse_event input: move mouse mode notifier to new core input: add input_mouse_mode tracepoint sdl2: simplify keymap handling sdl2: codestyle fixups input: move qmp_query_mice to new core input: move do_mouse_set to new core input: remove index_from_keycode (no users) backends/baum.c | 4 +- configure | 23 +- include/ui/console.h | 16 +- include/ui/input.h | 56 ++++ monitor.c | 31 +- qapi-schema.json | 83 +++++- trace-events | 9 + ui/Makefile.objs | 6 +- ui/cocoa.m | 81 +++-- ui/console.c | 24 ++ ui/curses.c | 47 +-- ui/gtk.c | 77 ++--- ui/input-legacy.c | 453 ++++++++++++++++++++++++++++ ui/input.c | 684 +++++++++++++++--------------------------- ui/sdl.c | 114 ++++--- ui/sdl2-keymap.h | 266 +++++++++++++++++ ui/sdl2.c | 829 +++++++++++++++++++++++++++++++++++++++++++++++++++ ui/sdl_keysym.h | 3 +- ui/spice-input.c | 84 ++++-- ui/vnc.c | 71 ++--- ui/vnc.h | 1 + 21 files changed, 2251 insertions(+), 711 deletions(-) create mode 100644 include/ui/input.h create mode 100644 ui/input-legacy.c create mode 100644 ui/sdl2-keymap.h create mode 100644 ui/sdl2.c