* [Qemu-devel] [PULL for-2.4 0/2] virtio-input: add input routing support, update multiseat docs.
@ 2015-07-03 10:46 Gerd Hoffmann
2015-07-03 10:46 ` [Qemu-devel] [PULL 1/2] virtio-input: add input routing support Gerd Hoffmann
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Gerd Hoffmann @ 2015-07-03 10:46 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Hi,
Input queue pull request, with a small patch adding input routing
support to virtio-input, and a docs update.
please pull,
Gerd
The following changes since commit 6686ce3f1628f045035d58db8890d20705fd5c34:
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging (2015-07-02 10:44:34 +0100)
are available in the git repository at:
git://git.kraxel.org/qemu tags/pull-input-20150703-1
for you to fetch changes up to 496eacaa67653023540e090fb70b7caba429bbc0:
update pci-bridge-seat section in docs/multiseat.txt (2015-07-03 12:21:11 +0200)
----------------------------------------------------------------
virtio-input: add input routing support, update multiseat docs.
----------------------------------------------------------------
Gerd Hoffmann (2):
virtio-input: add input routing support
update pci-bridge-seat section in docs/multiseat.txt
docs/multiseat.txt | 26 ++++++++++++++++++++------
hw/input/virtio-input-hid.c | 11 +++++++++++
include/hw/virtio/virtio-input.h | 2 ++
3 files changed, 33 insertions(+), 6 deletions(-)
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Qemu-devel] [PULL 1/2] virtio-input: add input routing support
2015-07-03 10:46 [Qemu-devel] [PULL for-2.4 0/2] virtio-input: add input routing support, update multiseat docs Gerd Hoffmann
@ 2015-07-03 10:46 ` Gerd Hoffmann
2015-07-03 10:47 ` [Qemu-devel] [PULL 2/2] update pci-bridge-seat section in docs/multiseat.txt Gerd Hoffmann
2015-07-03 12:30 ` [Qemu-devel] [PULL for-2.4 0/2] virtio-input: add input routing support, update multiseat docs Peter Maydell
2 siblings, 0 replies; 4+ messages in thread
From: Gerd Hoffmann @ 2015-07-03 10:46 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann, Michael S. Tsirkin
Add display and head properties for input routing to
virtio-input devices, update multiseat documentation.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
docs/multiseat.txt | 17 +++++++++++++++--
hw/input/virtio-input-hid.c | 11 +++++++++++
include/hw/virtio/virtio-input.h | 2 ++
3 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/docs/multiseat.txt b/docs/multiseat.txt
index 814496e..d57d174 100644
--- a/docs/multiseat.txt
+++ b/docs/multiseat.txt
@@ -2,8 +2,8 @@
multiseat howto (with some multihead coverage)
==============================================
-host side
----------
+host devices
+------------
First you must compile qemu with a user interface supporting
multihead/multiseat and input event routing. Right now this
@@ -41,6 +41,19 @@ The "display=video2" sets up the input routing. Any input coming from
the window which belongs to the video.2 display adapter will be routed
to these input devices.
+Starting with qemu 2.4 and linux kernel 4.1 you can also use virtio
+for the input devices, using this ...
+
+ -device pci-bridge,addr=12.0,chassis_nr=2,id=head.2 \
+ -device secondary-vga,bus=head.2,addr=02.0,id=video.2 \
+ -device virtio-keyboard-pci,bus=head.2,addr=03.0,display=video.2 \
+ -device virtio-tablet-pci,bus=head.2,addr=03.0,display=video.2
+
+... instead of xhci and usb hid devices.
+
+host ui
+-------
+
The sdl2 ui will start up with two windows, one for each display
device. The gtk ui will start with a single window and each display
in a separate tab. You can either simply switch tabs to switch heads,
diff --git a/hw/input/virtio-input-hid.c b/hw/input/virtio-input-hid.c
index 32cc94a..616a815 100644
--- a/hw/input/virtio-input-hid.c
+++ b/hw/input/virtio-input-hid.c
@@ -252,7 +252,11 @@ static void virtio_input_handle_sync(DeviceState *dev)
static void virtio_input_hid_realize(DeviceState *dev, Error **errp)
{
VirtIOInputHID *vhid = VIRTIO_INPUT_HID(dev);
+
vhid->hs = qemu_input_handler_register(dev, vhid->handler);
+ if (vhid->display && vhid->hs) {
+ qemu_input_handler_bind(vhid->hs, vhid->display, vhid->head, NULL);
+ }
}
static void virtio_input_hid_unrealize(DeviceState *dev, Error **errp)
@@ -301,10 +305,17 @@ static void virtio_input_hid_handle_status(VirtIOInput *vinput,
}
}
+static Property virtio_input_hid_properties[] = {
+ DEFINE_PROP_STRING("display", VirtIOInputHID, display),
+ DEFINE_PROP_UINT32("head", VirtIOInputHID, head, 0),
+};
+
static void virtio_input_hid_class_init(ObjectClass *klass, void *data)
{
+ DeviceClass *dc = DEVICE_CLASS(klass);
VirtIOInputClass *vic = VIRTIO_INPUT_CLASS(klass);
+ dc->props = virtio_input_hid_properties;
vic->realize = virtio_input_hid_realize;
vic->unrealize = virtio_input_hid_unrealize;
vic->change_active = virtio_input_hid_change_active;
diff --git a/include/hw/virtio/virtio-input.h b/include/hw/virtio/virtio-input.h
index fd5417d..af1c207 100644
--- a/include/hw/virtio/virtio-input.h
+++ b/include/hw/virtio/virtio-input.h
@@ -95,6 +95,8 @@ struct VirtIOInputClass {
struct VirtIOInputHID {
VirtIOInput parent_obj;
+ char *display;
+ uint32_t head;
QemuInputHandler *handler;
QemuInputHandlerState *hs;
int ledstate;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Qemu-devel] [PULL 2/2] update pci-bridge-seat section in docs/multiseat.txt
2015-07-03 10:46 [Qemu-devel] [PULL for-2.4 0/2] virtio-input: add input routing support, update multiseat docs Gerd Hoffmann
2015-07-03 10:46 ` [Qemu-devel] [PULL 1/2] virtio-input: add input routing support Gerd Hoffmann
@ 2015-07-03 10:47 ` Gerd Hoffmann
2015-07-03 12:30 ` [Qemu-devel] [PULL for-2.4 0/2] virtio-input: add input routing support, update multiseat docs Peter Maydell
2 siblings, 0 replies; 4+ messages in thread
From: Gerd Hoffmann @ 2015-07-03 10:47 UTC (permalink / raw)
To: qemu-devel; +Cc: Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
docs/multiseat.txt | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/docs/multiseat.txt b/docs/multiseat.txt
index d57d174..ebf2446 100644
--- a/docs/multiseat.txt
+++ b/docs/multiseat.txt
@@ -123,7 +123,7 @@ Background info is here:
guest side with pci-bridge-seat
-------------------------------
-Qemu version FIXME and newer has a new pci-bridge-seat device which
+Qemu version 2.4 and newer has a new pci-bridge-seat device which
can be used instead of pci-bridge. Just swap the device name in the
qemu command line above. The only difference between the two devices
is the pci id. We can match the pci id instead of the device path
@@ -134,9 +134,10 @@ configuration:
SUBSYSTEM=="pci", ATTR{vendor}=="0x1b36", ATTR{device}=="0x000a", \
TAG+="seat", ENV{ID_AUTOSEAT}="1"
-Patch with this rule will be submitted to upstream udev/systemd, so
-long-term, when systemd with this lands in distros, things will work
-just fine without any manual guest configuration.
+Patch with this rule has been submitted to upstream udev/systemd, was
+accepted and and should be included in the next systemd release (222).
+So, if your guest has this or a newer version, multiseat will work just
+fine without any manual guest configuration.
Enjoy!
--
1.8.3.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PULL for-2.4 0/2] virtio-input: add input routing support, update multiseat docs.
2015-07-03 10:46 [Qemu-devel] [PULL for-2.4 0/2] virtio-input: add input routing support, update multiseat docs Gerd Hoffmann
2015-07-03 10:46 ` [Qemu-devel] [PULL 1/2] virtio-input: add input routing support Gerd Hoffmann
2015-07-03 10:47 ` [Qemu-devel] [PULL 2/2] update pci-bridge-seat section in docs/multiseat.txt Gerd Hoffmann
@ 2015-07-03 12:30 ` Peter Maydell
2 siblings, 0 replies; 4+ messages in thread
From: Peter Maydell @ 2015-07-03 12:30 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: QEMU Developers
On 3 July 2015 at 11:46, Gerd Hoffmann <kraxel@redhat.com> wrote:
> Hi,
>
> Input queue pull request, with a small patch adding input routing
> support to virtio-input, and a docs update.
>
> please pull,
> Gerd
>
> The following changes since commit 6686ce3f1628f045035d58db8890d20705fd5c34:
>
> Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging (2015-07-02 10:44:34 +0100)
>
> are available in the git repository at:
>
>
> git://git.kraxel.org/qemu tags/pull-input-20150703-1
>
> for you to fetch changes up to 496eacaa67653023540e090fb70b7caba429bbc0:
>
> update pci-bridge-seat section in docs/multiseat.txt (2015-07-03 12:21:11 +0200)
>
> ----------------------------------------------------------------
> virtio-input: add input routing support, update multiseat docs.
>
> ----------------------------------------------------------------
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-07-03 12:31 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-03 10:46 [Qemu-devel] [PULL for-2.4 0/2] virtio-input: add input routing support, update multiseat docs Gerd Hoffmann
2015-07-03 10:46 ` [Qemu-devel] [PULL 1/2] virtio-input: add input routing support Gerd Hoffmann
2015-07-03 10:47 ` [Qemu-devel] [PULL 2/2] update pci-bridge-seat section in docs/multiseat.txt Gerd Hoffmann
2015-07-03 12:30 ` [Qemu-devel] [PULL for-2.4 0/2] virtio-input: add input routing support, update multiseat docs Peter Maydell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).