[prerel] number keys as fnkeys, applesmc for imacpro, ci changes

This commit is contained in:
Redecorating
2021-12-25 13:55:30 +11:00
parent 5e76a7af97
commit 62f304f30b
4 changed files with 156 additions and 6 deletions
+7 -5
View File
@@ -2,7 +2,8 @@ name: Build Kernel Package
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[no ci]')"
steps:
- name: Checkout Repo
uses: actions/checkout@v2
@@ -22,13 +23,13 @@ jobs:
docker run -t -v $PWD:/build archlinux /bin/bash /build/entrypoint.sh
- name: Print sha512sums
run: sha512sum *.pkg.tar*
run: sha512sum *.pkg.tar.*
- name: Upload Built Packages
uses: actions/upload-artifact@v2
with:
name: built-packages
path: ${{ github.workspace }}/*.pkg.tar.zst
path: ${{ github.workspace }}/*.pkg.tar.*
- name: Create Tag
id: create_tag
@@ -37,13 +38,14 @@ jobs:
echo "::set-output name=tag::${pkgver}-${pkgrel}"
echo $pkgver $pkgrel
- name: Release
if: github.ref == 'refs/heads/main'
if: ${{ github.ref == 'refs/heads/main' && "!contains(github.event.head_commit.message, '[no rel]')" }}
uses: softprops/action-gh-release@v1
with:
files: |
${{ github.workspace }}/*.pkg.tar.*
tag_name: v${{ steps.create_tag.outputs.tag }}
draft: false
draft: ${{ contains(github.event.head_commit.message, '[draft]') }}
prerelease: ${{ contains(github.event.head_commit.message, '[prerel]') }}
body: |
Install packages with `sudo pacman -U <file>`, you can use urls or file paths.
env:
@@ -0,0 +1,30 @@
From 101657def81e8d1ff7522eedf9cec63a531ea2e6 Mon Sep 17 00:00:00 2001
From: Orlando Chamberlain <redecorating@protonmail.com>
Date: Sat, 25 Dec 2021 13:41:26 +1100
Subject: [PATCH 1/1] applesmc: Add iMacPro to applesmc_whitelist
The iMacPro1,1 is the only iMacPro, and it should need applesmc (but not
many people have this computer so it might be hard to find someone to test
if applesmc works on it)
---
drivers/hwmon/applesmc.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index 8b3f73fcbb8a..b196f9939b28 100644
--- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c
@@ -1812,6 +1812,10 @@ static const struct dmi_system_id applesmc_whitelist[] __initconst = {
DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
DMI_MATCH(DMI_PRODUCT_NAME, "iMac") },
},
+ { applesmc_dmi_match, "Apple iMacPro", {
+ DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "iMacPro") },
+ },
{ applesmc_dmi_match, "Apple Xserve", {
DMI_MATCH(DMI_BOARD_VENDOR, "Apple"),
DMI_MATCH(DMI_PRODUCT_NAME, "Xserve") },
--
2.34.1
@@ -0,0 +1,114 @@
From 57ed05689d88d3e1e03d32daba7778f4cd179cba Mon Sep 17 00:00:00 2001
From: Aditya Garg <gargaditya08@live.com>
Date: Wed, 15 Dec 2021 18:22:16 +0530
Subject: [PATCH 10/10] HID: apple: Add ability to use numbers as function keys on T2
Macs
Some T2 Macs don't have their touchbar working properly on linux.
Thus we add an ability to use numbers as function keys instead.
We also ensure that the apple_fn_keys table is used instead of
powerbook_fn_keys on T2 Macs, which was being used earlier.
Signed-off-by: Aditya Garg <gargaditya08@live.com>
---
drivers/hid/hid-apple.c | 70 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 70 insertions(+)
diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c
index 2c9c5faa7..a1c2f1ee3 100644
--- a/drivers/hid/hid-apple.c
+++ b/drivers/hid/hid-apple.c
@@ -91,6 +91,51 @@ static const struct apple_key_translation macbookair_fn_keys[] = {
{ }
};
+static const struct apple_key_translation macbookpro_no_esc_fn_keys[] = {
+ { KEY_BACKSPACE, KEY_DELETE },
+ { KEY_ENTER, KEY_INSERT },
+ { KEY_GRAVE, KEY_ESC },
+ { KEY_1, KEY_F1 },
+ { KEY_2, KEY_F2 },
+ { KEY_3, KEY_F3 },
+ { KEY_4, KEY_F4 },
+ { KEY_5, KEY_F5 },
+ { KEY_6, KEY_F6 },
+ { KEY_7, KEY_F7 },
+ { KEY_8, KEY_F8 },
+ { KEY_9, KEY_F9 },
+ { KEY_0, KEY_F10 },
+ { KEY_MINUS, KEY_F11 },
+ { KEY_EQUAL, KEY_F12 },
+ { KEY_UP, KEY_PAGEUP },
+ { KEY_DOWN, KEY_PAGEDOWN },
+ { KEY_LEFT, KEY_HOME },
+ { KEY_RIGHT, KEY_END },
+ { }
+};
+
+static const struct apple_key_translation macbookpro_dedicated_esc_fn_keys[] = {
+ { KEY_BACKSPACE, KEY_DELETE },
+ { KEY_ENTER, KEY_INSERT },
+ { KEY_1, KEY_F1 },
+ { KEY_2, KEY_F2 },
+ { KEY_3, KEY_F3 },
+ { KEY_4, KEY_F4 },
+ { KEY_5, KEY_F5 },
+ { KEY_6, KEY_F6 },
+ { KEY_7, KEY_F7 },
+ { KEY_8, KEY_F8 },
+ { KEY_9, KEY_F9 },
+ { KEY_0, KEY_F10 },
+ { KEY_MINUS, KEY_F11 },
+ { KEY_EQUAL, KEY_F12 },
+ { KEY_UP, KEY_PAGEUP },
+ { KEY_DOWN, KEY_PAGEDOWN },
+ { KEY_LEFT, KEY_HOME },
+ { KEY_RIGHT, KEY_END },
+ { }
+};
+
static const struct apple_key_translation apple_fn_keys[] = {
{ KEY_BACKSPACE, KEY_DELETE },
{ KEY_ENTER, KEY_INSERT },
@@ -217,6 +262,25 @@ static int hidinput_apple_event(struct hid_device *hid, struct input_dev *input,
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_WELLSPRINGT2_J140K &&
+ hid->product <= USB_DEVICE_ID_APPLE_WELLSPRINGT2_J152F) {
+ switch (hid->product) {
+ /* MacBook Pros with esc on the touchbar */
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J132:
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J680:
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J213:
+ table = macbookpro_no_esc_fn_keys;
+ break;
+ /* MacBook Pros with a dedicated esc key */
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J214K:
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J223:
+ case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J152F:
+ table = macbookpro_dedicated_esc_fn_keys;
+ break;
+ default:
+ table = apple_fn_keys;
+ }
+ }
else if (hid->product < 0x21d || hid->product >= 0x300)
table = powerbook_fn_keys;
else
@@ -364,6 +428,12 @@ static void apple_setup_input(struct input_dev *input)
set_bit(KEY_NUMLOCK, input->keybit);
/* Enable all needed keys */
+ for (trans = macbookpro_no_esc_fn_keys; trans->from; trans++)
+ set_bit(trans->to, input->keybit);
+
+ for (trans = macbookpro_dedicated_esc_fn_keys; trans->from; trans++)
+ set_bit(trans->to, input->keybit);
+
for (trans = apple_fn_keys; trans->from; trans++)
set_bit(trans->to, input->keybit);
--
2.25.1
+5 -1
View File
@@ -6,7 +6,7 @@
pkgbase=linux-t2
pkgver=5.15.11
_srcname=linux-${pkgver}
pkgrel=3
pkgrel=4
pkgdesc='Linux kernel for T2 Macs'
_srctag=v${pkgver%.*}-${pkgver##*.}
url="https://git.archlinux.org/linux.git/log/?h=v$_srctag"
@@ -44,6 +44,7 @@ source=(
3004-applesmc-key-interface-wrappers.patch
3005-applesmc-basic-mmio-interface-implementation.patch
3006-applesmc-fan-support-on-T2-Macs.patch
3007-applesmc-Add-iMacPro-to-applesmc_whitelist.patch
# T2 USB Keyboard/Touchpad support
4001-HID-apple-Add-support-for-keyboard-backlight-on-supp.patch
@@ -55,6 +56,7 @@ source=(
4007-HID-apple-Add-support-for-MacBookPro16-3-keyboard-tr.patch
4008-HID-apple-Add-support-for-MacBookAir9-1-keyboard-tra.patch
4009-HID-apple-Add-support-for-MacBookPro16-1-keyboard-tr.patch
4010-HID-apple-Add-ability-to-use-numbers-as-function-key.patch
# UVC Camera support
6001-media-uvcvideo-Add-support-for-Apple-T2-attached-iSi.patch
@@ -298,6 +300,7 @@ sha256sums=('c1178b7e7e12d91292e670191268e3fe9a3563faf899eef43e468577e973a1ce'
'459906cab172df9f6712a4168e7a5d529f85b2bb58a068f2d44746df14a6d27a'
'2827dab6eeb2d2a08034938024f902846b5813e967a0ea253dc1ea88315da383'
'398dec7d54c6122ae2263cd5a6d52353800a1a60fd85e52427c372ea9974a625'
'80198d668e894656cd6a13fad5e55dfc22a242fa5919da8e29efeed55ed061ef'
'11565cff9c6a7db8846dc7d5930419045e9527863b8df5979a7465006211bd16'
'83f4be6849ba4d5f9fad647ad2eb78bf6409ee98a40ac62e8a5b80496233d70a'
'44bd3643b2b22fedc59d79511199f30ce6759fa0acdd9a66262a53c5e046da6b'
@@ -307,6 +310,7 @@ sha256sums=('c1178b7e7e12d91292e670191268e3fe9a3563faf899eef43e468577e973a1ce'
'40eff5e88bb30c51c6b97e85c2e7b8dec5f97916f768e6c07618d9c5afe68574'
'cac035fe07663a319185c644c5b39b34bef89ada348881fa4a02d15290260445'
'9dfa9f02d17c5cd9620fa2c1d43ca967b81b6a56d33c2bafae14e0c64e498baa'
'2cfc28a394117184c4fd4c14fd8d1cbf2ed6d2c5ddba93f077cbbc621d73ca81'
'9640178d6251686c980c30fc528b3d70beac6ce8246bf433506a3f843808326c'
'90a6012cdd8a64ede8e0bbaf7331960bd68f628e0973b65459188eb1ccb5b829'
'23a44991bcd6254ff91ab259900bb7decad16efc5b87498c93fcd9bb86fe561a'