Win: make sure SDL keyboard state reflects system capslock state at startup.

Ryan C. Gordon 2015-12-27 18:48:14 -05:00
parent 9e9ef5ad31
commit 6a2e8a7a90
1 changed files with 14 additions and 0 deletions

View File

@ -102,6 +102,20 @@ WIN_InitKeyboard(_THIS)
SDL_SetScancodeName(SDL_SCANCODE_APPLICATION, "Menu");
SDL_SetScancodeName(SDL_SCANCODE_LGUI, "Left Windows");
SDL_SetScancodeName(SDL_SCANCODE_RGUI, "Right Windows");
/* Are system caps/num/scroll lock active? Set our state to match. */
if (GetKeyState(VK_CAPITAL) & 0x0001) {
SDL_SendKeyboardKey(SDL_PRESSED, SDL_SCANCODE_CAPSLOCK);
SDL_SendKeyboardKey(SDL_RELEASED, SDL_SCANCODE_CAPSLOCK);
}
if (GetKeyState(VK_NUMLOCK) & 0x0001) {
SDL_SendKeyboardKey(SDL_PRESSED, SDL_SCANCODE_NUMLOCKCLEAR);
SDL_SendKeyboardKey(SDL_RELEASED, SDL_SCANCODE_NUMLOCKCLEAR);
}
if (GetKeyState(VK_SCROLL) & 0x0001) {
SDL_SendKeyboardKey(SDL_PRESSED, SDL_SCANCODE_SCROLLLOCK);
SDL_SendKeyboardKey(SDL_RELEASED, SDL_SCANCODE_SCROLLLOCK);
}
}
void