linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Huei-Horng Yo <hiroshi@ghostsinthelab.org>
To: linux-input@vger.kernel.org
Subject: Re: [PATCH] HID: Add Apple wireless keyboard 2011 JIS model support
Date: Tue, 04 Feb 2014 12:33:25 +0800	[thread overview]
Message-ID: <52F06D95.9020007@ghostsinthelab.org> (raw)
In-Reply-To: <52EFD4B9.9070603@ghostsinthelab.org>

Hello,
於 西元2014年02月04日 01:41, Huei-Horng Yo 提到:
> Hello,
>
> I bought an Apple wireless keyboard 2011 JIS model,
> the 'fn' key isn't work as expected in Linux 3.12.9.
>
> What my patch mainly does is to add support for that model.
>
> Before applying this patch, the keyboard behaves like a general keyboard,
> its 'fn' key has no function to be used with arrow keys to do Home, End,
> Page Up and Page Down.
>
> I found that this is because the HID IDs list hasn't it in vendor ID
> 0x05ac (APPLE) section,
> so I add the production ID 0x0257 (got the value by using bluetoothctl)
> in drivers/hid/hid-ids.h
> and add the corresponding codes in drivers/hid/hid-apple.c &
> drivers/hid/hid-core.c.
>
> Thanks,
> Huei-Horng Yo
>
>
> P.S. Also reported in
> Bugzilla:https://bugzilla.kernel.org/show_bug.cgi?id=69681
> <https://bugzilla.kernel.org/show_bug.cgi?id=69681>

Here is a patch for mainline (3.14-rc1):

0001-Add-Apple-wireless-keyboard-2011-JIS-model-support.patch

 From 0e87439aeea995812695b38f8ec13a81d865e4ea Mon Sep 17 00:00:00 2001
From: Huei-Horng Yo <hiroshi@ghostsinthelab.org>
Date: Tue, 4 Feb 2014 12:14:06 +0800
Subject: [PATCH] Add Apple wireless keyboard 2011 JIS model support.

---
  drivers/hid/hid-apple.c | 3 +++
  drivers/hid/hid-core.c  | 1 +
  drivers/hid/hid-ids.h   | 1 +
  3 files changed, 5 insertions(+)

diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c
index 4975581..f822fd2 100644
--- a/drivers/hid/hid-apple.c
+++ b/drivers/hid/hid-apple.c
@@ -469,6 +469,9 @@ static const struct hid_device_id apple_devices[] = {
  	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE,
  				USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI),
  		.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
+	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE,
+				USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_JIS),
+		.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
  	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, 
USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS),
  		.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, 
USB_DEVICE_ID_APPLE_WELLSPRING_ANSI),
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 3bfac3a..bb5c494 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1679,6 +1679,7 @@ static const struct hid_device_id 
hid_have_special_driver[] = {
  	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, 
USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS) },
  	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, 
USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI) },
  	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, 
USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ISO) },
+	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, 
USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_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) },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_AUREAL, USB_DEVICE_ID_AUREAL_W01RN) },
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 5a5248f..2c59283 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -135,6 +135,7 @@
  #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS   0x023b
  #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI  0x0255
  #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ISO   0x0256
+#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_JIS   0x0257
  #define USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI	0x0290
  #define USB_DEVICE_ID_APPLE_WELLSPRING8_ISO	0x0291
  #define USB_DEVICE_ID_APPLE_WELLSPRING8_JIS	0x0292
-- 
1.8.5.3
--
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

  reply	other threads:[~2014-02-04  4:33 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-03 17:41 [PATCH] HID: Add Apple wireless keyboard 2011 JIS model support Huei-Horng Yo
2014-02-04  4:33 ` Huei-Horng Yo [this message]
2014-02-04  7:03   ` Huei-Horng Yo
  -- strict thread matches above, loose matches on Subject: below --
2014-02-06  9:18 Huei-Horng Yo
2014-02-06  9:22 ` Jiri Kosina
2014-02-06  9:40   ` Huei-Horng Yo
2014-02-06 13:45     ` Jiri Kosina

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52F06D95.9020007@ghostsinthelab.org \
    --to=hiroshi@ghostsinthelab.org \
    --cc=linux-input@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).