here's a report. i obviously don't know enough about touch controls to
be of any use, but i'd like to help with testing.

- on my snow leopard macbook pro it appears that the multitouch
library is found and devdraw is compiled with -DMULTITOUCH (indeed if
i undef this the problem goes away).

- multitouch works according to osx and the touchCallback routine is
called with the correct number of nFingers (at least for n<=5),
unfortunately at no point does the classifyTouch classify any touches
as button clicks.

- there are two preferences for the trackpad -- 'tap to click'
(available for primary button with one-finger tap and secondary button
with two-finger tap, there is not tertiary button option) or 'press to
click' (which generates a primary button click only, regardless of how
many buttons were pressed when the clicking occurred). here the
behaviour differs a bit in terms of expected actions, although the end
result is the same:

- pressing to click with one finger generates a correct primary mouse
button event (even secondary, if the right side of the trackpad is
set) for mouseevent, however with osx.touched set by touchCallback we
try searching the higher-order bits of "but" and find nothing

- tapping to click generates a correct primary or secondary mouse
button event, but again gets caught by osx.touched set and nothing in
the upper bits in mouseevent()

in both cases the keystroke event is generated by osx itself and not
by touchCallback.

if i print out the number of fingers passes to touchCallback and the
resulting buttons as calculated by classifyTouch, i see the correct
value of nFingers but always zero buttons pressed. i was expecting (in
order for chording to work) that if i tap a finger i would see a
button stroke, instead i see multiple calls to touchCallback but no
button classification.

digging a bit deeper, it appears that the size of my click is around
0.2 to 0.5 (with a size sensitivity of 1.25) so my threshold time
never accumulates. pressing and holding a full finger onto the
trackpad finally lets the threshold time accumulate, but that's now
too long for a click to be generated. setting the size sensitivity to
some low value (0.05) finally lets classifyTouch report appropriate
clicks if i tap in the upper part of the trackpad but those do not
translate into actual click events sent to acme. the upper part of the
trackpad is exactly the wrong place for one to be clicking on a
macbook though...

unfortunately, i think a proper solution for trackpads may be a bit
more involved than what my simple understanding of the problem can
fix.

ps: two-finger scrolling works as usual, but that's outside of the
realm of multitouch (i.e., it's worked since leopard)

Reply via email to