diff options
Diffstat (limited to 'main/linux-hardened')
-rw-r--r-- | main/linux-hardened/0001-HID-apple-fix-Fn-key-Magic-Keyboard-on-bluetooth.patch | 67 | ||||
-rw-r--r-- | main/linux-hardened/APKBUILD | 8 |
2 files changed, 72 insertions, 3 deletions
diff --git a/main/linux-hardened/0001-HID-apple-fix-Fn-key-Magic-Keyboard-on-bluetooth.patch b/main/linux-hardened/0001-HID-apple-fix-Fn-key-Magic-Keyboard-on-bluetooth.patch new file mode 100644 index 0000000000..ec2a1dd2c5 --- /dev/null +++ b/main/linux-hardened/0001-HID-apple-fix-Fn-key-Magic-Keyboard-on-bluetooth.patch @@ -0,0 +1,67 @@ +From 0a802b5595bc6769a8984ad83662204db79c5e31 Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Mon, 4 Sep 2017 19:44:18 +0000 +Subject: [PATCH] HID: apple: fix Fn key Magic Keyboard on bluetooth + +The vendor id is 0x004c, when Magic Keyboard is connected via bluetooth. +This appears to be the bluetooth fendor id for Apple. + +We also need to check against HID_UP_MSVENDOR to get the Fn key working +properly. + +Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> +--- + drivers/hid/hid-apple.c | 4 +++- + drivers/hid/hid-core.c | 1 + + drivers/hid/hid-ids.h | 1 + + 3 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c +index 25b7bd56ae11..c79dbf836925 100644 +--- a/drivers/hid/hid-apple.c ++++ b/drivers/hid/hid-apple.c +@@ -335,7 +335,7 @@ static int apple_input_mapping(struct hid_device *hdev, struct hid_input *hi, + struct hid_field *field, struct hid_usage *usage, + unsigned long **bit, int *max) + { +- if (usage->hid == (HID_UP_CUSTOM | 0x0003)) { ++ if (usage->hid == (HID_UP_CUSTOM | 0x0003) || usage->hid == (HID_UP_MSVENDOR | 0x0003)) { + /* The fn key on Apple USB keyboards */ + set_bit(EV_REP, hi->input->evbit); + hid_map_usage_clear(hi, usage, bit, max, EV_KEY, KEY_FN); +@@ -472,6 +472,8 @@ static const struct hid_device_id apple_devices[] = { + .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_ANSI), + .driver_data = APPLE_HAS_FN }, ++ { HID_BLUETOOTH_DEVICE(BLUETOOTH_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_ANSI), ++ .driver_data = APPLE_HAS_FN }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ANSI), + .driver_data = APPLE_HAS_FN }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ISO), +diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c +index 9017dcc14502..36e43986f415 100644 +--- a/drivers/hid/hid-core.c ++++ b/drivers/hid/hid-core.c +@@ -1964,6 +1964,7 @@ static const struct hid_device_id hid_have_special_driver[] = { + { 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_MAGIC_KEYBOARD_ANSI) }, ++ { HID_BLUETOOTH_DEVICE(BLUETOOTH_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_ANSI) }, + { 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) }, + #endif +diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h +index c9ba4c6db74c..3f654444c011 100644 +--- a/drivers/hid/hid-ids.h ++++ b/drivers/hid/hid-ids.h +@@ -85,6 +85,7 @@ + #define USB_DEVICE_ID_ANTON_TOUCH_PAD 0x3101 + + #define USB_VENDOR_ID_APPLE 0x05ac ++#define BLUETOOTH_VENDOR_ID_APPLE 0x004c + #define USB_DEVICE_ID_APPLE_MIGHTYMOUSE 0x0304 + #define USB_DEVICE_ID_APPLE_MAGICMOUSE 0x030d + #define USB_DEVICE_ID_APPLE_MAGICTRACKPAD 0x030e +-- +2.14.1 + diff --git a/main/linux-hardened/APKBUILD b/main/linux-hardened/APKBUILD index 823dc77139..54bdeaf631 100644 --- a/main/linux-hardened/APKBUILD +++ b/main/linux-hardened/APKBUILD @@ -2,7 +2,7 @@ _mainflavor=hardened pkgname=linux-$_mainflavor -pkgver=4.9.44 +pkgver=4.9.47 case $pkgver in *.*.*) _kernver=${pkgver%.*};; *.*) _kernver=${pkgver};; @@ -18,6 +18,7 @@ install= source="https://kernel.org/pub/linux/kernel/v4.x/linux-$_kernver.tar.xz https://kernel.org/pub/linux/kernel/v4.x/patch-$pkgver.xz http://dev.alpinelinux.org/~ncopa/grsec/hardened-3.1-$pkgver-201704252333-alpine.patch + 0001-HID-apple-fix-Fn-key-Magic-Keyboard-on-bluetooth.patch zfs-fix.patch config-hardened.x86 @@ -203,8 +204,9 @@ _dev() { } sha512sums="bf67ff812cc3cb7e5059e82cc5db0d9a7c5637f7ed9a42e4730c715bf7047c81ed3a571225f92a33ef0b6d65f35595bc32d773356646df2627da55e9bc7f1f1a linux-4.9.tar.xz -4f5d055f002e23e6d91b78c300048d346933c06839d1bf8dea40d5f4e240ae6864a1baddb4218661af857843a8d2567e8f888a31f0f0ac08d50e427aecb779ae patch-4.9.44.xz -65c95e8432ee0c7385922f82f49a445d4547475ba0a94e8424ab2658a5e8c8f6e04bc54f919810b4285511d46cf52ef8e3716c4bbb89d19f9d5037f1139bb04e hardened-3.1-4.9.44-201704252333-alpine.patch +1444676c9bdff6133191db4885fb6ddfb989e355c7f16ddc42ff1ed9415917f06c8147cd69346525624da8547204a68303d5002417b40e11c0174341f55cfc09 patch-4.9.47.xz +4403c788bc9137c5c64c5d317a49eade13f9702152cd8bb4f0f7422d7bc4d91db5472f2915686048fd1976ab650621ba21ba54c4aa470f7bf4aa480c66696c6e hardened-3.1-4.9.47-201704252333-alpine.patch +5373728be2b507c3db5e042e1d768740df7965078868afdc46418b1adc4cae3d8f9f1aedb59975a0f2acf8754340499354fcf97c503397a5d9886ccc9689b782 0001-HID-apple-fix-Fn-key-Magic-Keyboard-on-bluetooth.patch 5a0a78e6de11eb8180d96830b9faa9ac560586f7beb663c8196a16ac6232b5008b9181b3c9b94e2b13a444acba4b6e80a3408d34606432f92eb4d169c3953d5d zfs-fix.patch e0f8793210d3974a748bd7b1cd71cf7adc3672d279a1d51bbf1a7417161fadaf377bff43fa51b943c89051c62cf608af263137e5c5f904cf70391b94d60cb14d config-hardened.x86 d70509a365308f85dfd348d5dad9f5a9c9932434b6c37805b6a7384189599c76d6a2623b1d9e19d89552c4afbd69df7b788019cec42bc5b654635a13902763be config-hardened.x86_64 |