Hello Andreas, thanks for your comments.
On Tue, Dec 16, 2008 at 10:36:55AM +0100, Andreas Schwab wrote: > > + /* if ^0 is pressed again, reset > > + * sysrq_pressed and flip ^0 char */ > The comment says ^0 twice when ^O is meant. Correct. I have updated the comment. > > + sysrq_pressed = (sysrq_pressed) ? 0 : 1; > sysrq_pressed = !sysrc_pressed; Ok, it might look better. [PATCH v2] hvc_console: escape magic sysrq key From: Hendrik Brueckner <brueck...@linux.vnet.ibm.com> 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 ^O has been entered, and it has not flipped the ^O character to the tty.) Signed-off-by: Hendrik Brueckner <brueck...@linux.vnet.ibm.com> --- 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 ^O is pressed again, reset + * sysrq_pressed and flip ^O char */ + sysrq_pressed = !sysrq_pressed; + if (sysrq_pressed) + continue; } else if (sysrq_pressed) { handle_sysrq(buf[i], tty); sysrq_pressed = 0; _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev