Space Navigator 3D
Timothy S. Nelson
wayland at wayland.id.au
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
buttons
- 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:
http://computerstuff.jdarx.info/content/keystroke-flow-xorg
...the xmodmap program also affects the dark green box (possibly at
the point where the word "compiles" appears)?
Thanks,
---------------------------------------------------------------------
| Name: Tim Nelson | Because the Creator is, |
| E-mail: wayland at wayland.id.au | I am |
---------------------------------------------------------------------
----BEGIN GEEK CODE BLOCK----
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-
-----END GEEK CODE BLOCK-----
More information about the xorg
mailing list