[Kicad-developers] 3D Mouse (Spacenavigator) support

2017-05-15 Thread mrkenhoff

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

2017-05-15 Thread Iñigo

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

2017-05-15 Thread Thomas Kindler
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

2017-05-16 Thread Maciej Sumiński
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

2017-05-16 Thread Wayne Stambaugh
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

2017-05-16 Thread Dan Weatherill

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

2017-05-17 Thread mrkenhoff

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

2017-05-17 Thread Clemens Koller
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

2017-05-17 Thread Jörg Hermann

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

2017-05-18 Thread Kevin Cozens

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