mirror of
https://github.com/armbian/build.git
synced 2025-08-15 07:36:57 +02:00
I have changed the way the patches are generated a bit. Instead of using orange-pi branch from megous tree for 6.6 kernel, I have used the following kernel branches a83t-suspend, af8133j, anx, audio, axp, cam, drm, err, fixes, mbus, modem, opi3, pb, pinetab, pp, ppkb, samuel, speed, tbs-a711, ths These branches were carefully chosen to include only allwinner related patches and remove importing of the rockchip related patches into the allwinner kernel. Following patches are modified to fix patch application failure - patches.armbian/arm64-dts-sun50i-h616-orangepi-zero2-reg_usb1_vbus-status-ok.patch - patches.armbian/arm64-dts-sun50i-h616-orangepi-zero2-Enable-GPU-mali.patch - patches.armbian/arm64-dts-allwinner-h616-Add-efuse_xlate-cpu-frequency-scaling-v1_6_2.patch - patches.armbian/arm64-dts-allwinner-h616-LED-green_power_on-red_status_heartbeat.patch - patches.armbian/arm64-dts-allwinner-overlay-Add-Overlays-for-sunxi64.patch - patches.armbian/arm64-dts-sun50i-h616-bigtreetech-cb1.patch Following patches are modified because of kernel api change to fix compilation failure - patches.armbian/drv-gpu-drm-sun4i-Add-HDMI-audio-sun4i-hdmi-encoder.patch - patches.armbian/drv-of-Device-Tree-Overlay-ConfigFS-interface.patch
47 lines
1.6 KiB
Diff
47 lines
1.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Ondrej Jirman <megi@xff.cz>
|
|
Date: Sat, 29 Oct 2022 00:51:19 +0200
|
|
Subject: input: pinephone-keyboard: Allow to disable Fn layer processing
|
|
|
|
Sometimes it's more flexible to handle Fn key as additional modifier
|
|
that can be configured from userspace.
|
|
|
|
Signed-off-by: Ondrej Jirman <megi@xff.cz>
|
|
---
|
|
drivers/input/keyboard/pinephone-keyboard.c | 12 ++++++++++
|
|
1 file changed, 12 insertions(+)
|
|
|
|
diff --git a/drivers/input/keyboard/pinephone-keyboard.c b/drivers/input/keyboard/pinephone-keyboard.c
|
|
index 365037d8609d..f758c1eabe40 100644
|
|
--- a/drivers/input/keyboard/pinephone-keyboard.c
|
|
+++ b/drivers/input/keyboard/pinephone-keyboard.c
|
|
@@ -19,6 +19,10 @@ static bool disable_input;
|
|
module_param(disable_input, bool, S_IRUGO);
|
|
MODULE_PARM_DESC(disable_input, "Disable the keyboard part of the driver");
|
|
|
|
+static bool disable_fn;
|
|
+module_param(disable_fn, bool, S_IRUGO);
|
|
+MODULE_PARM_DESC(disable_fn, "Disable the FN layer special handling");
|
|
+
|
|
#define DRV_NAME "pinephone-keyboard"
|
|
|
|
#define PPKB_CRC8_POLYNOMIAL 0x07
|
|
@@ -249,6 +253,14 @@ static void ppkb_update(struct i2c_client *client)
|
|
if (!(changed & mask))
|
|
continue;
|
|
|
|
+ if (disable_fn) {
|
|
+ /* The FN layer is a second set of rows. */
|
|
+ code = MATRIX_SCAN_CODE(row, col, row_shift);
|
|
+ input_event(ppkb->input, EV_MSC, MSC_SCAN, code);
|
|
+ input_report_key(ppkb->input, keymap[code], value);
|
|
+ continue;
|
|
+ }
|
|
+
|
|
/*
|
|
* Save off the FN key state when the key was pressed,
|
|
* and use that to determine the code during a release.
|
|
--
|
|
Armbian
|
|
|