[PD] wacom usb tablet as controller ?
bbogart at ryerson.ca
bbogart at ryerson.ca
Wed Apr 9 17:29:56 CEST 2003
I think the more generic object makes more sense, the most flexible that works with multiple devices.
For the end user experience (wanting each axis come out of a different outlet) Then a a set of abstractions for those devies using the generic object could be made.
Still have a "tablet" object, acts just the same way, but can easy be changed (at the patch level) to a mouse object...
my 2 cents.
B.
----- Original Message -----
From: Hans-Christoph Steiner <hans at eds.org>
Date: Wednesday, April 9, 2003 11:14 am
Subject: Re: [PD] wacom usb tablet as controller ?
>
> You misunderstood the kind of object I am building. Look at J.
> Sarlo'sjoystick object. What I am doing is like that except with
> fixed outlets
> for the axes rather than dynamically assigned axes. A generic
> version of
> that would not work very well.
>
> As for the event interface object you specify, I personally would
> find it
> less useful than specific (albeit very similar) objects for
> specific devices.
> When I choose a controller, I don't think of what kind of event
> interface I am
> using, but rather whether I am using a mouse, a joystick, etc.
>
> Its a matter of different approach. Defining the interface and then
> implementing it, versus building the interface to mirror the
> implementation. I prefer to design the interface first, then
> implement.
>
> Plus since I work on Windows, MacOS X and Linux, I want my
> objects to be cross-platform. And I am not sure how compatible
> the three
> different HID schemes are (I have only used the linux event
> system, and
> read about the MacOS X HID stuff).
>
> .hc
>
>
> On Wed, 9 Apr 2003, Christian Klippel wrote:
>
> > hi,
> >
> > Am Mittwoch, 9. April 2003 07:18 schrieb Hans-Christoph Steiner:
> > > The problem with writing a generic event interface object is
> that the
> > > number of outlets would change for every device, so for
> example, if you
> > > wrote your patch for a mouse with a wheel, that would give you
> > > three outlets for the x, y, and wheel axes. But then throw in
> a mouse
> > > with no wheel, and you'll get one less outlet, and your patch
> is broken.
> > >
> >
> > huh ? sorry, but you are completely wrong with that.
> >
> > exactly that is the reason the event interface exists.
> > you have uniform messages for every kind of (not only) hid input
> device, like
> > mice, joysticks, keyboards, etc .....
> >
> > and that is the reason i made "usbtablet" as object first, and
> no other
> > "special" objects, but the the generic event object as this is
> enough.>
> > you may want to take a look at http://www.frogmouth.net/hid-
> doco/x401.html> there you can see the input_event structure, and
> that is the only data you get
> > from the event interface. that is :
> >
> > struct input_event {
> > struct timeval time;
> > unsigned short type;
> > unsigned short code;
> > unsigned int value;
> > };
> >
> > for mouse movement, it could be like type=EV_REL, code=REL_X,
> value=85 ...
> > for a tablet it could be type=EV_ABS, code=ABS_Y, value=19282 ....
> > or for a keybpard type=EV_KEY, code=KEY_SPACE, value=0 ....
> > or for the mouse wheel type=EV_REL, code=REL_WHEEL, value=12 ....
> >
> > as you can see, you have only 3 outlets, or four if you want to
> have the
> > timestamp as well.
> >
> > it should be really easy to decode that output in a patch by
> route or select.
> > that avoids the redundancy of having multiple binary objects for
> more or less
> > the same function. and, you dont need to add the input devices
> anywhere to
> > access them, like with xinput. its simply a device file, thats
> it ...
> >
> > greets,
> >
> > chris
> >
>
> zen
> \
> \
> \[D[D[D[D
>
>
> _______________________________________________
> PD-list mailing list
> PD-list at iem.kug.ac.at
> http://iem.kug.ac.at/cgi-bin/mailman/listinfo/pd-list
>
More information about the Pd-list
mailing list