[Kicad-developers] 3D Mouse (Spacenavigator) support
Hello everyone, I would like to add support for the SpaceNavigator 3D mouse if nobody objects. Being able to pan around the schematic or pcb canvas while keeping your other hand busy doing the "real work" might improve the ergonomics and efficiency of KiCad. To avoid having to constantly move your hand to the keyboard for shortcuts, the two commonly used tools should be user-assigneable to the buttons on the mouse. I dont know how much of an improvement a 3D mouse will yield in a 2D application like KiCad, but since I expect the implementation to be quite straight forward I would like to give it a try. Speaking of implementation, this is what I thought of: The "spacenav" library provides a simple API to communicate with the 3D mouse. It's the open source (GPL3) alternative for the proprietary library provided by 3Dconnexion (The manufacturer of the SpaceNavigator). The only problem I see is operating system portability: The spacenav library is only available for Linux right now. Windows and OSX would still depend on the proprietary library (Same API by the way). There must be a possibility to get around that, since the open source software Blender supports the SpaceNavigator mouse on all operating systems. I will take a look at their implementation later. I would like to hear any comments regarding my idea and whether or not you think 3D mouse support would be a usefull improvement for KiCad. So far for now.. Jost ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Re: [Kicad-developers] 3D Mouse (Spacenavigator) support
On 15/05/2017 19:10, mrkenhoff wrote: Hello everyone, I would like to add support for the SpaceNavigator 3D mouse if nobody objects. Being able to pan around the schematic or pcb canvas while keeping your other hand busy doing the "real work" might improve the ergonomics and efficiency of KiCad. To avoid having to constantly move your hand to the keyboard for shortcuts, the two commonly used tools should be user-assigneable to the buttons on the mouse. I dont know how much of an improvement a 3D mouse will yield in a 2D application like KiCad, but since I expect the implementation to be quite straight forward I would like to give it a try. Speaking of implementation, this is what I thought of: The "spacenav" library provides a simple API to communicate with the 3D mouse. It's the open source (GPL3) alternative for the proprietary library provided by 3Dconnexion (The manufacturer of the SpaceNavigator). The only problem I see is operating system portability: The spacenav library is only available for Linux right now. Windows and OSX would still depend on the proprietary library (Same API by the way). There must be a possibility to get around that, since the open source software Blender supports the SpaceNavigator mouse on all operating systems. I will take a look at their implementation later. I would like to hear any comments regarding my idea and whether or not you think 3D mouse support would be a usefull improvement for KiCad. So far for now.. Jost ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp Hi, I really am for it. Pan around PLUS zoom in/out capability with one hand/movement will be a productivity enhancement. Thank you. Iñigo. ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Re: [Kicad-developers] 3D Mouse (Spacenavigator) support
On 15.05.2017 19:10, mrkenhoff wrote: > I would like to add support for the SpaceNavigator 3D mouse if nobody objects. > [...] Nice! I think it would be best in the 3D Viewer. Altium already has this, and it's lots of fun to fly through a PCB. Perhaps you can take the implementation, behaviour, and settings dialog layout from FreeCAD, so users can switch between the two applications seamlessly: https://www.freecadweb.org/wiki/3Dconnexion_input_devices best regards, thomas ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Re: [Kicad-developers] 3D Mouse (Spacenavigator) support
Hi Jost, I think support for the SpaceNavigator would be welcome, but the final decision belongs to Wayne. If you decide to develop support for the SpaceNavigator, please do not make spacenav library a dependency for KiCad. Regards, Orson On 05/15/2017 07:10 PM, mrkenhoff wrote: > Hello everyone, > > I would like to add support for the SpaceNavigator 3D mouse if nobody > objects. > Being able to pan around the schematic or pcb canvas while keeping your > other hand busy doing the "real work" might improve the ergonomics and > efficiency of KiCad. To avoid having to constantly move your hand to the > keyboard for shortcuts, the two commonly used tools should be > user-assigneable to the buttons on the mouse. I dont know how much of an > improvement a 3D mouse will yield in a 2D application like KiCad, but > since I expect the implementation to be quite straight forward I would > like to give it a try. > > Speaking of implementation, this is what I thought of: > The "spacenav" library provides a simple API to communicate with the 3D > mouse. It's the open source (GPL3) alternative for the proprietary > library provided by 3Dconnexion (The manufacturer of the SpaceNavigator). > The only problem I see is operating system portability: The spacenav > library is only available for Linux right now. Windows and OSX would > still depend on the proprietary library (Same API by the way). There > must be a possibility to get around that, since the open source software > Blender supports the SpaceNavigator mouse on all operating systems. I > will take a look at their implementation later. > > I would like to hear any comments regarding my idea and whether or not > you think 3D mouse support would be a usefull improvement for KiCad. > > So far for now.. > Jost > > ___ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp signature.asc Description: OpenPGP digital signature ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Re: [Kicad-developers] 3D Mouse (Spacenavigator) support
Hey Jost, It must meet the following criteria: 1. Cannot break existing mouse behavior in either canvas. 2. Build on windows, linux, and osx by running make as part of the kicad build. This includes any external dependencies. 3. Keep external dependencies to a minimum. 4. Follow the usual requirements for submitting code to the project, coding policy, design, etc. If you can meet these requirements, I see no reason why we would not include the spacenavigator mouse support. Wayne On 5/16/2017 6:01 AM, Maciej Sumiński wrote: > Hi Jost, > > I think support for the SpaceNavigator would be welcome, but the final > decision belongs to Wayne. If you decide to develop support for the > SpaceNavigator, please do not make spacenav library a dependency for KiCad. > > Regards, > Orson > > On 05/15/2017 07:10 PM, mrkenhoff wrote: >> Hello everyone, >> >> I would like to add support for the SpaceNavigator 3D mouse if nobody >> objects. >> Being able to pan around the schematic or pcb canvas while keeping your >> other hand busy doing the "real work" might improve the ergonomics and >> efficiency of KiCad. To avoid having to constantly move your hand to the >> keyboard for shortcuts, the two commonly used tools should be >> user-assigneable to the buttons on the mouse. I dont know how much of an >> improvement a 3D mouse will yield in a 2D application like KiCad, but >> since I expect the implementation to be quite straight forward I would >> like to give it a try. >> >> Speaking of implementation, this is what I thought of: >> The "spacenav" library provides a simple API to communicate with the 3D >> mouse. It's the open source (GPL3) alternative for the proprietary >> library provided by 3Dconnexion (The manufacturer of the SpaceNavigator). >> The only problem I see is operating system portability: The spacenav >> library is only available for Linux right now. Windows and OSX would >> still depend on the proprietary library (Same API by the way). There >> must be a possibility to get around that, since the open source software >> Blender supports the SpaceNavigator mouse on all operating systems. I >> will take a look at their implementation later. >> >> I would like to hear any comments regarding my idea and whether or not >> you think 3D mouse support would be a usefull improvement for KiCad. >> >> So far for now.. >> Jost >> >> ___ >> Mailing list: https://launchpad.net/~kicad-developers >> Post to : kicad-developers@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~kicad-developers >> More help : https://help.launchpad.net/ListHelp > > > > > ___ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Re: [Kicad-developers] 3D Mouse (Spacenavigator) support
Hi Jost, spacenavigator support has long been one of my top wishlist items in Kicad, and one of the main things that I miss from mostly using Altium - I thought about trying to implement it myself a couple of years ago, but at that time it seemed difficult to imagine anything like a "smooth" scrolling experience with the legacy canvas. That still seems like it might be the case in the schematic editor, though with the new canvas in the PCB editor seems like it could be achieved. As far as libspnav goes, look through the source, it's actually pretty simple. I'm not sure how blender is doing it, or whether this is a good idea, but the device handling is actually pretty thinly veiled around evdev. Dan W On 15/05/17 18:10, mrkenhoff wrote: Hello everyone, I would like to add support for the SpaceNavigator 3D mouse if nobody objects. Being able to pan around the schematic or pcb canvas while keeping your other hand busy doing the "real work" might improve the ergonomics and efficiency of KiCad. To avoid having to constantly move your hand to the keyboard for shortcuts, the two commonly used tools should be user-assigneable to the buttons on the mouse. I dont know how much of an improvement a 3D mouse will yield in a 2D application like KiCad, but since I expect the implementation to be quite straight forward I would like to give it a try. Speaking of implementation, this is what I thought of: The "spacenav" library provides a simple API to communicate with the 3D mouse. It's the open source (GPL3) alternative for the proprietary library provided by 3Dconnexion (The manufacturer of the SpaceNavigator). The only problem I see is operating system portability: The spacenav library is only available for Linux right now. Windows and OSX would still depend on the proprietary library (Same API by the way). There must be a possibility to get around that, since the open source software Blender supports the SpaceNavigator mouse on all operating systems. I will take a look at their implementation later. I would like to hear any comments regarding my idea and whether or not you think 3D mouse support would be a usefull improvement for KiCad. So far for now.. Jost ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Re: [Kicad-developers] 3D Mouse (Spacenavigator) support
Hi all, thanks for your feedback. If you can meet these requirements, I see no reason why we would not include the spacenavigator mouse support. I think there shouldn't be any problem meeting these requirements. Thanks Wayne! As far as libspnav goes, look through the source, it's actually pretty simple. I'm not sure how blender is doing it, or whether this is a good idea, but the device handling is actually pretty thinly veiled around evdev. After I looked at the source I found out that Blender uses a different approach for each OS: * Windows: RawInput (Low level HID API) * Linux: Uses spnav library * OSX: Dynamically links to the original 3Dconnexion driver In my opinion the cleanest solution for KiCad would be to connect to the low level HID API of each OS and do not use any spacenav specific driver at all. That way there are no additional dependencies and the implementations for all three operating systems share a great ammount of code. As Dan noted, the libsnav "driver" (actually a deamon, to be more precise) is quite simple. It will serve as a good inspiration. Jost ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Re: [Kicad-developers] 3D Mouse (Spacenavigator) support
Hello, Jost! I would be glad to test Kicad with 3D Mouse support, too. (An Wacom Intuos Pro pen tablet is also laying around.) Maybe it's wise to talk to the devs of spacenav and check their sparse mailing list at http://spacenav.sourceforge.net how i.e. axis mapping will be abstracted across applications. It doesn't seem appealing to me that each application on Linux will have to implement it's own 3D Mouse configuration. On Linux, we have at least Blender, FreeCAD, Calligra using the libspnav stuff. libspnav was initially targeted to be cross-platform, but the current status seems unknown regarding that. There are other applications which might be worth to checkout: OpenSceneGraph, GoogleEarth and Ogre. Some issues to consider: - Seemless switching in between FreeCad and Kicad (and all the other 3D Mouse apps) should / need to be possible. (I was reading lots about user level driver vs. system driver issues.) - WGOIS and VRPN might be worth to check out? Some more links: http://janoc.rd-h.com/archives/74 https://github.com/vrpn/vrpn/wiki/Troubleshooting-VRPN https://groups.google.com/forum/#!topic/liquid-galaxy/ThdQ-g4B5g8 https://sourceforge.net/p/wgois/patches/30/ https://sourceforge.net/p/wgois/patches/34/ We are adding more and more features even some "professional" 10kEUR+ software doesn't support! (Or they say it's all there, but the implementation is just crap.) Great! Regards, Clemens On 2017-05-17 12:26, mrkenhoff wrote: > Hi all, > > thanks for your feedback. >> If you can meet these requirements, I see no reason why we would not >> include the spacenavigator mouse support. > I think there shouldn't be any problem meeting these requirements. Thanks > Wayne! >> As far as libspnav goes, look through the source, it's actually pretty >> simple. I'm not sure how blender is doing it, or whether this is a good >> idea, but the device handling is actually pretty thinly veiled around >> evdev. > After I looked at the source I found out that Blender uses a different > approach for each OS: > > * Windows: RawInput (Low level HID API) > * Linux: Uses spnav library > * OSX: Dynamically links to the original 3Dconnexion driver > > In my opinion the cleanest solution for KiCad would be to connect to the low > level HID API of each OS and do not use any spacenav specific driver at all. > That way there are no additional dependencies and the implementations for all > three operating systems share a great ammount of code. > As Dan noted, the libsnav "driver" (actually a deamon, to be more precise) is > quite simple. It will serve as a good inspiration. > > Jost > > > ___ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Re: [Kicad-developers] 3D Mouse (Spacenavigator) support
Hello Jost, I too feel a clever configured 3D mouse would enhance productivity. My Spacepilot is awaiting your code! Especially now that OSX nightlies are coming back - yikes! Thanks to all! Jörg Hermann ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Re: [Kicad-developers] 3D Mouse (Spacenavigator) support
On 2017-05-15 02:07 PM, Thomas Kindler wrote: I think it would be best in the 3D Viewer. It would be really nice to be able to use a SpaceNavigator in the 3D viewer. It would also be useful to pan and zoom in eeschema and pcbnew. After I've been using my SpaceNavigator while doing some 3D modelling in Rhino I find myself reaching for the device when I'm in other programs only to be disappointed. The question becomes how to add the support. Blender 2.4x under Linux used to use an external daemon to provide support for the SpaceNavigator. In 2.5 and later they changed how the device was used as it no longer needed the daemon. Don't forget to add a preference panel to allow adjusting the dead space and some other features of the device, and assigning functions to the two buttons. -- Cheers! Kevin. http://www.ve3syb.ca/ |"Nerds make the shiny things that distract Owner of Elecraft K2 #2172 | the mouth-breathers, and that's why we're | powerful!" #include | --Chris Hardwick ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp