summaryrefslogtreecommitdiffstats
path: root/src/boot
diff options
context:
space:
mode:
authorBrenton Simpson <appsforartists@google.com>2024-07-03 15:40:26 +0200
committerLennart Poettering <lennart@poettering.net>2024-07-03 16:15:04 +0200
commit2fda6f5fffcc05adaa5a08d976e09ad7cc97c1b3 (patch)
tree25681a064aa3d00c302608690976973a1fe56499 /src/boot
parentukify: suffix switches that take parameters with = in log output (diff)
downloadsystemd-2fda6f5fffcc05adaa5a08d976e09ad7cc97c1b3.tar.xz
systemd-2fda6f5fffcc05adaa5a08d976e09ad7cc97c1b3.zip
boot: cover for hardware keys on phones/tablets
The patch is originally from Brenton Simpson, I (Lennart) just added some comments and rebased it. I didn't test this, but the patch looks so obviously right to me, that I think we should just merge it, instead of delaying this further. In the worst case noone notices, in the best case this makes sd-boot work reasonably nicely on devices that only have a hadware power key + volume rocker. Fixes: #30598 Replaces: #31135
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/efi/boot.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/boot/efi/boot.c b/src/boot/efi/boot.c
index ff05e51c4c..b281136c05 100644
--- a/src/boot/efi/boot.c
+++ b/src/boot/efi/boot.c
@@ -881,6 +881,7 @@ static bool menu_run(
switch (key) {
case KEYPRESS(0, SCAN_UP, 0):
+ case KEYPRESS(0, SCAN_VOLUME_UP, 0): /* Handle phones/tablets that only have a volume up/down rocker + power key (and otherwise just touchscreen input) */
case KEYPRESS(0, 0, 'k'):
case KEYPRESS(0, 0, 'K'):
if (idx_highlight > 0)
@@ -888,6 +889,7 @@ static bool menu_run(
break;
case KEYPRESS(0, SCAN_DOWN, 0):
+ case KEYPRESS(0, SCAN_VOLUME_DOWN, 0):
case KEYPRESS(0, 0, 'j'):
case KEYPRESS(0, 0, 'J'):
if (idx_highlight < config->n_entries-1)
@@ -925,9 +927,10 @@ static bool menu_run(
case KEYPRESS(0, 0, '\n'):
case KEYPRESS(0, 0, '\r'):
- case KEYPRESS(0, SCAN_F3, 0): /* EZpad Mini 4s firmware sends malformed events */
- case KEYPRESS(0, SCAN_F3, '\r'): /* Teclast X98+ II firmware sends malformed events */
+ case KEYPRESS(0, SCAN_F3, 0): /* EZpad Mini 4s firmware sends malformed events */
+ case KEYPRESS(0, SCAN_F3, '\r'): /* Teclast X98+ II firmware sends malformed events */
case KEYPRESS(0, SCAN_RIGHT, 0):
+ case KEYPRESS(0, SCAN_SUSPEND, 0): /* Handle phones/tablets with only a power key + volume up/down rocker (and otherwise just touchscreen input) */
action = ACTION_RUN;
break;