in_sdl.c: Restructure the SDL1 backend a bit.

Tested on Linux and Windows with various keyboard layouts. This fixes some text input weirdness on Windows.

Before, we always used the "unicode" field (if available) of SDL's keydown events to overrule the "sym" field with which Key_Event() is called. However, the "unicode" field is only filled for keydown events, so this meant that our keyup events didn't always match their corresponding keydown events. With the introduction of Char_Event(), we can now use the "unicode" field for textinput only, and call Key_Event() with the non-overruled "sym" field. This has the benefit that keyup events now match keydown events, and that we can get rid of several ugly hacks (some platform specific ifdef's and some control character handling).

Note: the translation of the numpad keys to other keys when not in "gamekey" mode was dropped, because otherwise a numpad key could trigger (for intstance) both a textinput and a cursor movement in the console. This is arguably cleaner anyway.



git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk@1042 af15c1b1-3010-417e-b628-4374ebc0bcbd
keys.c Key_ConsoleBindable(): add sanity check


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk@1043 af15c1b1-3010-417e-b628-4374ebc0bcbd
keys.c: Key_ConsoleBindable: special-case key 0, since it essentially means "no key".


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk@1044 af15c1b1-3010-417e-b628-4374ebc0bcbd
sys_sdl_win.c: Call SetProcessDPIAware if available (Vista and above) to opt out of the OS scaling our window on a high-dpi display.

SDL (both 1.x and 2.x) is buggy and can't deal with scaled windows.
But we'd probably want to call this anyway beause it give us full-resolution windows.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk@1045 af15c1b1-3010-417e-b628-4374ebc0bcbd
keys.c: Key_ConsoleBindable: add a better check for "general bindability".


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk@1046 af15c1b1-3010-417e-b628-4374ebc0bcbd
Minor cleanups.

in_keys.c: Key_ConsoleBindable: remove redundant check, this is now handled by Key_KeynumToString/Key_StringToKeynum.
in_sdl.c: IN_SendKeyEvents: use a single method for checking whether we have a keydown or keyup event.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk@1047 af15c1b1-3010-417e-b628-4374ebc0bcbd
revert r1045 (SetProcessDPIAware).. while it fixed broken fullscreen on one configuration (sdl2/windows 8), it broke another that worked (sdl2/windows 8.1).

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk@1048 af15c1b1-3010-417e-b628-4374ebc0bcbd
add a note about high-dpi displays on Windows to the readme.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk@1049 af15c1b1-3010-417e-b628-4374ebc0bcbd
gl_vidsdl.c: Correct some swap interval related messages.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk@1050 af15c1b1-3010-417e-b628-4374ebc0bcbd