[Pommed-commits] r447 - in trunk: . pommed

jblache at alioth.debian.org jblache at alioth.debian.org
Sun Mar 2 08:49:21 UTC 2008


Author: jblache
Date: 2008-03-02 08:49:21 +0000 (Sun, 02 Mar 2008)
New Revision: 447

Modified:
   trunk/ChangeLog
   trunk/pommed/evdev.c
   trunk/pommed/evdev.h
   trunk/pommed/pommed.c
Log:
Fixup support for the newer machines:
 - the MacBook Air is equipped with an entirely new kb+tp assembly ("MultiTouch"), dubbed "WellSpring"
 - the MacBookPro4,1 has got a "MultiTouch" trackpad too, it's most likely a WellSpring II
 - the MacBook4,1 hasn't got the "MultiTouch" thing, so it probably still has a Geyser IV-HF


Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2008-02-29 18:35:02 UTC (rev 446)
+++ trunk/ChangeLog	2008-03-02 08:49:21 UTC (rev 447)
@@ -4,9 +4,10 @@
 version 1.16:
 	- pommed: add support for the MacBookPro4,1.
 	- pommed: add support for the MacBook4,1.
-	- pommed: add support for the Geyser V-HF keyboard+trackpad
-	assembly, found in the MacBookAir1,1, MacBook4,1 and
-	MacBookPro4,1. Thanks to Edgar Hucek for the report.
+	- pommed: add support for the WellSpring keyboard+trackpad
+	assembly ("MultiTouch"), found in the MacBookAir1,1.
+	- pommed: add support for the WellSpring II keyboard+trackpad
+	assembly ("MultiTouch"), most likely found in the MacBookPro4,1.
 	- pommed: fix MacBook Air machine identification string, the real
 	string is MacBookAir1,1 and not MacBook Air1,1 as the Apple
 	technote puts it.

Modified: trunk/pommed/evdev.c
===================================================================
--- trunk/pommed/evdev.c	2008-02-29 18:35:02 UTC (rev 446)
+++ trunk/pommed/evdev.c	2008-03-02 08:49:21 UTC (rev 447)
@@ -594,7 +594,8 @@
   return 0;
 }
 
-/* Core2 Duo Santa Rosa MacBook (MacBook3,1) */
+/* Core2 Duo Santa Rosa MacBook (MacBook3,1)
+   Core2 Duo MacBook (MacBook4,1, February 2008) */
 int
 evdev_is_geyser4hf(unsigned short *id)
 {
@@ -620,12 +621,9 @@
   return 0;
 }
 
-/* MacBook Air (MacBookAir1,1, January 2008),
- * Core2 Duo MacBook (MacBook4,1, February 2008),
- * Core2 Duo MacBookPro (MacBookPro4,1, February 2008)
- */
+/* MacBook Air (MacBookAir1,1, January 2008) */
 int
