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

jblache at alioth.debian.org jblache at alioth.debian.org
Fri Feb 29 18:32:15 UTC 2008


Author: jblache
Date: 2008-02-29 18:32:14 +0000 (Fri, 29 Feb 2008)
New Revision: 445

Modified:
   trunk/ChangeLog
   trunk/pommed/evdev.c
   trunk/pommed/evdev.h
   trunk/pommed/pommed.c
Log:
Add support for the Geyser V-HF keyboard+trackpad assembly found in the MacBookAir1,1, MacBook4,1 and MacBookPro4,1.

Name and ISO+JIS IDs still need to be confirmed.


Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2008-02-27 20:00:20 UTC (rev 444)
+++ trunk/ChangeLog	2008-02-29 18:32:14 UTC (rev 445)
@@ -2,10 +2,11 @@
 --------------------
 
 version 1.16:
-	- pommed: add support for the MacBookPro4,1; USB IDs need to be
-	confirmed.
-	- pommed: add support for the MacBook4,1; USB IDs need to be
-	confirmed.
+	- 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.
 
 version 1.15:
 	- pommed: add preliminary support for the MacBook Air1,1; USB IDs

Modified: trunk/pommed/evdev.c
===================================================================
--- trunk/pommed/evdev.c	2008-02-27 20:00:20 UTC (rev 444)
+++ trunk/pommed/evdev.c	2008-02-29 18:32:14 UTC (rev 445)
@@ -620,6 +620,35 @@
   return 0;
 }
 
+/* MacBook Air (MacBookAir1,1, January 2008),
+ * Core2 Duo MacBook (MacBook4,1, February 2008),
+ * Core2 Duo MacBookPro (MacBookPro4,1, February 2008)
+ */
+int
+evdev_is_geyser5hf(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_GEYSER5HF_ANSI)
+      || (product == USB_PRODUCT_ID_GEYSER5HF_ISO)
+      || (product == USB_PRODUCT_ID_GEYSER5HF_JIS))
+    {
+      logdebug(" -> Geyser V-HF 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-27 20:00:20 UTC (rev 444)
+++ trunk/pommed/evdev.h	2008-02-29 18:32:14 UTC (rev 445)
@@ -43,6 +43,11 @@
 #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 */
+
 /* Apple USB keyboards, external */
 #define USB_PRODUCT_ID_APPLE_EXTKBD_WHITE   0x020c
 #define USB_PRODUCT_ID_APPLE_EXTKBD_ALU     0x0221
@@ -103,6 +108,9 @@
 
 int
 evdev_is_geyser4hf(unsigned short *id);
+
+int
+evdev_is_geyser5hf(unsigned short *id);
 #endif /* __powerpc__ */
 
 

Modified: trunk/pommed/pommed.c
===================================================================
--- trunk/pommed/pommed.c	2008-02-27 20:00:20 UTC (rev 444)
+++ trunk/pommed/pommed.c	2008-02-29 18:32:14 UTC (rev 445)
@@ -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_geyser4hf,
+    .evdev_identify = evdev_is_geyser5hf,
   },
 
   /* 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_geyser4hf,
+    .evdev_identify = evdev_is_geyser5hf,
   },
 
   /* 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_geyser4hf,
+    .evdev_identify = evdev_is_geyser5hf,
   }
 };
 #endif /* __powerpc__ */




More information about the Pommed-commits mailing list