mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 11:46:19 +00:00
hvc_console: Escape magic sysrq key
The ctrl-o (^O) is a common control key used by several applications, such as vim, but hvc_console uses ^O as the magic-sysrq key. This commit allows users to send ^O to applications by pressing ^O twice in succession. To implement this, this commit 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 <brueckner@linux.vnet.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
532774ec7f
commit
368c1e3249
1 changed files with 5 additions and 2 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue