Apple Trackpad driver
Hans Petter Selasky
hps at bitfrost.no
Thu Jan 30 06:45:41 UTC 2014
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 at 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 at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-current
>> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
More information about the freebsd-current
mailing list