|Version 3 (modified by 2 weeks ago) ( diff ),|
Multiple Seat Support (Multi-Seat)
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 .....
/loc, you can use tab key to complete device names.
Now you have two independent pointers and keyboard foci.