XInputHotplug Teil 4: der Erfolg geht weiter
Bitte Teil 5 lesen!
Seit einiger Zeit verwende ich xorg-server-1.5.3-r5 und linuxwacom-0.8.3_p2, habe aber bis gestern nicht mit dem Tablet gearbeitet. Beim Einstecken und arbeiten in GIMP habe ich dann erstmal nichts bemerkt, später hat sich X aber mit einem Crash verabschiedet.
Im Log finden sich folgende Einträge:
(II) config/hal: Adding input device Wacom Graphire4 4x5 (II) LoadModule: "wacom" (II) Loading /usr/lib64/xorg/modules/input//wacom_drv.so (II) Module wacom: vendor="X.Org Foundation" compiled for 4.3.99.902, module version = 1.0.0 Module class: X.Org XInput Driver ABI class: X.Org XInput driver, version 2.1 (II) Wacom driver level: 47-0.8.3-2 $ (**) Wacom Graphire4 4x5: always reports core events (**) Wacom Graphire4 4x5 device is /dev/input/event1 (**) Wacom Graphire4 4x5 is in absolute mode (**) WACOM: suppress value is 2 (**) Option "BaudRate" "9600" (**) Wacom Graphire4 4x5: serial speed 9600 (II) XINPUT: Adding extended input device "Wacom Graphire4 4x5" (type: Wacom Stylus) (**) Option "Device" "/dev/input/event1" Wacom Graphire4 4x5 Wacom X driver grabbed event device (==) Wacom using pressure threshold of 30 for button 1 (==) Wacom USB Graphire4 tablet speed=9600 (38400) maxX=10208 maxY=7424 maxZ=511 resX=2032 resY=2032 tilt=disabled (==) Wacom device "Wacom Graphire4 4x5" top X=0 top Y=0 bottom X=10208 bottom Y=7424 resol X=2032 resol Y=2032 (II) config/hal: Adding input device Wacom Graphire4 4x5 pad (**) Wacom Graphire4 4x5 pad: always reports core events (**) Wacom Graphire4 4x5 pad device is /dev/input/event1 (**) Wacom Graphire4 4x5 pad is in absolute mode (**) WACOM: suppress value is 2 (**) Wacom Graphire4 4x5 pad: reading USB link (**) Wacom Graphire4 4x5 pad: threshold = 30 (**) Wacom Graphire4 4x5 pad: max x set to 10208 by xorg.conf (**) Wacom Graphire4 4x5 pad: max y set to 7424 by xorg.conf (**) Wacom Graphire4 4x5 pad: max z = 511 (**) Option "BaudRate" "9600" (**) Wacom Graphire4 4x5 pad: serial speed 9600 (II) XINPUT: Adding extended input device "Wacom Graphire4 4x5 pad" (type: Wacom Stylus) (EE) Wacom Graphire4 4x5 pad: Top/Bottom area overlaps with another devices. (II) config/hal: Adding input device Wacom Graphire4 4x5 cursor (**) Wacom Graphire4 4x5 cursor: always reports core events (**) Wacom Graphire4 4x5 cursor device is /dev/input/event1 (**) Wacom Graphire4 4x5 cursor is in absolute mode (**) WACOM: suppress value is 2 (**) Wacom Graphire4 4x5 cursor: reading USB link (**) Wacom Graphire4 4x5 cursor: threshold = 30 (**) Wacom Graphire4 4x5 cursor: max x set to 10208 by xorg.conf (**) Wacom Graphire4 4x5 cursor: max y set to 7424 by xorg.conf (**) Wacom Graphire4 4x5 cursor: max z = 511 (**) Option "BaudRate" "9600" (**) Wacom Graphire4 4x5 cursor: serial speed 9600 (II) XINPUT: Adding extended input device "Wacom Graphire4 4x5 cursor" (type: Wacom Stylus) (EE) Wacom Graphire4 4x5 cursor: Top/Bottom area overlaps with another devices. (II) config/hal: Adding input device Wacom Graphire4 4x5 eraser (**) Wacom Graphire4 4x5 eraser: always reports core events (**) Wacom Graphire4 4x5 eraser device is /dev/input/event1 (**) Wacom Graphire4 4x5 eraser is in absolute mode (**) WACOM: suppress value is 2 (**) Wacom Graphire4 4x5 eraser: reading USB link (**) Wacom Graphire4 4x5 eraser: threshold = 30 (**) Wacom Graphire4 4x5 eraser: max x set to 10208 by xorg.conf (**) Wacom Graphire4 4x5 eraser: max y set to 7424 by xorg.conf (**) Wacom Graphire4 4x5 eraser: max z = 511 (**) Option "BaudRate" "9600" (**) Wacom Graphire4 4x5 eraser: serial speed 9600 (II) XINPUT: Adding extended input device "Wacom Graphire4 4x5 eraser" (type: Wacom Stylus) (EE) Wacom Graphire4 4x5 eraser: Top/Bottom area overlaps with another devices.
Da kommt mehrfach ein Fehler vor: „Top/Bottom area overlaps with another devices“.
Wenn man Onkel google fragt, findet man unter anderem einen Eintrag im Linuxwacom-Forum, der den Grund für die Überlappung erklärt.
Also habe ich per lshal kontrolliert, welche Devices erkannt werden. Ich hatte Glück – die vier Devices, die gefunden wurden (stylus, eraser, cursor, pad) unterscheiden sich in einem Punkt: der Stylus hat
info.capabilities = {'input', 'input.touchpad'}
die anderen nur
info.capabilities = {'input'}
Klarer Hinweis, wenn die Standardregel der .fdi-Datei
<match key="info.capabilities" contains="input"> <match key="info.product" contains="Wacom"> <merge key="input.x11_driver" type="string">wacom</merge> <merge key="input.x11_options.Type" type="string">stylus</merge> </match> </match>
gleich vier Devices einbindet, was den Crash verursacht, dann könnte es mit
<match key="info.capabilities" contains="input.touchpad"> <match key="info.product" contains="Wacom"> <merge key="input.x11_driver" type="string">wacom</merge> <merge key="input.x11_options.Type" type="string">stylus</merge> </match> </match>
klappen, damit wird nur eines der vier Devices akzeptiert.
Getestet, klappt. Ich habe zwar noch nicht neu gestartet, bin aber zuversichtlich dass es funktioniert. GIMP jedenfalls akzeptiert das Tablet sehr gut. Der Stylus funktioniert so wie er soll, der Eraser funktioniert als eigenes Werkzeug und auch das Scrollrad am Tablet funktioniert manchmal.
Nach dem Ändern der .fdi-Datei (bei mir übrigens „/etc/hal/fdi/policy/10-x11-input.fdi“) entweder das System neustarten oder zumindest hal (auf eigenes Risiko, bei mir hat’s problemlos funktioniert: „/etc/init.d/hald restart“). Sonst arbeitet hal noch mit den alten Regeln.
About this entry
You’re currently reading “XInputHotplug Teil 4: der Erfolg geht weiter,” an entry on DoppelHertz
- Veröffentlicht:
- April 24, 2009 / 7:02 pm
- Schlagwörter:
- wacom, XInputHotplug, Xorg
4 Kommentare
Jump to comment form | comment rss [?] | trackback uri [?]