From: Hendrik Brueckner <[email protected]>

The ctrl-o (^O) is a common control key used by several applications like vim.

To allow users to send ^O to the terminal, this patch introduces a check
if ^O is pressed again if the sysrq_pressed variable is already set.
In this case, clear sysrq_pressed state and flip the ^O character to the tty.
(The old behavior has always set "sysrq_pressed" if ^0 has been entered, and it
has not flipped the ^O character to the tty.)

Signed-off-by: Hendrik Brueckner <[email protected]>
---
 drivers/char/hvc_console.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

--- a/drivers/char/hvc_console.c
+++ b/drivers/char/hvc_console.c
@@ -642,8 +642,11 @@ int hvc_poll(struct hvc_struct *hp)
                                /* Handle the SysRq Hack */
                                /* XXX should support a sequence */
                                if (buf[i] == '\x0f') { /* ^O */
-                                       sysrq_pressed = 1;
-                                       continue;
+                                       /* if ^0 is pressed again, reset
+                                        * sysrq_pressed and flip ^0 char */
+                                       sysrq_pressed = (sysrq_pressed) ? 0 : 1;
+                                       if (sysrq_pressed)
+                                               continue;
                                } else if (sysrq_pressed) {
                                        handle_sysrq(buf[i], tty);
                                        sysrq_pressed = 0;

-- 
Hendrik Brueckner
D/3303 Linux on System z Development
eMail: [email protected]
IBM Deutschland Research & Development GmbH, Schoenaicher Str. 220, 71032 
Boeblingen

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschaeftsfuehrung: Erich Baier
Sitz der Gesellschaft: Boeblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294

_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to