We don't process Unicode characters if the virtual terminal is in raw
mode, so there's no reason why we shouldn't do the same for K_OFF
(especially since people would expect K_OFF to actually turn off all VT
key processing).
Fixes: 9fc3de9c8356 ("vt: Add virtual console keyboard mode OFF")
Signed-off-by: Myrrh Periwinkle <myrrhperiwinkle@qtmlabs.xyz>
Cc: stable@vger.kernel.org
---
drivers/tty/vt/keyboard.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/tty/vt/keyboard.c b/drivers/tty/vt/keyboard.c
index dc585079c2fb8c92d37284701f15905a24161768..ee1d9c448c7ebf2f1456f6bd18e55a9681b036c2 100644
--- a/drivers/tty/vt/keyboard.c
+++ b/drivers/tty/vt/keyboard.c
@@ -1487,7 +1487,7 @@ static void kbd_keycode(unsigned int keycode, int down, bool hw_raw)
rc = atomic_notifier_call_chain(&keyboard_notifier_list,
KBD_UNICODE, ¶m);
if (rc != NOTIFY_STOP)
- if (down && !raw_mode)
+ if (down && !(raw_mode || kbd->kbdmode == VC_OFF))
k_unicode(vc, keysym, !down);
return;
}
--
2.50.0
On 02. 07. 25, 16:17, Myrrh Periwinkle wrote:
> We don't process Unicode characters if the virtual terminal is in raw
> mode, so there's no reason why we shouldn't do the same for K_OFF
> (especially since people would expect K_OFF to actually turn off all VT
> key processing).
AFAICT
Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
> Fixes: 9fc3de9c8356 ("vt: Add virtual console keyboard mode OFF")
> Signed-off-by: Myrrh Periwinkle <myrrhperiwinkle@qtmlabs.xyz>
> Cc: stable@vger.kernel.org
> ---
> drivers/tty/vt/keyboard.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/tty/vt/keyboard.c b/drivers/tty/vt/keyboard.c
> index dc585079c2fb8c92d37284701f15905a24161768..ee1d9c448c7ebf2f1456f6bd18e55a9681b036c2 100644
> --- a/drivers/tty/vt/keyboard.c
> +++ b/drivers/tty/vt/keyboard.c
> @@ -1487,7 +1487,7 @@ static void kbd_keycode(unsigned int keycode, int down, bool hw_raw)
> rc = atomic_notifier_call_chain(&keyboard_notifier_list,
> KBD_UNICODE, ¶m);
> if (rc != NOTIFY_STOP)
> - if (down && !raw_mode)
> + if (down && !(raw_mode || kbd->kbdmode == VC_OFF))
> k_unicode(vc, keysym, !down);
> return;
> }
>
--
js
suse labs
© 2016 - 2026 Red Hat, Inc.