Linux evdev driver relative axis issue

Questions and answers about 3Dconnexion devices on UNIX and Linux.

Moderator: Moderators

Post Reply
pyalot
Posts: 13
Joined: Thu Jan 22, 2009 5:05 am

Linux evdev driver relative axis issue

Post by pyalot »

The linux evdev driver reports the axes of the space navigator as relative instead of absolute. Therefore min/max values are not read out and it's impossible to use as a absolute axis.
The wrong relative axis does report a value, but it is clearly an absolute value.
pyalot
Posts: 13
Joined: Thu Jan 22, 2009 5:05 am

Post by pyalot »

I think we can agree that "support" for an operating system
for a Human Interface Device means: You plug it in and it works
Working in the context of an application dealing with Human Interface
Devices is that the information reported by the driver about the
device are correct.

Linux supports HID in a variety of fashions:
- usbfs
- XInput
- joydev (only for joysticks)
- evdev

Human Interface Devices that do have axes report these axes in two
flavors, absolute and relative. Mice for instance have relative axes,
Joysticks have absolute axes. Since absolute axes move between a
minimum/maximum value, they do report these values so the application
can figure out what to do with them.

Space Navigator when plugged in to a linux machine and queried over
the evdev driver reports its six axes all as Relative, which is wrong.

The bug is in the linux kernel. Somebody has to follow that bug up and fix it.

The party who would be most interested in doing this I gather would be 3dconnexion.
ono
Posts: 3
Joined: Mon Nov 30, 2009 5:35 am
Location: Krakow, Poland

Post by ono »

pyalot wrote:Linux supports HID in a variety of fashions:
- usbfs
- XInput
- joydev (only for joysticks)
- evdev
XInput isn't really a driver but just an API that relays on Linux mouse, evdev or joydev. Moreover joydev and usbfs are rather deprecated APIs for handling HIDs and EVDEV is natural and recent way to go.
pyalot wrote:Space Navigator when plugged in to a linux machine and queried over
the evdev driver reports its six axes all as Relative, which is wrong.
The bug is in the linux kernel. Somebody has to follow that bug up and fix it.
No it is NOT kernel bug, it is device that reports its axes being relative, which is wrong. The same issue is when using HID or DirectInput on Windows. Both report SpacePilot having relative axes, which drives me crazy.

Only exception here is Mac, that somehow handles the this joystick well, but not sure how does that happen.
sneazle
Posts: 1
Joined: Fri Mar 26, 2010 5:42 am

Post by sneazle »

Hi,

I'd like to agree that I would love to see this fixed.

The bottom line is I just want to be able to use input events from the spacepilot to trigger actions. Whether that's window manager events (like moving or resizing a window), volume control, or running a shell script, all I'm asking for is some love here on this front. I paid $300 and this would be really sweet.

Can I have a little love here? We linux hackers would LOVE to use your peripherals to script various events on our system, kind of like a second keyboard or some kind of new futuristic hardware device. This is not hard. Just give us evdev support and make life easy.

OK? Thanks. I want to give you more of my money if you fix this simple thing and make it open source and easy to plug-and-play for simple evdev support for triggering actions when an event is received.
I want to use the 3dconnexion devices for scripting window manager events in linux. Therefore, I would like easy to use evdev type support so I can just map a key/event to an action. Is that so much to ask?
aeirt
Posts: 3
Joined: Wed Aug 05, 2009 9:47 am

Post by aeirt »

pyalot wrote:The party who would be most interested in doing this I gather would be 3dconnexion.
Almost. In actual fact, it's "The party who should be most interested in doing this would be 3dconnexion.". It's sad, but 3DConnexion seem to be content merely to wash their hands of getting software support - without competition, I can't help but feel they view their users as annoyances rather than customers.

I can't see this situation improving unless another company comes along and produces a competitor product so that 3DConnexion have to start fighting for customers.
Post Reply