Hello,

This fixes what happens when F11/F12 is sent via serial port.
The existing code already correctly detected the byte sequence that was sent
on the serial connection, however it translated it to incorrect keycode.
The termseq table must map to "DOS scan codes".
The incorrect value matched "PS2 set1 scan codes" for F11 and F12, so I think
this was simply an implementation mistake.

I have tested the attached patch on real hardware.

I am not the author of the patch, the original change can be found here:
https://github.com/Dasharo/SeaBIOS/commit/0f4530859f11b3235b7d6163388f19577bdc6e1e

Thanks,
Andrei
From be832b8964e8223fe1cb2a75c8dda7a656f5cacc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20=C5=BBygowski?= <michal.zygowski@3mdeb.com>
Date: Thu, 14 Mar 2019 15:11:12 +0100
Subject: [PATCH] src/sercon.c: fix the keycodes for F11 and F12
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
---
 src/sercon.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/sercon.c b/src/sercon.c
index 3019d9b4..cdc47ab8 100644
--- a/src/sercon.c
+++ b/src/sercon.c
@@ -567,8 +567,8 @@ static VAR16 struct {
     { .seq = "[19~", .len = 4, .keycode = 0x4200 },    // F8
     { .seq = "[20~", .len = 4, .keycode = 0x4300 },    // F9
     { .seq = "[21~", .len = 4, .keycode = 0x4400 },    // F10
-    { .seq = "[23~", .len = 4, .keycode = 0x5700 },    // F11
-    { .seq = "[24~", .len = 4, .keycode = 0x5800 },    // F12
+    { .seq = "[23~", .len = 4, .keycode = 0x8500 },    // F11
+    { .seq = "[24~", .len = 4, .keycode = 0x8600 },    // F12
 
     { .seq = "[2~",  .len = 3, .keycode = 0x52e0 },    // insert
     { .seq = "[3~",  .len = 3, .keycode = 0x53e0 },    // delete
-- 
2.45.2

_______________________________________________
SeaBIOS mailing list -- seabios@seabios.org
To unsubscribe send an email to seabios-le...@seabios.org

Reply via email to