3 * Copyright (C) 1998, 1999, 2000, 2001 ReactOS Team
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 /* $Id: input.c,v 1.9 2003/07/20 05:32:19 jimtabor Exp $
21 * PROJECT: ReactOS user32.dll
22 * FILE: lib/user32/windows/input.c
24 * PROGRAMMER: Casper S. Hornstrup (chorns@users.sourceforge.net)
26 * 09-05-2001 CSH Created
29 /* INCLUDES ******************************************************************/
35 /* FUNCTIONS *****************************************************************/
41 ActivateKeyboardLayout(HKL hkl
,
53 BlockInput(WINBOOL fBlockIt
)
64 EnableWindow(HWND hWnd
,
76 GetAsyncKeyState(int vKey
)
87 GetKeyboardLayout(DWORD idThread
)
97 WINBOOL STDCALL
GetInputState(VOID
)
119 GetKeyNameTextA(LONG lParam
,
132 GetKeyNameTextW(LONG lParam
,
145 GetKeyState(int nVirtKey
)
147 return (SHORT
) NtUserGetKeyState((DWORD
) nVirtKey
);
155 GetKeyboardLayoutList(int nBuff
,
167 GetKeyboardLayoutNameA(LPSTR pwszKLID
)
178 GetKeyboardLayoutNameW(LPWSTR pwszKLID
)
189 GetKeyboardState(PBYTE lpKeyState
)
192 return (WINBOOL
) NtUserGetKeyboardState((LPBYTE
) lpKeyState
);
200 GetKeyboardType(int nTypeFlag
)
211 GetLastInputInfo(PLASTINPUTINFO plii
)
222 LoadKeyboardLayoutA(LPCSTR pwszKLID
,
234 LoadKeyboardLayoutW(LPCWSTR pwszKLID
,
246 MapVirtualKeyA(UINT uCode
,
258 MapVirtualKeyExA(UINT uCode
,
271 MapVirtualKeyExW(UINT uCode
,
284 MapVirtualKeyW(UINT uCode
,
296 OemKeyScan(WORD wOemChar
)
309 return NtUserSetFocus(hWnd
);
317 SetKeyboardState(LPBYTE lpKeyState
)
319 return (WINBOOL
) NtUserSetKeyboardState((LPBYTE
)lpKeyState
);
327 ToAscii(UINT uVirtKey
,
329 CONST PBYTE lpKeyState
,
342 ToAsciiEx(UINT uVirtKey
,
344 CONST PBYTE lpKeyState
,
358 ToUnicode(UINT wVirtKey
,
360 CONST PBYTE lpKeyState
,
374 ToUnicodeEx(UINT wVirtKey
,
376 CONST PBYTE lpKeyState
,
391 UnloadKeyboardLayout(HKL hkl
)
413 VkKeyScanExA(CHAR ch
,
425 VkKeyScanExW(WCHAR ch
,