[PATCH xf86-input-synaptics] Fix product ID cutoff for MODEL_APPLETOUCH/MODEL_UNIBODY_MACBOOK

Clinton Sprain clintonsprain at gmail.com
Mon Apr 21 20:20:19 PDT 2014

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.



See also:


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.

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

More information about the xorg-devel mailing list