| | 1 | = Multiple Seat Support (Multi-Seat) = |
| | 2 | |
| | 3 | == Introduction == |
| | 4 | |
| | 5 | HelenOS GUI has multi-seat support. 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. |
| | 6 | |
| | 7 | Each seat has its own mouse pointer and keyboard focus. A set of input devices (mice, keyboards) can be assigned to a seat. |
| | 8 | |
| | 9 | 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. |
| | 10 | |
| | 11 | == Adding more keyboards, mice to a Qemu VM == |
| | 12 | |
| | 13 | Connect an additional USB keyboard, mouse to your computer and then pass them inside Qemu VM. |
| | 14 | |
| | 15 | In Linux use lsusb to find your USB devices, e.g. |
| | 16 | {{{ |
| | 17 | [jirka@omelette build]$ lsusb |
| | 18 | Bus 001 Device 002: ID 8087:8001 Intel Corp. Integrated Hub |
| | 19 | Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub |
| | 20 | Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub |
| | 21 | Bus 002 Device 004: ID 5986:0366 Acer, Inc Integrated Camera |
| | 22 | Bus 002 Device 002: ID 17ef:604d Lenovo Lenovo USB Receiver |
| | 23 | Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub |
| | 24 | }}} |
| | 25 | |
| | 26 | 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. |
| | 27 | |
| | 28 | == Configuring a second seat from the command line == |
| | 29 | |
| | 30 | {{{ |
| | 31 | # disp create-seat Bob |
| | 32 | # loc show-cat mouse |
| | 33 | mouse: |
| | 34 | devices\hw\sys\00:01.0\i8042\ps2b\mouse : devman |
| | 35 | devices\hw\sys\00:04.0\usb1-hs\HID0\mouse : devman |
| | 36 | # disp assign-dev devices\hw\sys\00:04.0\usb1-hs\HID0\mouse Bob |
| | 37 | # loc show-cat keyboard |
| | 38 | keyboard: |
| | 39 | devices\hw\sys\00:01.0\i8042\ps2a\kbd : devman |
| | 40 | XYZ |
| | 41 | # disp assign-dev XYZ Bob |
| | 42 | ..... |
| | 43 | }}} |
| | 44 | |
| | 45 | ```Tip:``` If you {{{cd}}} to {{{/loc}}}, you can use tab key to complete device names. |
| | 46 | |
| | 47 | Now you have two independent pointers and keyboard foci. |