Modify

Opened 4 years ago

Last modified 4 years ago

#20276 new enhancement

3D mouse / spacenavd integration

Reported by: SammysHP Owned by: team
Priority: minor Milestone:
Component: Core Version:
Keywords: Cc:

Description (last modified by SammysHP)

Probably a feature not many people need or thought of.

Just bought myself a 3Dconnexion SpaceNavigator so that I have one at home for private work. After discovering that it is also supported by Google Earth I realized how intuitive it is to navigate around with such a device not only in CAD environments but also for mapping.

Sure, JOSM is entirely 2D, but even without tilt and rotation it's amazing how fast and easy you can move around without clicking. Motions aren't limited by screen size or mouse area¹ – you can move continuously as far as you want. And move and zoom at the same time. You can also keep the mouse cursor at the center of the screen while drawing and move the map around, using the mouse only for fine adjustments.

Feature request: Implement 3D mouse navigation, x and y axes for translation and z for zooming. Further refinements may include axes mapping, sensitivity and deadzone adjustments and button support.

For Linux there is a 3D mouse daemon with an API, libspnav/spacenavd:

https://github.com/FreeSpacenav/libspnav
https://github.com/FreeSpacenav/spacenavd

Sadly I'm not familiar with the navigation control interfaces of JOSM or how to use native code in Java / JOSM. The libspnav API is available via a C header, communicating with a socket. While using the header is very simple, it might be easier in Java to to communicate with the socket directly.

If there's an interface is JOSM which can be used to control map movements that is accessible from a plugin, this should be implemented as a plugin to not add platform specific code into the JOSM core.

¹ Although I already use a trackball, but repeatedly moving the cursor back and forth or zooming in and out when moving large distances is very tiring.

Attachments (0)

Change History (1)

comment:1 by SammysHP, 4 years ago

Description: modified (diff)

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user.
Next status will be 'needinfo'. The owner will be changed from team to SammysHP.
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from team to anonymous. Next status will be 'assigned'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.