From: Sebastien B. <sb...@us...> - 2002-10-09 02:29:46
|
Update of /cvsroot/jvcl/jvcl/source In directory usw-pr-cvs1:/tmp/cvs-serv21536 Modified Files: JvKeyboardStates.pas Log Message: Fixed component not working on XP at all Index: JvKeyboardStates.pas =================================================================== RCS file: /cvsroot/jvcl/jvcl/source/JvKeyboardStates.pas,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** JvKeyboardStates.pas 20 Jul 2002 11:52:35 -0000 1.2 --- JvKeyboardStates.pas 9 Oct 2002 02:29:41 -0000 1.3 *************** *** 205,209 **** begin GetKeyboardState(KeyState); ! Result := KeyState[Value] = 1; end; --- 205,209 ---- begin GetKeyboardState(KeyState); ! Result := KeyState[Value] = 1; end; *************** *** 211,220 **** procedure TJvKeyboardStates.SetState(key: Integer; Value: Boolean); - var - KeyState: TKeyboardState; begin ! GetKeyboardState(KeyState); ! KeyState[key] := Integer(Value); ! SetKeyboardState(KeyState); end; --- 211,220 ---- procedure TJvKeyboardStates.SetState(key: Integer; Value: Boolean); begin ! if Odd(GetAsyncKeyState( key )) <> Value Then ! begin ! keybd_event(key, MapVirtualkey(key, 0), KEYEVENTF_EXTENDEDKEY, 0); ! keybd_event(key, MapVirtualkey(key, 0), KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0); ! end; end; |