qemu-patch-raspberry4/include
Gerd Hoffmann e0d2bd5195 input: linux evdev support
This patch adds support for reading input events directly from linux
evdev devices and forward them to the guest.  Unlike virtio-input-host
which simply passes on all events to the guest without looking at them
this will interpret the events and feed them into the qemu input
subsystem.

Therefore this is limited to what the qemu input subsystem and the
emulated input devices are able to handle.  Also there is no support for
absolute coordinates (tablet/touchscreen).  So we are talking here about
basic mouse and keyboard support.

The advantage is that it'll work without virtio-input drivers in the
guest, the events are delivered to the usual ps/2 or usb input devices
(depending on what the machine happens to have).  And for keyboards
qemu is able to switch the keyboard between guest and host on hotkey.
The hotkey is hard-coded for now (both control keys), initialy the
guest owns the keyboard.

Probably most useful when assigning vga devices with vfio and using a
physical monitor instead of vnc/spice/gtk as guest display.

Usage:  Add '-input-linux /dev/input/event<nr>' to the qemu command
line.  Note that udev has rules which populate /dev/input/by-{id,path}
with static names, which might be more convinient to use.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 1457087116-4379-2-git-send-email-kraxel@redhat.com
2016-03-08 12:20:11 +01:00
..
block include: Clean up includes 2016-02-23 12:43:05 +00:00
crypto include: Clean up includes 2016-02-23 12:43:05 +00:00
disas disas: Add print_insn to disassemble info 2015-07-09 15:20:40 +02:00
exec * Asynchronous dump-guest-memory from Peter 2016-02-25 15:30:57 +00:00
fpu include: Clean up includes 2016-02-23 12:43:05 +00:00
hw arm: boot: Support big-endian elfs 2016-03-04 11:30:21 +00:00
io include: Clean up includes 2016-02-23 12:43:05 +00:00
libdecnumber include: Clean up includes 2016-02-23 12:43:05 +00:00
migration migration (ordinary): move bdrv_invalidate_cache_all of of coroutine context 2016-02-26 20:39:50 +05:30
monitor qom: add helpers for UserCreatable object types 2016-02-16 17:12:57 +01:00
net include: Clean up includes 2016-02-23 12:43:05 +00:00
qapi include: Clean up includes 2016-02-23 12:43:05 +00:00
qemu typedefs: Add CPUState 2016-03-01 13:27:09 +00:00
qom typedefs: Add CPUState 2016-03-01 13:27:09 +00:00
standard-headers linux-headers: update from kvm/next 2015-12-17 15:24:34 +01:00
sysemu rng: add request queue support to rng-random 2016-03-03 17:42:26 +05:30
ui input: linux evdev support 2016-03-08 12:20:11 +01:00
config.h include: Clean up includes 2016-02-23 12:43:05 +00:00
elf.h include: Clean up includes 2016-02-23 12:43:05 +00:00
glib-compat.h glib: add compatibility interface for g_hash_table_add() 2015-10-30 09:01:03 +01:00
qemu-common.h * Asynchronous dump-guest-memory from Peter 2016-02-25 15:30:57 +00:00
qemu-io.h qemu-io: Use BlockBackend 2015-02-16 15:07:19 +00:00
qjson.h QJSON: Add JSON writer 2015-02-05 17:16:14 +01:00
trace-tcg.h trace: [tcg] Generate TCG tracing routines 2014-08-12 14:26:12 +01:00
trace.h trace: [tcg] Include event definitions in "trace.h" 2014-08-12 14:26:12 +01:00