Repeat-key handling for Win32

Utilise both FreeGLUT state and per-window filtering modes


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@483 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
nigels 2004-03-15 11:31:19 +00:00
parent 3ff83f17c8
commit 11d357efc4

View File

@ -1593,7 +1593,7 @@ LRESULT CALLBACK fgWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam,
int keypress = -1;
POINT mouse_pos ;
if( fgState.IgnoreKeyRepeat && (HIWORD(lParam) & KF_REPEAT) )
if( ( fgState.KeyRepeat==GLUT_KEY_REPEAT_OFF || window->State.IgnoreKeyRepeat==GL_TRUE ) && (HIWORD(lParam) & KF_REPEAT) )
break;
/*
@ -1742,7 +1742,7 @@ LRESULT CALLBACK fgWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam,
case WM_SYSCHAR:
case WM_CHAR:
{
if( fgState.IgnoreKeyRepeat && (HIWORD(lParam) & KF_REPEAT) )
if( (fgState.KeyRepeat==GLUT_KEY_REPEAT_OFF || window->State.IgnoreKeyRepeat==GL_TRUE) && (HIWORD(lParam) & KF_REPEAT) )
break;
fgState.Modifiers = fgGetWin32Modifiers( );