Ability for menus to receive MenuEvent-blocked UiEvents
Moderator: GZDoom Developers
-
- Posts: 466
- Joined: Sat Apr 16, 2016 6:01 am
- Preferred Pronouns: She/Her
Ability for menus to receive MenuEvent-blocked UiEvents
So currently the menu system has a bit of an annoyance compared to UiProcessor event handlers, which is that the existence of MenuEvent blocks some important UiEvents from ever being given to menus - for example the arrow keys, enter key and backspace key are only ever sent as menu events which means that it's only possible to detect them repeating if GZDoom is programmed to send them again for this purpose, and also that it's completely impossible (via IsShift, IsCtrl and IsAlt) to find if the user was pressing shift, ctrl or alt while these were pressed (so it's not possible to have different behaviour on shift + arrow keys, for example). To fix this it'd be nice to have a flag on the menu class which disables this suppression for menus that want to handle this all manually (the biggest example here is menus which don't behave at all like doom menus). It's also worth noting that this affects one of GZDoom's own menus - the TextEnterMenu won't accept backspace repeat events as it is only checking for MKEY_Clear, so you need to press backspace for each character rather than just holding it (at least on Linux, although I don't see why this'd be platform-specific).
-
- Posts: 466
- Joined: Sat Apr 16, 2016 6:01 am
- Preferred Pronouns: She/Her
Re: Ability for menus to receive MenuEvent-blocked UiEvents
So I've just realised that this already exists as a virtual called TranslateKeyboardEvents instead of a flag. This can be closed.