multihead, xorg, and bluetooth keyboard failure
Yan Seiner
yan at seiner.com
Sun Nov 22 05:36:23 PST 2009
I am running a multi-seat config where I have one x server running two
heads on one card and a second x server running a single head on another
card.
yan at selene:~/xorg$ ps auxwww | grep X
root 14256 0.6 0.4 623896 17232 tty8 Ss+ Nov21 3:26 /usr/local/bin/X :3
-config /etc/mdm/xorg.conf.nvidia -audit 0 -layout Myth -novtswitch
-sharevts -noreset -auth /var/lib/gdm/:3.Xauth -nolisten tcp vt8
root 30415 0.1 0.3 632500 12780 tty9 Ss+ Nov17 12:41 /usr/local/bin/X :0
-config /etc/mdm/xorg.conf.nvidia -noreset -auth /var/lib/gdm/:0.Xauth
-nolisten tcp vt9
The server on :0 further runs a couple of Xephyr sessions, but that's
not relevant to the issue.
My problem is with the server on :3. It uses a bluetooth keyboard. When
the bluetooth keyboard goes to sleep, the /dev/input/event* device
disappears., Once I touch a key, the bluetooth subsystem creates the
device again, but X never picks it up.
I have this same keyboard on 2 other systems, and it works perfectly, so
it has something to do with my setup; possibly with the two X servers.
In order to tell evdev which device to use, I create several symlinks
pointing to the keyboard:
yan at selene:~/xorg$ ls -l /etc/mdm/devices
celkem 0
lrwxrwxrwx 1 root root 14 12. dub 2009 keyboard1 -> /dev/seat1/kbd
lrwxrwxrwx 1 root root 14 12. dub 2009 keyboard2 -> /dev/seat2/kbd
lrwxrwxrwx 1 root root 13 12. dub 2009 keyboard3 -> /dev/myth/kbd <-
keyboard in question
lrwxrwxrwx 1 root root 16 21. říj 18.08 mouse1 -> /dev/seat1/mouse
lrwxrwxrwx 1 root root 16 12. dub 2009 mouse2 -> /dev/seat2/mouse
lrwxrwxrwx 1 root root 15 12. dub 2009 mouse3 -> /dev/myth/mouse
Keyboard is asleep:
yan at selene:~/xorg$ ls -l /dev/myth/
celkem 0
lrwxrwxrwx 1 root root 7 21. lis 07.47 dvd -> ../scd0
lrwxrwxrwx 1 root root 14 21. lis 07.47 ttyTV -> ../usb/ttyUSB1
Keyboard is awake:
yan at selene:~/xorg$ ls -l /dev/myth/
celkem 0
lrwxrwxrwx 1 root root 7 21. lis 07.47 dvd -> ../scd0
lrwxrwxrwx 1 root root 15 22. lis 05.30 kbd -> ../input/event9
lrwxrwxrwx 1 root root 14 21. lis 07.47 ttyTV -> ../usb/ttyUSB1
yan at selene:~/xorg$ ls -alt /dev/input
celkem 0
drwxr-xr-x 20 root root 6800 22. lis 05.30 ..
drwxr-xr-x 4 root root 480 22. lis 05.30 .
drwxr-xr-x 2 root root 360 22. lis 05.30 by-path
crw-rw---- 1 root root 13, 73 22. lis 05.30 event9
drwxr-xr-x 2 root root 220 21. lis 07.47 by-id
crw-rw-r-- 1 root audio 13, 72 21. lis 07.47 event8
crw-rw-r-- 1 root root 13, 0 21. lis 07.47 js0
.....
The symlink in /dev/myth is created by udev:
KERNEL=="event*", ENV{ID_PATH}=="pci-0000:00:02.1-usb-0:2.4.4.4.2:1.0", \
SYMLINK+="myth/kbd"
Once the keyboard goes to sleep, X never picks it up again.
So udev is removing / creating the device correctly, but once X loses it
it doesn't pick it up again.
Any suggestions?
--
o__
,>/'_ o__
(_)\(_) ,>/'_ o__
A day may come (_)\(_) ,>/'_ o__
when the courage of men fails, (_)\(_) ,>/'_
when we forsake our friends and break all (_)\(_)
bonds of fellowship, but it is not this day.
It is not this day!
This day we ride!
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: xorg.conf.nvidia
URL: <http://lists.x.org/archives/xorg/attachments/20091122/ffd55050/attachment.ksh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Xorg.3.log
Type: text/x-log
Size: 273114 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20091122/ffd55050/attachment.bin>
More information about the xorg
mailing list