Pause bug in menus with scroll bars


Revision as of 23:19, 10 February 2018 by Ryan W (talk | contribs) (fix link to disambiguation page. Just linking Engine bug at the end seems incomplete, since Strife is also affected. Maybe other navigation options will suggest themselves after the page evolves a bit more)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

A screenshot of the pause key bug with the cursor at the wrong place.

Pressing the pause key within menus containing a scroll bar in Doom or Strife will cause the skull cursor to jump beside the first scroll bar, and then cycle through subsequent scroll bars with additional presses. This is because Doom ordinarily allows the user to type the first letter of a menu item's name to jump to that item. In order to be ostensibly non-selectable, scroll bar items set their hot key letter to the "NUL" character, with ASCII value 0. In Doom's event system, however, keys like the pause key and caps lock key, which have no ASCII character associated with them, carry the value of "0" for press events, inadvertently matching scroll bar items on the menu.

The scroll bar cannot be scrolled while the cursor is next to it, as that behavior is actually associated with the scroll bar's label. The cursor will go back to its normal position if another key such as up, down, or a shortcut letter is pressed. This bug can be found in the sound menu and the options menu.