Hi, This patch series features a reworked input layer and sdl2 support.
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. cocoa ui code has been updated, but is totally untested (not even compiled). Would be great if someone with macos hardware can give it a spin, and send fixup patches if needed. 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. please review & test, Gerd 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 [untested] input: mouse: switch cocoa ui to new core [untested] 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 | 81 ++++- 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, 2249 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 -- 1.8.3.1