-evdev_is_geyser5hf(unsigned short *id)
+evdev_is_wellspring(unsigned short *id)
 {
   unsigned short product = id[ID_PRODUCT];
 
@@ -635,11 +633,11 @@
   if (id[ID_VENDOR] != USB_VENDOR_ID_APPLE)
     return 0;
 
-  if ((product == USB_PRODUCT_ID_GEYSER5HF_ANSI)
-      || (product == USB_PRODUCT_ID_GEYSER5HF_ISO)
-      || (product == USB_PRODUCT_ID_GEYSER5HF_JIS))
+  if ((product == USB_PRODUCT_ID_WELLSPRING_ANSI)
+      || (product == USB_PRODUCT_ID_WELLSPRING_ISO)
+      || (product == USB_PRODUCT_ID_WELLSPRING_JIS))
     {
-      logdebug(" -> Geyser V-HF USB keyboard\n");
+      logdebug(" -> WellSpring USB keyboard\n");
 
       kbd_set_fnmode();
 
@@ -649,6 +647,32 @@
   return 0;
 }
 
+/* Core2 Duo MacBook Pro (MacBookPro4,1, February 2008) */
+int
+evdev_is_wellspring2(unsigned short *id)
+{
+  unsigned short product = id[ID_PRODUCT];
+
+  if (id[ID_BUS] != BUS_USB)
+    return 0;
+
+  if (id[ID_VENDOR] != USB_VENDOR_ID_APPLE)
+    return 0;
+
+  if ((product == USB_PRODUCT_ID_WELLSPRING2_ANSI)
+      || (product == USB_PRODUCT_ID_WELLSPRING2_ISO)
+      || (product == USB_PRODUCT_ID_WELLSPRING2_JIS))
+    {
+      logdebug(" -> WellSpring II USB keyboard\n");
+
+      kbd_set_fnmode();
+
+      return 1;
+    }
+
+  return 0;
+}
+
 /* Apple Remote IR Receiver */
 static int
 evdev_is_appleir(unsigned short *id)

Modified: trunk/pommed/evdev.h
===================================================================
--- trunk/pommed/evdev.h	2008-02-29 18:35:02 UTC (rev 446)
+++ trunk/pommed/evdev.h	2008-03-02 08:49:21 UTC (rev 447)
@@ -18,6 +18,8 @@
 
 #define USB_VENDOR_ID_APPLE           0x05ac
 
+/* Fountain & Geyser devices : AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTrackpad.kext */
+
 /* Apple Fountain keyboard + trackpad */
 #define USB_PRODUCT_ID_FOUNTAIN_ANSI  0x020e
 #define USB_PRODUCT_ID_FOUNTAIN_ISO   0x020f
@@ -43,15 +45,24 @@
 #define USB_PRODUCT_ID_GEYSER4HF_ISO    0x022a
 #define USB_PRODUCT_ID_GEYSER4HF_JIS    0x022b
 
-/* Apple Geyser V-HF keyboard + trackpad (name to be confirmed) */
-#define USB_PRODUCT_ID_GEYSER5HF_ANSI   0x0224
-#define USB_PRODUCT_ID_GEYSER5HF_ISO    0x0225 /* to be confirmed */
-#define USB_PRODUCT_ID_GEYSER5HF_JIS    0x0226 /* to be confirmed */
+/* WellSpring devices : AppleUSBMultitouch.kext */
 
+/* Apple WellSpring keyboard + trackpad */
+#define USB_PRODUCT_ID_WELLSPRING_ANSI   0x0223
+#define USB_PRODUCT_ID_WELLSPRING_ISO    0x0224
+#define USB_PRODUCT_ID_WELLSPRING_JIS    0x0225
+
+/* Apple WellSpring II keyboard + trackpad */
+#define USB_PRODUCT_ID_WELLSPRING2_ANSI   0x0230
+#define USB_PRODUCT_ID_WELLSPRING2_ISO    0x0231
+#define USB_PRODUCT_ID_WELLSPRING2_JIS    0x0232
+
+
 /* Apple USB keyboards, external */
 #define USB_PRODUCT_ID_APPLE_EXTKBD_WHITE   0x020c
 #define USB_PRODUCT_ID_APPLE_EXTKBD_ALU     0x0221
 
+
 /* Apple Remote IR Receiver */
 #define USB_PRODUCT_ID_APPLEIR        0x8240
 #define USB_PRODUCT_ID_APPLEIR_2      0x8242
@@ -110,7 +121,10 @@
 evdev_is_geyser4hf(unsigned short *id);
 
 int
-evdev_is_geyser5hf(unsigned short *id);
+evdev_is_wellspring(unsigned short *id);
+
+int
+evdev_is_wellspring2(unsigned short *id);
 #endif /* __powerpc__ */
 
 

Modified: trunk/pommed/pommed.c
===================================================================
--- trunk/pommed/pommed.c	2008-02-29 18:35:02 UTC (rev 446)
+++ trunk/pommed/pommed.c	2008-03-02 08:49:21 UTC (rev 447)
@@ -272,7 +272,7 @@
     .lcd_backlight_probe = nv8600mgt_backlight_probe,
     .lcd_backlight_step = nv8600mgt_backlight_step,
     .lcd_backlight_toggle = nv8600mgt_backlight_toggle,
-    .evdev_identify = evdev_is_geyser5hf,
+    .evdev_identify = evdev_is_wellspring2,
   },
 
   /* MacBook machines */
@@ -306,7 +306,7 @@
     .lcd_backlight_probe = gma950_backlight_probe, /* gma950 supports the gma965 */
     .lcd_backlight_step = gma950_backlight_step,
     .lcd_backlight_toggle = gma950_backlight_toggle,
-    .evdev_identify = evdev_is_geyser5hf,
+    .evdev_identify = evdev_is_geyser4hf,
   },
 
   /* MacBook Air machines */
@@ -316,7 +316,7 @@
     .lcd_backlight_probe = gma950_backlight_probe, /* gma950 supports the gma965 */
     .lcd_backlight_step = gma950_backlight_step,
     .lcd_backlight_toggle = gma950_backlight_toggle,
-    .evdev_identify = evdev_is_geyser5hf,
+    .evdev_identify = evdev_is_wellspring,
   }
 };
 #endif /* __powerpc__ */




More information about the Pommed-commits mailing list