Sticky wrote:As there is no kpenter key, the fact that it doesn't work isn't a bug.

Actually, it is possible to check it separately. ZDoom uses explicit coding to map the 2 enter keys together. So it can be changed.
Here's the code responsible:
Code: Select all
// "Merge" multiple keys that are considered to be the same.
// Also clear out the alternate versions after merging.
toState[DIK_RETURN] |= toState[DIK_NUMPADENTER];
toState[DIK_LMENU] |= toState[DIK_RMENU];
toState[DIK_LCONTROL] |= toState[DIK_RCONTROL];
toState[DIK_LSHIFT] |= toState[DIK_RSHIFT];
toState[DIK_NUMPADENTER] = 0;
toState[DIK_RMENU] = 0;
toState[DIK_RCONTROL] = 0;
toState[DIK_RSHIFT] = 0;
It'd be trivial to make this optional controlled by a CVAR. (And looking at this, I'd really appreciate if I could separate the 2 shift keys. I never thought it was possible but apparently it is.
The fullscreen toggle is equally trivial. Just make this code optional and controlled by a CVAR as well:
Code: Select all
case WM_SYSCHAR:
... (deleted unrelated code)
// The following code is responsible for toggling between fullscreen and window.
if (wParam == '\r')
{
ToggleFullscreen = !ToggleFullscreen;
}
break;
Since this is so simple I think I add it to the next unofficial build.

[quote="Sticky"]As there is no kpenter key, the fact that it doesn't work isn't a bug. :-)[/quote]
Actually, it is possible to check it separately. ZDoom uses explicit coding to map the 2 enter keys together. So it can be changed.
Here's the code responsible:
[code]
// "Merge" multiple keys that are considered to be the same.
// Also clear out the alternate versions after merging.
toState[DIK_RETURN] |= toState[DIK_NUMPADENTER];
toState[DIK_LMENU] |= toState[DIK_RMENU];
toState[DIK_LCONTROL] |= toState[DIK_RCONTROL];
toState[DIK_LSHIFT] |= toState[DIK_RSHIFT];
toState[DIK_NUMPADENTER] = 0;
toState[DIK_RMENU] = 0;
toState[DIK_RCONTROL] = 0;
toState[DIK_RSHIFT] = 0;
[/code]
It'd be trivial to make this optional controlled by a CVAR. (And looking at this, I'd really appreciate if I could separate the 2 shift keys. I never thought it was possible but apparently it is.
The fullscreen toggle is equally trivial. Just make this code optional and controlled by a CVAR as well:
[code]
case WM_SYSCHAR:
... (deleted unrelated code)
// The following code is responsible for toggling between fullscreen and window.
if (wParam == '\r')
{
ToggleFullscreen = !ToggleFullscreen;
}
break;
[/code]
Since this is so simple I think I add it to the next unofficial build. ;)