FreeSpacenav / spacenavd

Free user-space driver for 6-dof space-mice.
http://spacenav.sourceforge.net
GNU General Public License v3.0
274 stars 55 forks source link

discussing overall design #2

Closed rhaschke closed 6 years ago

rhaschke commented 6 years ago

Dear @jtsiomb,

thanks for merging #1 so quickly. I would like to raise a very fundamental question: Where do you see the benefit of using a daemon to dispatch device events? I guess, that this decision is primarily a historical one: The native 3dconnexion driver originally used a daemon to dispatch events via the X server.

I see some drawbacks of this approach:

I think that all/most of the functionality can be provided by a lib-only approach as well, which will considerably simplify the design: Both axis remapping and sensitivity adaptation could be realized on the client-side, e.g. with a thin wrapper around libevdev.

The only exception, I see currently is X11 forwarding through ssh. With a lib-only approach, the X11 client has no chance to access the server's device. However, X11 natively supports all input devices via xf86-input-evdev / xf86-input-libinput. Also, the auto-led feature requires a central daemon...

Some interesting reads:

As you see, I'm strongly biased towards Linux. I have no idea, which implications a lib-only approach will have on Windows or Mac.

jtsiomb commented 6 years ago

A few points in short, because I don't like holding conversations over web interfaces. For more details or if you wish to discuss this further, please send me an email at nuclear@member.fsf.org. Also I'm closing this as it's not really an issue.

Hope I answered your questions. If not, please send me an email with further questions.