Spaceball & X11

Achim Flammenkamp achim at uni-bielefeld.de
Mon Apr 2 10:57:28 PDT 2007


Hello

I like to get used my Compaq SpaceBall 3003 FLX to work under X11 (XEvents)
and Glut (glutSpaceballFunc).

There seems to be at least 2 different ways to get this to work, but sadly both
still fail for me.

1) Use the spaceball_drv.so modul, which is a slightly modified spaceorb_drv.so
2) Use the evdev_drv driver, (after reading http://lists.freedesktop.org/archives/xorg/2007-February/021644.html on this mailing list)

In both cases I am using Kernel 2.6.19-gentoo-rc5 and Xorg 7.1.1  on the x86_64
architecture.
I compiled the modules spaceball & joydev and modprobe them. Then I run
inputattach --spaceball /dev/tts/0 &
The Spaceball is correctly recognized and also jstest /dev/input/js0 works fine.

Now the problems start. I put

InputDevice "Spaceball" "AlwaysCore"  

in my /etc/X11/XConfig-1024x768 file into its section

  Section "ServerLayout"

and either 1)

Section "InputDevice"
    Identifier "Spaceball"
#   Driver     "spaceorb"
    Driver     "spaceball"
#   Option     "Device"        "/dev/cua0"
    Option     "Device"        "/dev/ttyS0"
EndSection

(I even tried the    Driver     "spaceorb"  but this results in exactly the same crash of the XServer)

or in case 2)

Section "InputDevice"
    Identifier "Spaceball"
    Driver     "evdev"
#   Option     "Device"        "/dev/ttyS0"
    Option     "Name" "OEM Spaceball 3003"
    Option     "Type" "Spaceball"
    Option     "ForceID" "spaceball"
EndSection

(with and without the (un)commented line  Option     "Device" ).

In the first case, the XServer crashed badly (a bogus double free detected by glibc) immediately after the Xserver protocolled that no Spaceball/Spaceorb was
detected (message from Space*ProcInit: "Unable to query/initialize Space* hardware.")

in the 2nd case the Xserver hangs, (got no Greeting-Window) and in the
corresponding Xorg.4.log the error:  (EE) PreInit returned NULL for "Spaceball"

....
(II) evdev brain: Rescanning devices (1).
(EE) PreInit returned NULL for "Spaceball"
(II) XINPUT: Adding extended input device "evdev brain" (type: evdev brain)
(II) XINPUT: Adding extended input device "PS/2 Mouse" (type: MOUSE)
(II) XINPUT: Adding extended input device "Keyboard0" (type: KEYBOARD)
(II) XINPUT: Adding extended input device "NVIDIA Event Handler" (type: Other)
....
(there are no more errors noticed by the X-Server and only 3 Warning lines
totally independent:
(WW) NVIDIA(0): No size information available in CRT-0's EDID; cannot compute
(WW) NVIDIA(0):     DPI from EDID.
...
(WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
...
)

and this is the corresponding line from my /etc/X11/xdm/Xserver to start it:

:4 local /usr/bin/X :4 -depth 16 -config /etc/X11/XConfig-1024x768 -novtswitch vt09

and finally the output of /proc/bus/input/devices

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/class/input/input0
H: Handlers=kbd event0 
B: EV=120013
B: KEY=402000000 3802078f840d001 feffffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7

I: Bus=0011 Vendor=0002 Product=0005 Version=0000
N: Name="ImPS/2 Generic Wheel Mouse"
P: Phys=isa0060/serio1/input0
S: Sysfs=/class/input/input1
H: Handlers=mouse0 event1
B: EV=7
B: KEY=70000 0 0 0 0
B: REL=103

I: Bus=0013 Vendor=001b Product=0000 Version=0100
N: Name="OEM SpaceBall 3003"
P: Phys=ttyS0/serio0/input0
S: Sysfs=/class/input/input3
H: Handlers=event2 js0 
B: EV=b
B: KEY=102 0 0 0 0
B: ABS=3f


What is my fault and which is the nicest solution to get the Spaceball to work?

Thanks in advance,
achim
-- 
Achim Flammenkamp          FSP Mathematisierung            Universität Bielefeld
UniversitätsstraBe 25        33501 Bielefeld         Federal Republic of Germany
UTC+02=MEST       http://www.uni-bielefeld.de/~achim/     achim at uni-bielefeld.de



More information about the xorg mailing list