Couple things:

- Is your approach because we aren't sure if there are bcm5974 or appletouch 
devices lurking somewhere between 0x223-0x229 or 0x22c-0x22f? If so, I think we 
should err on the side of appletouch and go with my original suggestion. 
Appletouch defaults on a bcm5974 device are much more usable than bcm5974 
defaults on an appletouch device.

- If you still feel your approach is better, I believe it needs to go after the 
"{0x05ac, 0x223, PRODUCT_ANY, MODEL_UNIBODY_MACBOOK}" line instead of before; 
the device qualifies for both lines and my testing indicates the last 
qualifying line takes precedence. Alternatively we could nix the ambiguity and 
just do something like:

     {0x0002, 0x0007, 0x0007, MODEL_SYNAPTICS},
     {0x0002, 0x0008, 0x0008, MODEL_ALPS},
     {0x05ac, PRODUCT_ANY, 0x222, MODEL_APPLETOUCH},
+    {0x05ac, 0x223, 0x228, MODEL_UNIBODY_MACBOOK},
+    {0x05ac, 0x229, 0x22b, MODEL_APPLETOUCH},
+    {0x05ac, 0x22c, PRODUCT_ANY, MODEL_UNIBODY_MACBOOK},
-    {0x05ac, 0x223, PRODUCT_ANY, MODEL_UNIBODY_MACBOOK},
     {0x0002, 0x000e, 0x000e, MODEL_ELANTECH},
     {0x0, 0x0, 0x0, 0x0}

This also makes it easier to understand at a glance.

Thanks,
- Clinton

On 04/29/2014 12:28 AM, Peter Hutterer wrote:
> On Mon, Apr 21, 2014 at 10:20:19PM -0500, Clinton Sprain wrote:
>> Macbook 3,1, Macbook 4,1 (not Air). First reported in Ubuntu 13.10 from what 
>> I've seen. This makes sense as the problematic change appears to have been 
>> introduced between 1.6.3 and 1.7.1, which was the version jump between 13.04 
>> and 13.10.
>>
>> http://cgit.freedesktop.org/xorg/driver/xf86-input-synaptics/commit/src/synaptics.c?id=0e222876d7da7acbaaf955c2e7b7efdf3549bde9
>>
>> http://launchpadlibrarian.net/145837828/xserver-xorg-input-synaptics_1.6.3-0ubuntu1.1_1.7.1-0ubuntu1.diff.gz
>>
>> See also:
>> http://lists.x.org/archives/xorg/2014-February/056386.html
>>
>> https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/+bug/1246215
>>
>> My Macbook 3,1 reports as 0x229. Around the web I've seen devices report
>> as 0x22a that also use the old appletouch kernel driver. This is what I'm
>> basing the shift on. You could potentially check the actual kernel driver
>> being used instead (appletouch vs bcm5974) and load defaults based on that,
>> but this would likely be a nontrivial change.
> 
> the kernel drivers say that 0x230 and above is bcm5974 and anything below
> 0x223 is appletouch. In between there's 0x229, 0x22a and 0x22b for the
> MacBook3,1, which your device falls into.
> Based on that, this diff should work:
> 
> diff --git a/src/eventcomm.c b/src/eventcomm.c
> index 0a6ea48..f97390e 100644
> --- a/src/eventcomm.c
> +++ b/src/eventcomm.c
> @@ -337,6 +337,7 @@ static struct model_lookup_t model_lookup_table[] = {
>      {0x0002, 0x0007, 0x0007, MODEL_SYNAPTICS},
>      {0x0002, 0x0008, 0x0008, MODEL_ALPS},
>      {0x05ac, PRODUCT_ANY, 0x222, MODEL_APPLETOUCH},
> +    {0x05ac, 0x229, 0x22b, MODEL_APPLETOUCH},
>      {0x05ac, 0x223, PRODUCT_ANY, MODEL_UNIBODY_MACBOOK},
>      {0x0002, 0x000e, 0x000e, MODEL_ELANTECH},
>      {0x0, 0x0, 0x0, 0x0}
> 
> Can you give this a try?
> 
> Cheers,
>    Peter
> 
>>
>> As for why it hasn't caused much of a fuss, the bug only hit the *buntus 
>> about 6 months ago and technically-apt users will often figure out how to 
>> work around it with synclient etc. I'd expect this to affect more people in 
>> the near future as Apple begins to drop support for the versions of OS X 
>> these devices are capable of running, and more users begin to migrate, many 
>> of whom won't be as technically-apt as early adopters.
>>
>> - Clinton
>>
>> On 04/21/2014 08:30 PM, Peter Hutterer wrote:
>>> On Sat, Apr 19, 2014 at 10:23:00PM -0500, Clinton Sprain wrote:
>>>> A handful of Macbooks are being tagged as MODEL_UNIBODY_MACBOOKs when they
>>>> should not be. This causes the default sensitivity to be very low for them,
>>>> making the touchpad very difficult to use. This change moves the product ID
>>>> cutoff so those devices fall into the old bucket again.
>>>
>>> just to confirm: which one of those do you have or did you see the bug
>>> reported on? Looking at the kernel's ID collection this change only affects
>>> first-gen macbook airs and should've been an issue for roughly two years
>>> already.
>>>
>>> Which again makes me wonder: what change exposed this bug recently? 
>>>
>>> Cheers,
>>>    Peter
>>>
>>>>  src/eventcomm.c | 4 ++--
>>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/src/eventcomm.c b/src/eventcomm.c
>>>> index 858efeb..405eeb9 100644
>>>> --- a/src/eventcomm.c
>>>> +++ b/src/eventcomm.c
>>>> @@ -305,8 +305,8 @@ struct model_lookup_t {
>>>>  static struct model_lookup_t model_lookup_table[] = {
>>>>      {0x0002, 0x0007, 0x0007, MODEL_SYNAPTICS},
>>>>      {0x0002, 0x0008, 0x0008, MODEL_ALPS},
>>>> -    {0x05ac, PRODUCT_ANY, 0x222, MODEL_APPLETOUCH},
>>>> -    {0x05ac, 0x223, PRODUCT_ANY, MODEL_UNIBODY_MACBOOK},
>>>> +    {0x05ac, PRODUCT_ANY, 0x22f, MODEL_APPLETOUCH},
>>>> +    {0x05ac, 0x230, PRODUCT_ANY, MODEL_UNIBODY_MACBOOK},
>>>>      {0x0002, 0x000e, 0x000e, MODEL_ELANTECH},
>>>>      {0x0, 0x0, 0x0, 0x0}
>>>>  };
>>>> -- 
>>>> 1.9.1
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to