Path: news.gmane.org!not-for-mail From: Pieter-Augustijn Van Malleghem Newsgroups: gmane.linux.kernel.input Subject: [PATCH] Add MacBookAir4,1 keyboard support Date: Wed, 7 Sep 2011 16:15:52 -0400 Lines: 72 Approved: news@gmane.org Message-ID: <20110907201552.GA1962@Caligula> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: dough.gmane.org 1315426570 11003 80.91.229.12 (7 Sep 2011 20:16:10 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 7 Sep 2011 20:16:10 +0000 (UTC) To: linux-input@vger.kernel.org Original-X-From: linux-input-owner@vger.kernel.org Wed Sep 07 22:16:06 2011 Return-path: Envelope-to: glki-linux-input-2@lo.gmane.org Original-Received: from vger.kernel.org ([209.132.180.67]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1R1OXV-0007QX-Ll for glki-linux-input-2@lo.gmane.org; Wed, 07 Sep 2011 22:16:06 +0200 Original-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751419Ab1IGUQE (ORCPT ); Wed, 7 Sep 2011 16:16:04 -0400 Original-Received: from mail-vx0-f174.google.com ([209.85.220.174]:57168 "EHLO mail-vx0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751237Ab1IGUQC (ORCPT ); Wed, 7 Sep 2011 16:16:02 -0400 Original-Received: by vxj15 with SMTP id 15so31147vxj.19 for ; Wed, 07 Sep 2011 13:16:02 -0700 (PDT) Original-Received: by 10.52.69.210 with SMTP id g18mr64348vdu.133.1315426562281; Wed, 07 Sep 2011 13:16:02 -0700 (PDT) Original-Received: from Caligula ([140.247.246.50]) by mx.google.com with ESMTPS id ch2sm944169vdc.19.2011.09.07.13.16.01 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 07 Sep 2011 13:16:01 -0700 (PDT) Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Original-Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org Xref: news.gmane.org gmane.linux.kernel.input:21462 Archived-At: This patch adds support for the Apple MacBookAir4,1 released in July 2011. It was inspired by Joshua Dillon's patch for the MacBookAir4,2 posted on http://www.almostsure.com/mba42/hid-apple-dkms.patch. Signed-off-by: Pieter-Augustijn Van Malleghem diff -uNr linux/drivers/hid/hid-apple.c patched/drivers/hid/hid-apple.c --- linux/drivers/hid/hid-apple.c 2011-09-06 23:41:58.000000000 -0400 +++ patched/drivers/hid/hid-apple.c 2011-09-06 23:53:05.000000000 -0400 @@ -183,6 +183,9 @@ if (hid->product >= USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI && hid->product <= USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS) table = macbookair_fn_keys; + else if (hid->product >= USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI && + hid->product <= USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS) + table = apple_fn_keys; else if (hid->product < 0x21d || hid->product >= 0x300) table = powerbook_fn_keys; else @@ -493,6 +499,12 @@ .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_JIS), .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI), + .driver_data = APPLE_HAS_FN }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ISO), + .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS), + .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS }, { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI), .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN }, { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO), diff -uNr linux/drivers/hid/hid-core.c patched/drivers/hid/hid-core.c --- linux/drivers/hid/hid-core.c 2011-09-06 23:41:58.000000000 -0400 +++ patched/drivers/hid/hid-core.c 2011-09-06 23:56:22.000000000 -0400 @@ -1340,6 +1340,9 @@ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ISO) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_JIS) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ISO) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_ANSI) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_ISO) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_JIS) }, @@ -1892,6 +1895,9 @@ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ISO) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_JIS) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ISO) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) }, { } diff -uNr linux/drivers/hid/hid-ids.h patched/drivers/hid/hid-ids.h --- linux/drivers/hid/hid-ids.h 2011-09-06 23:41:58.000000000 -0400 +++ patched/drivers/hid/hid-ids.h 2011-09-06 23:57:39.000000000 -0400 @@ -109,6 +109,9 @@ #define USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI 0x0245 #define USB_DEVICE_ID_APPLE_WELLSPRING5_ISO 0x0246 #define USB_DEVICE_ID_APPLE_WELLSPRING5_JIS 0x0247 +#define USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI 0x0249 +#define USB_DEVICE_ID_APPLE_WELLSPRING6A_ISO 0x024a +#define USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS 0x024b #define USB_DEVICE_ID_APPLE_ALU_REVB_ANSI 0x024f #define USB_DEVICE_ID_APPLE_ALU_REVB_ISO 0x0250 #define USB_DEVICE_ID_APPLE_ALU_REVB_JIS 0x0251 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html