[Pommed-commits] [SCM] pommed - hotkeys handler for Apple laptops branch, master, updated. 1.37-2-g05a7e34
Julien BLACHE
jb at jblache.org
Sat Mar 12 09:55:28 UTC 2011
The following commit has been merged in the master branch:
commit 05a7e34ebe490a6d849dcb1cf1ea99a41e3ea379
Author: Julien BLACHE <jb at jblache.org>
Date: Sat Mar 12 10:54:04 2011 +0100
Add support for Early 2011 MacBook Pro
Support for MacBookPro8,1 (13"), MacBookPro8,2 (15"), MacBookPro8,3 (17").
Thanks to Chris Neugebauer <chrisjrn at gmail.com> and Andy Botting
<andy at andybotting.com> for their reports.
diff --git a/ChangeLog b/ChangeLog
index 34bde70..e54d220 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,8 @@ ChangeLog for pommed
--------------------
version 1.38:
+ - pommed: add support for the Early 2011 MacBook Pro:
+ MacBookPro8,1 (13"), MacBookPro8,2 (15"), MacBookPro8,3 (17").
version 1.37:
- pommed: fix oversight in applesmc probing change.
diff --git a/README b/README
index 0a96ff7..2584048 100644
--- a/README
+++ b/README
@@ -29,6 +29,7 @@ Supported machines:
* MacBook Pro 13", 15", 17" (June 2009)
* MacBook Pro Core i5/i7 15", 17" (April 2010)
* MacBook Pro Core2 Duo 13" (April 2010)
+ * MacBook Pro Core i5/i7 13", 15", 17" (Early 2011)
* MacBook Core Duo (May 2006)
* MacBook Core2 Duo (November 2006 & May 2007)
* MacBook Core2 Duo Santa Rosa (November 2007)
diff --git a/pommed/evdev.c b/pommed/evdev.c
index 330655a..7c9524b 100644
--- a/pommed/evdev.c
+++ b/pommed/evdev.c
@@ -662,6 +662,35 @@ evdev_is_wellspring4a(unsigned short *id)
return 0;
}
+/* MacBookPro8,1 (13" Early 2011)
+ * MacBookPro8,2 (15" Early 2011)
+ * MacBookPro8,3 (17" Early 2011)
+ */
+static int
+evdev_is_wellspring5(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_WELLSPRING5_ANSI)
+ || (product == USB_PRODUCT_ID_WELLSPRING5_ISO)
+ || (product == USB_PRODUCT_ID_WELLSPRING5_JIS))
+ {
+ logdebug(" -> WellSpring V USB assembly\n");
+
+ kbd_set_fnmode();
+
+ return 1;
+ }
+
+ return 0;
+}
+
/* Any internal keyboard */
static int
evdev_is_internal(unsigned short *id)
@@ -673,7 +702,8 @@ evdev_is_internal(unsigned short *id)
|| evdev_is_wellspring2(id)
|| evdev_is_wellspring3(id)
|| evdev_is_wellspring4(id)
- || evdev_is_wellspring4a(id));
+ || evdev_is_wellspring4a(id)
+ || evdev_is_wellspring5(id));
}
diff --git a/pommed/evdev.h b/pommed/evdev.h
index 80437b6..03676d6 100644
--- a/pommed/evdev.h
+++ b/pommed/evdev.h
@@ -73,6 +73,11 @@
#define USB_PRODUCT_ID_WELLSPRING4A_ISO 0x0243
#define USB_PRODUCT_ID_WELLSPRING4A_JIS 0x0244
+/* Apple WellSpring V keyboard + trackpad */
+#define USB_PRODUCT_ID_WELLSPRING5_ANSI 0x0245
+#define USB_PRODUCT_ID_WELLSPRING5_ISO 0x0246
+#define USB_PRODUCT_ID_WELLSPRING5_JIS 0x0247
+
/* Apple external USB keyboard, white */
#define USB_PRODUCT_ID_APPLE_EXTKBD_WHITE 0x020c
diff --git a/pommed/kbd_backlight.h b/pommed/kbd_backlight.h
index 6a737f4..0b40091 100644
--- a/pommed/kbd_backlight.h
+++ b/pommed/kbd_backlight.h
@@ -70,6 +70,7 @@ has_kbd_backlight(void)
|| (mops->type == MACHINE_MACBOOKPRO_5)
|| (mops->type == MACHINE_MACBOOKPRO_6)
|| (mops->type == MACHINE_MACBOOKPRO_7)
+ || (mops->type == MACHINE_MACBOOKPRO_8)
|| (mops->type == MACHINE_MACBOOK_5)
|| (mops->type == MACHINE_MACBOOKAIR_1)
|| (mops->type == MACHINE_MACBOOKAIR_2));
diff --git a/pommed/pommed.c b/pommed/pommed.c
index b45113e..6916eec 100644
--- a/pommed/pommed.c
+++ b/pommed/pommed.c
@@ -304,6 +304,17 @@ struct machine_ops mb_mops[] = {
/* .evdev_identify = evdev_is_wellspring3, */
},
+ { /* MacBookPro8,1 (13", Early 2011)
+ * MacBookPro8,2 (15", Early 2011)
+ * MacBookPro8,3 (17", Early 2011)
+ */
+ .type = MACHINE_MACBOOKPRO_8,
+ .lcd_backlight_probe = mbp_sysfs_backlight_probe,
+ .lcd_backlight_step = sysfs_backlight_step,
+ .lcd_backlight_toggle = sysfs_backlight_toggle,
+ /* .evdev_identify = evdev_is_wellspring5, */
+ },
+
/* MacBook machines */
{ /* MacBook1,1 (Core Duo) */
@@ -737,6 +748,14 @@ check_machine_dmi(void)
/* Core2 Duo MacBook Pro 13" (April 2010) */
else if (strcmp(buf, "MacBookPro7,1") == 0)
ret = MACHINE_MACBOOKPRO_7;
+ /* MacBook Pro 13" (Early 2011)
+ * MacBook Pro 15" (Early 2011)
+ * MacBook Pro 17" (Early 2011)
+ */
+ else if ((strcmp(buf, "MacBookPro8,1") == 0)
+ || (strcmp(buf, "MacBookPro8,2") == 0)
+ || (strcmp(buf, "MacBookPro8,3") == 0))
+ ret = MACHINE_MACBOOKPRO_8;
/* Core Duo MacBook (May 2006) */
else if (strcmp(buf, "MacBook1,1") == 0)
ret = MACHINE_MACBOOK_1;
diff --git a/pommed/pommed.h b/pommed/pommed.h
index cfc9564..3961a35 100644
--- a/pommed/pommed.h
+++ b/pommed/pommed.h
@@ -37,6 +37,7 @@ typedef enum
MACHINE_MACBOOKPRO_5,
MACHINE_MACBOOKPRO_6,
MACHINE_MACBOOKPRO_7,
+ MACHINE_MACBOOKPRO_8,
MACHINE_MACBOOK_1,
MACHINE_MACBOOK_2,
--
pommed - hotkeys handler for Apple laptops
More information about the Pommed-commits
mailing list