# User Keyboard Input user defined functions Reference

Below is a complete list of the user defined functions available in AutoIt. Click on a user defined function name for a detailed description.

When using them you need to add a #include <WinAPISys.au3>.

User Defined Function | Description
--- | ---
_WinAPI_ActivateKeyboardLayout | Sets the input locale identifier for the calling thread or the current process
_WinAPI_EnableWindow | Enables or disables mouse and keyboard input to the specified window or control
_WinAPI_GetActiveWindow | Retrieves the window handle to the active window attached to the calling process's message queue
_WinAPI_GetAsyncKeyState | Determines whether a key is up or down at the time the function is called
_WinAPI_GetIdleTime | Retrieves the time that has elapsed since the last input
_WinAPI_GetKeyboardLayout | Retrieves the active input locale identifier for the specified window
_WinAPI_GetKeyboardLayoutList | Retrieves the all input locale identifiers corresponding to the current set of input locales in the system
_WinAPI_GetKeyboardLayoutLocale | Retrieves the string name of the input locale identifier for the specified window
_WinAPI_GetKeyboardState | Copies the status of the 256 virtual keys to the specified buffer
_WinAPI_GetKeyboardType | Retrieves information about the current keyboard
_WinAPI_GetKeyNameText | Retrieves a string that represents the name of a key
_WinAPI_GetKeyState | Retrieves the status of the specified virtual key
_WinAPI_IsLoadKBLayout | Determines whether the specified input locale loaded into the system
_WinAPI_Keybd_Event | Synthesizes a keystroke
_WinAPI_LoadKeyboardLayout | Loads a new input locale identifier into the system
_WinAPI_MapVirtualKey | Translates a virtual-key code into a scan code or character value, or translates a scan code into a virtual-key code
_WinAPI_RegisterHotKey | Defines a system-wide hot key
_WinAPI_SendInput | Synthesizes keystrokes, mouse motions, and button clicks
_WinAPI_SetActiveWindow | Activates the specified window
_WinAPI_SetKeyboardLayout | Sets an input locale identifier to the specified window
_WinAPI_SetKeyboardState | Copies a 256-byte array of keyboard key states into the calling process's keyboard input-state table
_WinAPI_UnloadKeyboardLayout | Unloads an input locale identifier
_WinAPI_UnregisterHotKey | Frees a hot key previously registered by the calling thread