From 5139df0e33ac840518c5cfd34d898e644de723e6 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Wed, 4 Sep 2013 02:41:24 +0000 Subject: Extend "emulation" of menu pause key behavior to caps/num/scroll lock keys, which cause the same behavior. Subversion-branch: /branches/v2-branch Subversion-revision: 2632 --- src/strife/m_menu.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/strife') diff --git a/src/strife/m_menu.c b/src/strife/m_menu.c index 61d0bd58..20b56ff2 100644 --- a/src/strife/m_menu.c +++ b/src/strife/m_menu.c @@ -1669,6 +1669,14 @@ void M_DialogDimMsg(int x, int y, char *str, boolean useyfont) while((bl = toupper(message[++i])) != 0); // step to the next character } +// These keys evaluate to a "null" key in Vanilla Doom that allows weird +// jumping in the menus. Preserve this behavior for accuracy. + +static boolean IsNullKey(int key) +{ + return key == KEY_PAUSE || key == KEY_CAPSLOCK + || key == KEY_SCRLCK || key == KEY_NUMLOCK; +} // // CONTROL PANEL @@ -2183,9 +2191,9 @@ boolean M_Responder (event_t* ev) // Keyboard shortcut? // Vanilla Strife has a weird behavior where it jumps to the scroll bars - // when the pause key is pressed, so emulate this. + // when certain keys are pressed, so emulate this. - else if (ch != 0 || key == KEY_PAUSE) + else if (ch != 0 || IsNullKey(key)) { // Keyboard shortcut? -- cgit v1.2.3