Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 31 Jan 2014 09:46:24 +0800
From:      Huang Wen Hui <huanghwh@gmail.com>
To:        Hans Petter Selasky <hps@bitfrost.no>
Cc:        "kwm@freebsd.org" <kwm@freebsd.org>, freebsd-current <freebsd-current@freebsd.org>, "freebsd-usb@freebsd.org" <freebsd-usb@freebsd.org>
Subject:   Re: Apple Trackpad driver
Message-ID:  <CAB8unca0ViSrg9ExGX%2BsEfQta9AAXbkKoaGr8RLX1-ksay2tog@mail.gmail.com>
In-Reply-To: <52E9F546.9090005@bitfrost.no>
References:  <CAB8uncaLEn4CaJv8%2BowESe_zUUK%2Bgem_bXpEjhsOJE69m_fWAg@mail.gmail.com> <CAJ-Vmon4Gk6bqoT%2BJf-bRxE0%2BNJ1NjR0wjum-HjoVFDN-2e=8Q@mail.gmail.com> <CAASDrV=pbDpZCGvEjnD8VS0D_HyC8=L3jQ7rfGszG6=PtxaE3Q@mail.gmail.com> <CAASDrVmqijq51OEH7USLutPSgme7YWhXZZX4tGROLHVPoz2VkA@mail.gmail.com> <52E8DDA3.3070301@bitfrost.no> <CAB8uncZVCbFWhJrEosRtRebRip4HjArsZx9FwKE0q9EjYDncmg@mail.gmail.com> <52E9F546.9090005@bitfrost.no>

next in thread | previous in thread | raw e-mail | index | archive | help
--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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAB8unca0ViSrg9ExGX%2BsEfQta9AAXbkKoaGr8RLX1-ksay2tog>