Re: Apple Trackpad driver

看板FB_current作者時間12年前 (2014/01/31 10:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串9/18 (看更多)
--001a1133a92274fe5a04f13a57f8 Content-Type: text/plain; charset=UTF-8 Hi Hans, pos_x[] is not non-inialized, it may be previous pos_x, it is still ok for getting dx. "n" var is trying to reduce "untouch" sensor data for post proccessing. I attach a new patch may be more clear, also fixed unexpected movement when button status or ntouch changing. Cheers, Huang Wen Hui 2014-01-30 Hans Petter Selasky <hps@bitfrost.no>: > Hi Huang, > > > On 01/30/14 06:56, Huang Wen Hui wrote: > >> Hans, >> >> Thanks for you take care of it and commit it! I found two problems: >> >> 1. The selection is not expected when selection with 2 fingers sometimes. >> 2. Unexpected scrolling when Click with 2 fingers. >> >> This patch can fix that. The var "n" modify to "ntouch" seems to be >> necessary. >> >> > Right, but aren't we then accessing non-initialised sc->pos_x[] data ? > > Because if ntouch == 2, n can be less than or equal to 2, due to continue > in for-loop above. What is the purpose of the "n" variable? > > Can you explain? > > - if (n == 2) { > + if (ntouch == 2) { > sc->distance = max(sc->distance, max( > abs(sc->pos_x[0] - sc->pos_x[1]), > abs(sc->pos_y[0] - sc->pos_y[1]))); > > --HPS > > >> Cheers, >> Huang Wen Hui >> >> >> 2014-01-29 Hans Petter Selasky <hps@bitfrost.no> >> >> On 01/29/14 09:49, Lundberg, Johannes wrote: >>> >>> Hi >>>> >>>> I tested the driver on a 2012 Macbook Air 11" and it works great! Good >>>> job! >>>> >>>> Is there a way to disable click-by-touch? I always preferred clicking >>>> with >>>> the physical button that is built in to the pad. >>>> >>>> >>>> Hi, >>> >>> I've added an "#if 0" around the 1 finger tap code until further. Maybe >>> this feature can be tunable? >>> >>> I fixed the code style, added some range checks and cleared some buffer >>> issues. >>> >>> When you assign a signed value to an unsigned variable, you should range >>> check it, because the sign might cause an overflow when you use it later >>> on. >>> >>> int8_t x = -1; >>> >>> uint32_t t = x; >>> >>> "t" is now "0xffffffffU" and not "255". >>> >>> Tested the code on my MacBookPro. Hope I didn't break anything. If so, >>> send a patch to freebsd-usb. >>> >>> http://svnweb.freebsd.org/changeset/base/261260 >>> >>> To get the touchpad working with Xorg, I needed to re-compile HALD with >>> the attached patch. >>> >>> kwm: Can you get the attached patch into ports? >>> >>> Auto-loading of wsp via devd will be done later. Simply need to >>> re-generate usb.conf in /etc ... >>> >>> --HPS >>> >>> >>> >>> >>> _______________________________________________ >>> freebsd-current@freebsd.org mailing list >>> http://lists.freebsd.org/mailman/listinfo/freebsd-current >>> To unsubscribe, send any mail to "freebsd-current-unsubscribe@ >>> freebsd.org" >>> >> > --001a1133a92274fe5a04f13a57f8 Content-Type: text/plain; charset=US-ASCII; name="wsp.diff" Content-Disposition: attachment; filename="wsp.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hr2sjazj0 LS0tIHdzcC5jLm9yaWcJMjAxNC0wMS0zMCAwODoxNDoyNi4wMDAwMDAwMDAgKzA4MDAKKysrIHdz cC5jCTIwMTQtMDEtMzEgMDk6NDQ6MDIuMDAwMDAwMDAwICswODAwCkBAIC02MDUsNyArNjA1LDgg QEAKIAlpbnQJZHpfY291bnQ7CiAjZGVmaW5lCVdTUF9EWl9NQVhfQ09VTlQJMzIKIAlpbnQJZHRf c3VtOwkJCS8qIFQtYXhpcyBjdW11bGF0aXZlIG1vdmVtZW50ICovCi0KKwkKKwl1aW50OF90IG9f bnRvdWNoOwkJLyogb2xkIHRvdWNoIGZpbmdlciBzdGF0dXMgKi8KIAl1aW50OF90CWZpbmdlcjsJ CQkvKiAwIG9yIDEgKiwgY2hlY2sgd2hpY2ggZmluZ2VyIG1vdmluZyAqLwogCXVpbnQxNl90IGlu dHJfY291bnQ7CiAjZGVmaW5lCVdTUF9UQVBfVEhSRVNIT0xECTMKQEAgLTg3MSw3ICs4NzIsNiBA QAogCWludCBkeCA9IDA7CiAJaW50IGR5ID0gMDsKIAlpbnQgZHogPSAwOwotCWludCBuID0gMDsK IAlpbnQgbGVuOwogCWludCBpOwogCkBAIC05MzYsMTMgKzkzNiw5IEBACiAJCQkgICAgZltpXS50 b29sX21ham9yLCBmW2ldLnRvb2xfbWlub3IsIGZbaV0ub3JpZW50YXRpb24sCiAJCQkgICAgZltp XS50b3VjaF9tYWpvciwgZltpXS50b3VjaF9taW5vciwgZltpXS5tdWx0aSk7CiAKLQkJCWlmIChm W2ldLnRvdWNoX21ham9yIDwgdHVuLnByZXNzdXJlX3VudG91Y2hfdGhyZXNob2xkKQotCQkJCWNv bnRpbnVlOwotCi0JCQlzYy0+cG9zX3hbbl0gPSBmW2ldLmFic194OwotCQkJc2MtPnBvc195W25d ID0gcGFyYW1zLT55Lm1pbiArIHBhcmFtcy0+eS5tYXggLSBmW2ldLmFic195OwotCQkJc2MtPmlu ZGV4W25dID0gJmZbaV07Ci0JCQluKys7CisJCQlzYy0+cG9zX3hbaV0gPSBmW2ldLmFic194Owor CQkJc2MtPnBvc195W2ldID0gcGFyYW1zLT55Lm1pbiArIHBhcmFtcy0+eS5tYXggLSBmW2ldLmFi c195OworCQkJc2MtPmluZGV4W2ldID0gJmZbaV07CiAJCX0KIAogCQlzYy0+c2Nfc3RhdHVzLmZs YWdzICY9IH5NT1VTRV9QT1NDSEFOR0VEOwpAQCAtOTU3LDggKzk1Myw4IEBACiAJCWlmIChoLT5x MiA9PSA0KQogCQkJc2MtPmludHJfY291bnQrKzsKIAotCQlpZiAoc2MtPm50YXBzIDwgbikgewot CQkJc3dpdGNoIChuKSB7CisJCWlmIChzYy0+bnRhcHMgPCBudG91Y2gpIHsKKwkJCXN3aXRjaCAo bnRvdWNoKSB7CiAJCQljYXNlIDE6CiAJCQkJaWYgKGZbMF0udG91Y2hfbWFqb3IgPiB0dW4ucHJl c3N1cmVfdGFwX3RocmVzaG9sZCkKIAkJCQkJc2MtPm50YXBzID0gMTsKQEAgLTk3OCw3ICs5NzQs NyBAQAogCQkJCWJyZWFrOwogCQkJfQogCQl9Ci0JCWlmIChuID09IDIpIHsKKwkJaWYgKG50b3Vj aCA9PSAyKSB7CiAJCQlzYy0+ZGlzdGFuY2UgPSBtYXgoc2MtPmRpc3RhbmNlLCBtYXgoCiAJCQkg ICAgYWJzKHNjLT5wb3NfeFswXSAtIHNjLT5wb3NfeFsxXSksCiAJCQkgICAgYWJzKHNjLT5wb3Nf eVswXSAtIHNjLT5wb3NfeVsxXSkpKTsKQEAgLTEwNTAsMTUgKzEwNDYsMzMgQEAKIAkJCWlmIChz Yy0+c2NfdG91Y2ggPT0gV1NQX1NFQ09ORF9UT1VDSCkKIAkJCQlzYy0+c2NfdG91Y2ggPSBXU1Bf VE9VQ0hJTkc7CiAKLQkJCWlmIChuICE9IDAgJiYKKwkJCWlmIChudG91Y2ggIT0gMCAmJgogCQkJ ICAgIGgtPnEyID09IDQgJiYKIAkJCSAgICBmWzBdLnRvdWNoX21ham9yID49IHR1bi5wcmVzc3Vy ZV90b3VjaF90aHJlc2hvbGQpIHsKIAkJCQlkeCA9IHNjLT5wb3NfeFswXSAtIHNjLT5wcmVfcG9z X3g7CiAJCQkJZHkgPSBzYy0+cG9zX3lbMF0gLSBzYy0+cHJlX3Bvc195OwotCQkJCWlmIChuID09 IDIgJiYgc2MtPnNjX3N0YXR1cy5idXR0b24gIT0gMCkgeworCisJCQkJLyogSWdub3JlIG1vdmVt ZW50IGZyb20gaWJ0PTEgdG8gaWJ0PTAgKi8KKwkJCQlpZiAoc2MtPnNjX3N0YXR1cy5vYnV0dG9u ICE9IDAgJiYgCisJCQkJICAgIHNjLT5zY19zdGF0dXMuYnV0dG9uID09IDApIHsKKwkJCQkJZHgg PSAwOworCQkJCQlkeSA9IDA7CisJCQkJfQorCQkJCS8qIElnbm9yZSBtb3ZlbWVudCBpZiBudG91 Y2ggY2hhbmdlZCAqLworCQkJCWlmIChzYy0+b19udG91Y2ggIT0gbnRvdWNoKSB7CisJCQkJCWR4 ID0gMDsKKwkJCQkJZHkgPSAwOworCQkJCX0KKworCQkJCWlmIChudG91Y2ggPT0gMiAmJiBzYy0+ c2Nfc3RhdHVzLmJ1dHRvbiAhPSAwKSB7CiAJCQkJCWR4ID0gc2MtPnBvc194W3NjLT5maW5nZXJd IC0gc2MtPnByZV9wb3NfeDsKIAkJCQkJZHkgPSBzYy0+cG9zX3lbc2MtPmZpbmdlcl0gLSBzYy0+ cHJlX3Bvc195OwotCQkJCQlpZiAoZlswXS5vcmlnaW4gPT0gMCB8fCBmWzFdLm9yaWdpbiA9PSAw KSB7CisJCQkJCQorCQkJCQkvKiBJZ25vcmUgbW92ZW1lbnQgb2Ygc3dpdGNoIGZpbmdlciBvcgor CQkJCQkgKiBtb3ZlbWVudCBmcm9tIGlidD0wIHRvIGlidD0xCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICovCisJCQkJCWlmIChmWzBdLm9yaWdpbiA9PSAwIHx8IGZb MV0ub3JpZ2luID09IDAgfHwKKwkJCQkJICAgIHNjLT5zY19zdGF0dXMub2J1dHRvbiAhPSBzYy0+ c2Nfc3RhdHVzLmJ1dHRvbikgewogCQkJCQkJZHggPSAwOwogCQkJCQkJZHkgPSAwOwogCQkJCQkJ c2MtPmZpbmdlciA9IDA7CkBAIC0xMDkyLDcgKzExMDYsNyBAQAogCQkJc2MtPmR4X3N1bSArPSBk eDsKIAkJCXNjLT5keV9zdW0gKz0gZHk7CiAKLQkJCWlmIChuID09IDIgJiYgc2MtPnNjX3N0YXR1 cy5idXR0b24gPT0gMCkgeworCQkJaWYgKG50b3VjaCA9PSAyICYmIHNjLT5zY19zdGF0dXMuYnV0 dG9uID09IDApIHsKIAkJCQlpZiAoc2MtPnNjcl9tb2RlID09IFdTUF9TQ1JfTk9ORSAmJgogCQkJ CSAgICBhYnMoc2MtPmR4X3N1bSkgKyBhYnMoc2MtPmR5X3N1bSkgPiA1MCkKIAkJCQkJc2MtPnNj cl9tb2RlID0gYWJzKHNjLT5keF9zdW0pID4KQEAgLTExMzQsMTAgKzExNDgsMTIgQEAKIAkJc2Mt PnByZV9wb3NfeCA9IHNjLT5wb3NfeFswXTsKIAkJc2MtPnByZV9wb3NfeSA9IHNjLT5wb3NfeVsw XTsKIAotCQlpZiAobiA9PSAyICYmIHNjLT5zY19zdGF0dXMuYnV0dG9uICE9IDApIHsKKwkJaWYg KG50b3VjaCA9PSAyICYmIHNjLT5zY19zdGF0dXMuYnV0dG9uICE9IDApIHsKIAkJCXNjLT5wcmVf cG9zX3ggPSBzYy0+cG9zX3hbc2MtPmZpbmdlcl07CiAJCQlzYy0+cHJlX3Bvc195ID0gc2MtPnBv c195W3NjLT5maW5nZXJdOwogCQl9CisJCXNjLT5vX250b3VjaCA9IG50b3VjaDsKKwogCWNhc2Ug VVNCX1NUX1NFVFVQOgogdHJfc2V0dXA6CiAJCS8qIGNoZWNrIGlmIHdlIGNhbiBwdXQgbW9yZSBk YXRhIGludG8gdGhlIEZJRk8gKi8K --001a1133a92274fe5a04f13a57f8 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" --001a1133a92274fe5a04f13a57f8--
文章代碼(AID): #1IwmFV3z (FB_current)
討論串 (同標題文章)
文章代碼(AID): #1IwmFV3z (FB_current)