Re: Adding SpaceNavigator support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/25/08 6:22 PM, "Simon Budig" <simon@xxxxxxxx> wrote:

> Hi Ettore.
> 
> Ettore Pasquini (ettore_pasquini@xxxxxxxxxxxxxxx) wrote:
>> I work for 3Dconnexion (a Logitech company) and we make 3D input devices.
>> We also care about popular 2D apps that could use the high sensitivity of
>> our SpaceNavigator for panning and zooming.  GIMP was under our radar and
>> now we are considering to add support for our devices.
>> 
>> I am new to the GIMP code base so I wanted to ask some questions about the
>> architecture first.  What would be the best way (from a pure engineering
>> standpoint) to integrate my code? Meaning, via a plugin or just into the
>> main app?  Are there modules for I/O events (to deal with tablets,
>> controllers, etc) that I should start with and expand?
>> 
>> BTW let's not worry about licensing issues now.  My code will obviously be
>> shared and our devices are HID compliant, so no need to mess with
>> proprietary drivers.
> 
> yeah, except for at least one quirk  :)
> (I wrote the patch to enable the LEDs for the Linux-Kernel  :)

> On what Operation System are you working btw.?

We would like to support OS X, Windows, and Linux.

> There already is a HID input module for the Gimp, you can find the
> source code in the top-level "modules" directory, relevant are the
> controller_*-files.
> 
> We have various input modules, also available is a MIDI input module.

I also developed a super-minimal library built on top of OS frameworks (HID
calls on OS X, Direct Input on windoze) that is able to abstract out a
generic N-degrees of freedom device like joysticks or other controllers with
more than 2 axes.  So basically it gives you a uniform cross platform device
class and an API to read its axes/buttons.  I didn't implement it for Linux
yet.  It's BSD licensed.  If interested/needed, I can share this.  But
probably you guys already have something similar.

> 
> The current architecture unfortunately does not yet allow you to hook
> into the (paint)-Tools directly, you can only invoke "actions". There
> are lots of actions and it is easy to e.g. control the opacity.

Mmmh, not sure  I follow here, but like I said, I know nothing about GIMP.
Not yet. :) 

> 
> However, you can not control the pointer position in this way.

That's ok.  I was thinking to actually move the image around, not the
pointer.  Our aim is to ease navigation not access to features.  So
basically we want to avoid (e.g.) the time you spend by moving the mouse
over to the scroll bars, dragging them, and re-center the image where you
want it to be.  We are thinking that with our device, you don't need to move
the mouse away from what you were doing, you can easily pan the image with a
nudge on the SpaceNavigator and just keep working.

> 
> Have a look into this, I'd be glad to help you to work on this.

Thanks! I'll start looking at it.

Ettore

_______________________________________________
Gimp-developer mailing list
Gimp-developer@xxxxxxxxxxxxxxxxxxxxxx
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux