wiki:UsersGuide/MultiSeat

Version 3 (modified by Jiri Svoboda, 2 weeks ago) ( diff )

FIx link

Multiple Seat Support (Multi-Seat)

Introduction

HelenOS graphical user interface supports multiple seats. This allows to make good use of multiple mice and keyboards connected to the computer (which is easy to do with USB). Unlike multi-head, where there are several completely independent desktops each with its own set of monitors, in multi-seat configuration a single desktop can be shared by multiple users.

Each seat has its own mouse pointer and keyboard focus. A set of input devices (mice, keyboards) can be assigned to a seat.

As an example, if you connect an external USB keyboard and mouse to a laptop, you will have two mice and two keyboards. You can have two seats, each with one associated mouse and one keyboard.

Adding more keyboards, mice to a Qemu VM

Connect an additional USB keyboard, mouse to your computer and then pass them inside Qemu VM.

In Linux use lsusb to find your USB devices, e.g.

[jirka@omelette build]$ lsusb
Bus 001 Device 002: ID 8087:8001 Intel Corp. Integrated Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 004: ID 5986:0366 Acer, Inc Integrated Camera
Bus 002 Device 002: ID 17ef:604d Lenovo Lenovo USB Receiver
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Then run Qemu with additional argument -device usb-host,vendorid=VID,productid=PID for each USB device to pass through inside. Qemu will need additional privileges to do this.

Configuring a second seat from the command line

# disp create-seat Bob
# loc show-cat mouse
mouse:
        devices\hw\sys\00:01.0\i8042\ps2b\mouse : devman
        devices\hw\sys\00:04.0\usb1-hs\HID0\mouse : devman
# disp assign-dev devices\hw\sys\00:04.0\usb1-hs\HID0\mouse Bob
# loc show-cat keyboard
keyboard:
        devices\hw\sys\00:01.0\i8042\ps2a\kbd : devman
        XYZ
# disp assign-dev XYZ Bob
.....

Tip: If you cd to /loc, you can use tab key to complete device names.

Now you have two independent pointers and keyboard foci.

Note: See TracWiki for help on using the wiki.