Okay, that got me a little further, many thanks!  I've added the following 
code to pyglet_view

    @PygletView.method('v@') 
    def tabletProximity_(self, nsevent):

        capabilityMask = nsevent.capabilityMask()
        deviceID = nsevent.deviceID()
        #   these are listed 
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSEvent_Class/#//apple_ref/doc/uid/20000016-SW32
        #   but do not seem to work here
        #enteringProximity = nsevent.enteringProximity()
        pointingDeviceID = nsevent.pointingDeviceID()
        #pointDeviceSerialNumber = nsevent.pointDeviceSerialNumber()
        #pointDeviceType = nsevent.pointDeviceType()
        self._window.dispatch_event('on_tablet_proximity', capabilityMask, 
deviceID, pointingDeviceID)

    @PygletView.method('v@') 
    def tabletPoint_(self, nsevent):
        absoluteX = nsevent.absoluteX()
        absoluteY = nsevent.absoluteY()
        absoluteZ = nsevent.absoluteZ()
        buttonMask = nsevent.buttonMask()
        rotation = nsevent.rotation()
        pressure = nsevent.pressure()
        tangentialPressure = nsevent.tangentialPressure()
        tilt = nsevent.tilt()
        vendorDefined = nsevent.vendorDefined()
        self._window.dispatch_event('on_tablet_point', absoluteX, 
absoluteY, absoluteZ, buttonMask, rotation, pressure, tangentialPressure, 
tilt, vendorDefined)


and this is printing sporadic info - is there another type that I'm 
supposed to be looking for?  I'm getting maybe 20% of my tablet presses, 
which is not helpful as I'm developing a drawing application.
Maybe it has something to do with event coalescing?  

I'm unable to get tablet proximity information out either... any further 
tips or tricks would be greatly appreciated.  Thanks again

Andrew


On Wednesday, April 20, 2016 at 2:40:07 PM UTC-4, Phillip Nguyen wrote:
>
>
> It’s been a really long time since I looked at this code, but I think you 
> would want to add something like the following method: 
>
> @PygletView.method(‘v@‘) 
> def tabletPoint_(self, nsevent): 
>     // insert code here to extract relevant info from nsevent 
>     self._window.dispatch_event(‘on_tablet_point’, x, y, buttons, 
> pressure, tilt, modifiers) 
>
> to the existing code in pyglet/window/cocoa/pyglet_view.py.  As there 
> currently is no on_tablet_point event in pyglet, you would be defining it. 
>
> —phillip 
>     
>
>
> > On Apr 20, 2016, at 12:00 PM, future stack <[email protected] 
> <javascript:>> wrote: 
> > 
> > I feel like this topic might warrant adding something to the 
> documentation, since the current documentation is somewhat misleading. 
> > 
> > This page simply remarks that enumerating tablets is impossible on osx 
> but says nothing about an alternative approach 
> > 
> https://pyglet.readthedocs.org/en/pyglet-1.2-maintenance/api/pyglet/input/pyglet.input.get_tablets.html
>  
> > 
> > This page on "other devices" covers joysticks and an apple remote but 
> nothing about tablets: 
> > 
> https://pyglet.readthedocs.org/en/pyglet-1.2-maintenance/programming_guide/input.html?highlight=devices
>  
> > 
> > I can't tell if this is a failing on my part to understand something 
> basic, or what, but it's been somewhat frustrating digging around for a 
> simple example.  This seems like a fairly common use case. 
> > 
> > Andrew 
> > 
> > On Wednesday, April 20, 2016 at 12:17:20 PM UTC-4, future stack wrote: 
> > Pardon my ignorance, I've accessed this stuff via NSEvent in c++ but am 
> unsure how this would be done in a pyglet compatible way.  I've tried 
> adding listeners to the window for the handlers defined in the tablet, and 
> I've tried enumerating and opening the devices directly with no luck.   Am 
> I supposed to use pyobjc or NSpython? 
> > 
> > Cheers 
> > 
> > 
> > On Wednesday, April 20, 2016 at 12:06:27 PM UTC-4, swiftcoder wrote: 
> > I don't know what Pyglet's support for tablets is like at the moment, 
> but Wacom provides excellent documentation as to accessing tablet events on 
> Mac: 
> > 
> > http://www.wacomeng.com/mac/Developers%20Guide.htm 
> > 
> > At this point I don't honk any mucking around in Carbon or HID is 
> required. The standard Cocoa NSEvent object carries everything you need, 
> which should make it easy to expose to pyglet. 
> > On Wed, Apr 20, 2016 at 9:00 AM, Tristam MacDonald <[email protected]> 
> wrote: 
> > Aren't the 
> > 
> > On Wed, Apr 20, 2016 at 9:00 AM, Tristam MacDonald <[email protected]> 
> wrote: 
> > 
> > On Wed, Apr 20, 2016 at 7:57 AM, future stack <[email protected]> 
> wrote: 
> > Hello - I'm curious what the state of tablet support is on osx and if 
> someone can provide me with an example of how to read pen pressure from a 
> stylus? 
> > 
> > I've attached my attempt from a few days ago, but I've been informed 
> that my approach is wrong. 
> > 
> > A friend linked me to this page: 
> > 
> > 
> https://github.com/jpaalasm/pyglet/blob/master/experimental/input/tablet-notes.txt#L37
>  
> > 
> > which says that events are subscribeable via carbon or HID, but I can't 
> find a working example of this anywhere. 
> > 
> > I also found this: 
> > https://bitbucket.org/AnomalousUnderdog/pythonmactabletlib/downloads 
> > 
> > but this requires wxwidgets to work, which is apparently still 32 bit, 
> and downgrading my python to get this to work seems less than ideal. 
> > 
> > Am I barking up the wrong tree(s)?   Any leads would be appreciated. 
> > 
> > Andrew 
> > 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups "pyglet-users" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to [email protected]. 
> > To post to this group, send email to [email protected]. 
> > Visit this group at https://groups.google.com/group/pyglet-users. 
> > For more options, visit https://groups.google.com/d/optout. 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups "pyglet-users" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to [email protected] <javascript:>. 
> > To post to this group, send email to [email protected] 
> <javascript:>. 
> > Visit this group at https://groups.google.com/group/pyglet-users. 
> > For more options, visit https://groups.google.com/d/optout. 
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"pyglet-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/pyglet-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to