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 15:03:45 +0800	[thread overview]
Message-ID: <52F090D1.1020104@ghostsinthelab.org> (raw)
In-Reply-To: <52F06D95.9020007@ghostsinthelab.org>

Dear all,
於 西元2014年02月04日 12:33, Huei-Horng Yo 提到:
> 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):
>


Sorry to forgot to tag HID subsystem again. It's my first time to send 
Linux kernel patch personally, thanks for your kindly guidance, please 
correct me if I still have mistakes to contribute.


Huei-Horng Yo

0001-HID-Add-Apple-wireless-keyboard-2011-JIS-model-suppo.patch

 From 9fd98c73db3fad5905eeb73fbc2a30550e64244e 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] HID: 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  7:03 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
2014-02-04  7:03   ` Huei-Horng Yo [this message]
  -- 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=52F090D1.1020104@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).