From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <6e35c0621001052152s2d71c3b3vf00b7d3320003782@mail.gmail.com> References: <20080524161806.B1B3B1E8C56@holo.morphisms.net> <5339c545ab101671638d533f0ddc5998@smgl.fr.eu.org> <14ec7b181001052120m33d8c922xfa5ee731031b596a@mail.gmail.com> <6e35c0621001052152s2d71c3b3vf00b7d3320003782@mail.gmail.com> Date: Wed, 6 Jan 2010 00:05:25 -0700 Message-ID: <14ec7b181001052305x52fd6985n5754974534e02186@mail.gmail.com> From: andrey mirtchovski To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Subject: Re: [9fans] evoluent mouse review Topicbox-Message-UUID: b7fa9a34-ead5-11e9-9d60-3106f5b1d025 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)