Full Version: POLL: Change CLOSE WINDOW code because it collides with key
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

in the FB forums, there's a poll about a change of the CLOSE WINDOW key code because I realized that it collides with the SHIFT+F5 key code. Please make your vote because it's result will influence the way this problem will be solved.

Here's the link to the poll: http://www.freebasic.net/forum/viewtopic...0428#10428

Here's the whole text of the poll:


I recently fixed the keyboard input of FB/DOS and FB/Win32 (Gfx) so that the returned key codes really match QB's values.

IOW: It'll now return the correct key codes for (SHIFT/CTRL/ALT+)F1-F12, ALTGR+Key and others. It also correctly translates all characters to the correct code page (important for non-US users).

After I finished the fixes, I realized that the returned key code to close the window is CHR$(255)+"X" (&H58FF) but this is the same key code for SHIFT+F5.

This might cause trouble with old QB compatible applications that use SHIFT+F5 and that's the reason for this poll.

I'd like to change the key code for a "CLOSE WINDOW" event to something different but this would break applications that rely on this feature.

Here are the current arguments for and against the change:

  • CLOSE key code collides with SHIFT+F5 which may break older applications
  • SHIFT+F5 normally doesn't mean that the application should close
    ALT+F4 is the key combination that Windows' users would expect to close the window.
  • FB is still BETA and changes may not hurt so much at this stage

  • The current FB users may rely on the CLOSE window key code
  • CHR$(255)+"X" is a mnemonic which is very easy to remember

I see the following solutions:
  • Leave it the way it currently is
    To stay compatible with current FB applications
  • Change CLOSE to ALT+F4
    This is well-known (at least for Windows users), key code is &H6BFF
  • Change CLOSE to CHR$(255,255)
    This can be remembered easily and doesn't conflict with any existing key code
  • Other solution
    Maybe there is another solution that I haven't seen yet