Summary: | Input device hotplugging is incompatible with multiseat mode | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Ilia K. <mail4ilia> | ||||||||
Component: | Server/Input/Core | Assignee: | Xorg Project Team <xorg-team> | ||||||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||||||
Severity: | normal | ||||||||||
Priority: | medium | CC: | peter.hutterer | ||||||||
Version: | git | ||||||||||
Hardware: | All | ||||||||||
OS: | Linux (All) | ||||||||||
Whiteboard: | |||||||||||
i915 platform: | i915 features: | ||||||||||
Attachments: |
|
Description
Ilia K.
2009-10-24 08:00:15 UTC
Created attachment 30657 [details] [review] proposed fix Attached patch implements the fix. A user is able to attach x11_layout option to the device which is matched against current server layout id. If x11_layout option is missing, is "*" or equals to server layout id, the device is added. Otherwise it's ignored. Assume that in xorg.conf AutoAddDevices option is set to true (which is a default) and two ServerLayout sections are present: Section "ServerLayout" Identifier "Seat0" Screen 0 "Screen0" 0 0 EndSection Section "ServerLayout" Identifier "Seat1" Screen 0 "Screen1" 0 0 EndSection Than the following file can be added as /etc/hal/fdi/policy/30-multiseat_input.fdi : <?xml version="1.0" encoding="UTF-8"?> <!-- define which keyboard/mouse should be used by which instance of X server --> <deviceinfo version="0.2"> <device> <!-- Seat 0 uses usb hub 1-7 only --> <match key="info.category" string="input"> <match key="linux.sysfs_path" contains="/sys/devices/pci0000:00/0000:00:02.1/usb1/1-7/"> <merge key="input.x11_options.x11_layout" type="string">Seat0</merge> </match> </match> <!-- Seat 1 uses usb hub 1-8 only --> <match key="info.category" string="input"> <match key="linux.sysfs_path" contains="/sys/devices/pci0000:00/0000:00:02.1/usb1/1-8/"> <merge key="input.x11_options.x11_layout" type="string">Seat1</merge> </match> </match> <!-- input devices which don't match above rules will be added to all X instances --> </device> </deviceinfo> Created attachment 30658 [details] [review] proposed fix Attached patch implements the fix. A user is able to attach x11_layout option to the device which is matched against current server layout id. If x11_layout option is missing, is "*" or equals to server layout id, the device is added. Otherwise it's ignored. Assume that in xorg.conf AutoAddDevices option is set to true (which is a default) and two ServerLayout sections are present: Section "ServerLayout" Identifier "Seat0" Screen 0 "Screen0" 0 0 EndSection Section "ServerLayout" Identifier "Seat1" Screen 0 "Screen1" 0 0 EndSection Than the following file can be added as /etc/hal/fdi/policy/30-multiseat_input.fdi : <?xml version="1.0" encoding="UTF-8"?> <!-- define which keyboard/mouse should be used by which instance of X server --> <deviceinfo version="0.2"> <device> <!-- Seat 0 uses usb hub 1-7 only --> <match key="info.category" string="input"> <match key="linux.sysfs_path" contains="/sys/devices/pci0000:00/0000:00:02.1/usb1/1-7/"> <merge key="input.x11_options.x11_layout" type="string">Seat0</merge> </match> </match> <!-- Seat 1 uses usb hub 1-8 only --> <match key="info.category" string="input"> <match key="linux.sysfs_path" contains="/sys/devices/pci0000:00/0000:00:02.1/usb1/1-8/"> <merge key="input.x11_options.x11_layout" type="string">Seat1</merge> </match> </match> <!-- input devices which don't match above rules will be added to all X instances --> </device> </deviceinfo> Wasn't this supposed to be addressed by ConsoleKit or something? commit 159b03e13760920274b573a2bccdbf6a79f059e7 Author: Lennart Poettering <lennart@poettering.net> Date: Mon Jul 18 21:19:23 2011 +0200 config: add udev/systemd multi-seat support |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.