Pointing device acting as joystick (Peter Hutterer please help!)

Peter Hutterer peter.hutterer at who-t.net
Thu Oct 28 20:05:32 PDT 2010


On Fri, Oct 29, 2010 at 11:11:00AM +1100, Timothy S. Nelson wrote:
> 	Hi all (and especially Peter Hutterer, Grand Master of Xorg Input).
> I have a SpaceNavigator (6-axis pointing device) which I'd like to
> use for scrolling (or even better, scrolling and pointing).
> 
> 	My first problem is that xorg (understandably) seems to think the
> device is a joystick, because whenever I let go of the device, it
> moves the pointer back towards the centre of the screen.

It's most likely the device sending the events. I know the one on the
wiimote nunchuk thingy did the same thing. There isn't much you can do about
filtering these events.

check with evtest for the data coming out of the device, that should give
you a hint.


> 	Here are some lines from the log file which I think represent the
> problem (complete log at end of message).
> 
> [  4442.562] (**) Option "Mode" "Relative"
> [  4442.562] (II) 3Dconnexion SpaceNavigator: initialized for absolute axes.
> 
> 	In other words, it knows that I told it to use relative mode, but
> it goes ahead and uses absolute anyway (or I'm misunderstanding the
> message :) ).

the two messages are unrelated. mode tells the driver how to forward
axis data but it doesn't change the physical device. your device still has
absolute axes, the driver converts that to relative and forwards them.

> 	It also doesn't seem to be using the axes for scrolling, despite
> what my xorg.conf (below) says.
> 
> 	I also wonder about these three lines:
> 
> [  4442.570] (EE) ioctl EVIOCGNAME failed: Invalid argument
> [  4442.586] (II) UnloadModule: "evdev"
> [  4442.586] (EE) PreInit returned NULL for "3Dconnexion SpaceNavigator"

just noise, add a MatchDevicePath "/dev/input/event*" and this will go away.

> 	If anyone can help (especially Peter!), I'd be most grateful.
> 
> 	Here's my data.
> 
> 
> xorg-x11-drv-evdev-2.4.0-2.fc13.x86_64
> 
> ------------------------------------------------------------
> Section "InputClass"
>         Identifier  "SpaceNavigator"
>         MatchProduct "SpaceNavigator"
> #       MatchIsJoystick "On"
>         Driver      "evdev"
>         Option      "Name"   "3Dconnexion*"
>         Option      "Pass"   "3"
>         Option      "Mode"   "Relative"
>         Option      "XRelativeAxisMap"  "0"
>         Option      "YRelativeAxisMap"  "1"
>         Option      "ZRelativeAxisMap"  "2"
>         Option      "RXRelativeAxisMap" "3"
>         Option      "RYRelativeAxisMap" "4"
>         Option      "RZRelativeAxisMap" "5"
>         Option  "ZRelativeAxisButtons" "off"
>         Option  "EmulateWheel" "On"
>         Option  "XAxisMapping" "6 7"
> EndSection
> ------------------------------------------------------------

well, of these options only EmulateWheel, Mode and XAxisMapping exist. the
others aren't interpreted by anything.
 
Cheers,
  Peter



More information about the xorg mailing list