diff --git a/zsnes/src/linux/sdllink.c b/zsnes/src/linux/sdllink.c index d9a583ea..c5aaa0de 100644 --- a/zsnes/src/linux/sdllink.c +++ b/zsnes/src/linux/sdllink.c @@ -125,7 +125,7 @@ BYTE PrevStereoSound; DWORD PrevSoundQuality; int shiftptr = 0; -int numlockptr; +DWORD numlockptr; void ProcessKeyBuf(int scancode); void LinuxExit(void); @@ -142,7 +142,9 @@ int Main_Proc(void) if (event.key.keysym.sym == SDLK_LSHIFT || event.key.keysym.sym == SDLK_RSHIFT) shiftptr = 1; - if (event.key.keysym.mod == KMOD_NUM) + if (event.key.keysym.mod & KMOD_NUM) + numlockptr = 0; + else numlockptr = 1; if (event.key.keysym.scancode-8 >= 0) { if (pressed[event.key.keysym.scancode-8]!=2) @@ -155,8 +157,6 @@ int Main_Proc(void) if (event.key.keysym.sym == SDLK_LSHIFT || event.key.keysym.sym == SDLK_RSHIFT) shiftptr = 0; - if (event.key.keysym.mod == KMOD_NUM) - numlockptr = 0; if (event.key.keysym.scancode-8 >= 0) pressed[event.key.keysym.scancode-8]=0; break;