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.
Linux evdev driver relative axis issue
Moderator: Moderators
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.
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.
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:Linux supports HID in a variety of fashions:
- usbfs
- XInput
- joydev (only for joysticks)
- evdev
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.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.
Only exception here is Mac, that somehow handles the this joystick well, but not sure how does that happen.
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'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?
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.pyalot wrote:The party who would be most interested in doing this I gather would be 3dconnexion.
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.