this post was submitted on 23 May 2024
7 points (88.9% liked)
Game Development
3430 readers
7 users here now
Welcome to the game development community! This is a place to talk about and post anything related to the field of game development.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Found the solution, I have to put the following lines into the part that handles/intercepts the events related to the window itself:
Otherwise all event that goes through this window goes to
DefWindowProcW();
even if interrupted.If you’d have any user input, this would break it. Even if you emulate it using key codes later, localisation will be hard
I'll be letting though certain keypresses in the future, and will only be blocking the alt key from hanging my app and such. It also blocks the Alt+F4 key combination and co.
One more thing I forgot to say. If default function of the alt key is to open menu, that it’s defined somewhere in your game, settings or the engine. If you try default loop in win32 api app with an empty window, alt key does nothing and you need actually bind it to change its behaviour to show menu. So I recommend to blame settings or an engine first before disabling events on so low level.
Also such way of disabling events would prevent you of porting your app to other OSes like Linux and macOS
The test of behaviour I tell is an input field, allowing to type letters of European languages like ü, ä, ą and so on. I’m quite disappointed when I can’t input something like „Łabądź” as a player name, but able to edit in memory or in save file.
Also I prefer to have Alt-F4 as an emergency exit