https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a9f60321f088ebd2b02a334cd7241c9e1df21475
commit a9f60321f088ebd2b02a334cd7241c9e1df21475 Author: Katayama Hirofumi MZ <[email protected]> AuthorDate: Sun Sep 20 07:16:21 2020 +0900 Commit: GitHub <[email protected]> CommitDate: Sun Sep 20 07:16:21 2020 +0900 [MORE] Implement 'Q' key for 'Quit' (#3210) Implement 'Quit' action for keyboard key 'Q'. CORE-4019 --- base/applications/cmdutils/more/more.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/base/applications/cmdutils/more/more.c b/base/applications/cmdutils/more/more.c index 161818a5e6b..14dd0d54c32 100644 --- a/base/applications/cmdutils/more/more.c +++ b/base/applications/cmdutils/more/more.c @@ -8,6 +8,7 @@ * PROGRAMMERS: Paolo Pantaleo * Timothy Schepens * Hermes Belusca-Maito ([email protected]) + * Katayama Hirofumi MZ ([email protected]) */ /* * MORE.C - external command. @@ -133,6 +134,7 @@ PagePrompt(PCON_PAGER Pager, DWORD Done, DWORD Total) */ ConClearLine(Pager->Screen->Stream); + /* Ctrl+C or Ctrl+Esc: Control Break */ if ((KeyEvent.wVirtualKeyCode == VK_ESCAPE) || ((KeyEvent.wVirtualKeyCode == L'C') && (KeyEvent.dwControlKeyState & (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED)))) @@ -143,6 +145,17 @@ PagePrompt(PCON_PAGER Pager, DWORD Done, DWORD Total) return FALSE; } + /* 'Q': Quit */ + // FIXME: Available only when command extensions are enabled. + if ((KeyEvent.wVirtualKeyCode == L'Q') && + !(KeyEvent.dwControlKeyState & (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED))) + { + /* We break, output a newline */ + WCHAR ch = L'\n'; + ConStreamWrite(Pager->Screen->Stream, &ch, 1); + return FALSE; + } + return TRUE; }
