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.

Configuring multiple seats

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
        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
        devices\hw\sys\00:01.0\i8042\ps2a\kbd : devman
# 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.

Last modified 7 months ago Last modified on 2023-09-29T21:29:46Z

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.