Space Navigator 3D

Timothy S. Nelson wayland at
Sun Aug 30 22:20:06 PDT 2009

On Mon, 31 Aug 2009, Peter Hutterer wrote:

> On Mon, Aug 31, 2009 at 01:11:54PM +1000, Timothy S. Nelson wrote:
>>> On Mon, Aug 31, 2009 at 09:13:01AM +1000, Timothy S. Nelson wrote:
>>>> I have a pointing device with 5 axes (a Space Navigator).  Does anyone
>>>> know how I can assign one of them to be a scroll wheel?
>>> provided that the space navigator gives you x/y axes and you're running
>>> evdev from master, enable wheel emulation on button 0.
>> 	Hmm.  Like this?
>> Device '3Dconnexion SpaceNavigator':
>> 	Device Enabled (133):	1
>> 	Evdev Reopen Attempts (266):	10
>> 	Evdev Axis Inversion (267):	0, 0
>> 	Evdev Axis Calibration (268):
>> 	Evdev Axes Swap (269):	0
>> 	Evdev Middle Button Emulation (270):	2
>> 	Evdev Middle Button Timeout (271):	50
>> 	Evdev Wheel Emulation (272):	1
>> 	Evdev Wheel Emulation Axes (273):	0, 0, 4, 5
>> 	Evdev Wheel Emulation Inertia (274):	0
>> 	Evdev Wheel Emulation Timeout (275):	200
>> 	Evdev Wheel Emulation Button (276):	0
>> 	Evdev Drag Lock Buttons (277):	0
>> 	Because I still get mouse movements when I do that.
> set the inertia to 10 or something like that. not sure how you ended up with
> 0, that's not a valid value.

 	Sorry, that's my fault.  I tried it both ways.

> other than that it looks alright. remember that
> you need evdev from git, evdev 2.2 doesn't allow it.

 	Ok, that explains it then.  I'm on 2.2.4.

>>> tis turns every motion into a scroll wheel event.
>> 	Hmm.  But I want to map two of the axes to mouse movements, and two to
>> scroll.  Can that be done?
> not yet, sorry. scroll handling is a bit weird, due to the requirement that
> it is converted into button events before posting. the driver has the wheel
> axes hardcoded. it'd be possible to add a configuration option for that but
> you'd have to write the patch yourself. it's not that hard, but it requires
> lots of testing to make sure it doesn't interfere with other button and axis
> mappings.

 	Have we considered the possibility of mapping things using an xkb-like 
set of config files?  Or even integrating it into xkb?  I note that we have:
-	Something that maps virtual buttons to physical buttons
-	Something that maps a physical axis (scroll wheel) to a virtual set of
-	Things that invert and swap axes

 	I don't see any reason why these couldn't be done in an xkb-like 
fashion, although in the second and third cases, these might need to be 
implemented in the driver instead of via xmodmap (assuming I understand 
xmodmap correctly).

 	Am I correct in understanding that, in this diagram:

 	...the xmodmap program also affects the dark green box (possibly at 
the point where the word "compiles" appears)?


| Name: Tim Nelson                 | Because the Creator is,        |
| E-mail: wayland at    | I am                           |

Version 3.12
GCS d+++ s+: a- C++$ U+++$ P+++$ L+++ E- W+ N+ w--- V- 
PE(+) Y+>++ PGP->+++ R(+) !tv b++ DI++++ D G+ e++>++++ h! y-

More information about the xorg mailing list