168 for (
i = 0;
i <
Globals.Keyboard->KeyCount;
i++)
191 BYTE bKeyStates[256];
202 DPRINT(
"OSK_SetKeys(): GetKeyboardState() call failed.\n");
212 for (
i = 0;
i <
Globals.Keyboard->KeyCount;
i++)
225 szKey = Keys[
i].
name;
244 if (
Globals.bIsEnhancedKeyboard)
257 DPRINT(
"OSK_SetKeys(): Failed to allocate memory for button handles.\n");
264 for (
i = 0;
i <
Globals.Keyboard->KeyCount;
i++)
274 szKey = Keys[
i].
name;
300 Globals.Keyboard->Size.cy + yPad,
304 LedPos =
Globals.Keyboard->LedStart;
305 LedSize =
Globals.Keyboard->LedSize;
311 LedPos.
x +=
Globals.Keyboard->LedGap;
317 LedPos.
x +=
Globals.Keyboard->LedGap;
377 RECT rcWindow, rcDlgIntersect;
392 if (
Globals.bIsEnhancedKeyboard)
412 memset(&Pt, 0,
sizeof(Pt));
530 if (
LedKey[
i].bWasKeyPressed != bKeyIsPressed)
546 HWND hWndActiveWindow;
554 Globals.hActiveWnd = hWndActiveWindow;
590 cf.lStructSize =
sizeof(
cf);
610 for (
i = 0;
i <
Globals.Keyboard->KeyCount;
i++)
688 bExtendedKey =
FALSE;
699 Input.ki.dwFlags = KEYEVENTF_SCANCODE;
750 bExtendedKey =
FALSE;
785 rcText.
top =
Globals.Keyboard->LedTextStart.y;
861 if (!
Globals.bIsEnhancedKeyboard)
884 if (
Globals.bIsEnhancedKeyboard)
965 case WM_THEMECHANGED:
1015 DPRINT(
"wWinMain(): Failed to create a mutex! The program instance is already running.\n");
HGDIOBJ WINAPI GetStockObject(_In_ int)
HMONITOR WINAPI MonitorFromPoint(POINT, DWORD)
HKL WINAPI ActivateKeyboardLayout(_In_ HKL, _In_ UINT)
BOOL WINAPI TranslateMessage(_In_ const MSG *)
DWORD WINAPI OSK_WarningDlgThread(LPVOID lpParameter)
DWORD WINAPI GetWindowThreadProcessId(HWND hWnd, PDWORD lpdwProcessId)
BOOL WINAPI OffsetRect(_Inout_ LPRECT, _In_ int, _In_ int)
BOOL WINAPI DestroyIcon(_In_ HICON)
#define UNREFERENCED_PARAMETER(P)
BOOL OSK_Command(WPARAM wCommand, HWND hWndControl)
#define WM_CTLCOLORSTATIC
TW_UINT32 TW_UINT16 TW_UINT16 MSG
void quit(int argc, const char *argv[])
KEYBOARD_STRUCT StandardKeyboard
KEYBOARD_STRUCT EnhancedKeyboard
BOOL WINAPI UpdateWindow(_In_ HWND)
DWORD WINAPI GetTickCount(VOID)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
DWORD WINAPI GetLastError(VOID)
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
GLint GLint GLint GLint GLint x
#define IDC_SHOWWARNINGCHECK
BOOL WINAPI SetWindowTextW(_In_ HWND, _In_opt_ LPCWSTR)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
BOOL WINAPI DestroyWindow(_In_ HWND)
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
#define CreateWindowW(a, b, c, d, e, f, g, h, i, j, k)
struct tagINITCOMMONCONTROLSEX INITCOMMONCONTROLSEX
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
ATOM WINAPI RegisterClassExW(_In_ CONST WNDCLASSEXW *)
#define ICC_WIN95_CLASSES
LRESULT WINAPI DispatchMessageW(_In_ const MSG *)
HANDLE WINAPI LoadImageW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_ UINT, _In_ int, _In_ int, _In_ UINT)
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
static struct _test_info info[]
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
int OSK_SetImage(int IdDlgItem, int IdResource)
BOOL WINAPI ChooseFontW(LPCHOOSEFONTW lpChFont)
HANDLE WINAPI CopyImage(_In_ HANDLE, _In_ UINT, _In_ int, _In_ int, _In_ UINT)
_Out_opt_ int _Out_opt_ int * cy
void OSK_SetText(int IdDlgItem, int IdResource)
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
LPARAM WINAPI GetMessageExtraInfo(void)
UINT WINAPI MapVirtualKeyW(_In_ UINT, _In_ UINT)
UINT WINAPI IsDlgButtonChecked(_In_ HWND, _In_ int)
UINT_PTR WINAPI SetTimer(_In_opt_ HWND, _In_ UINT_PTR, _In_ UINT, _In_opt_ TIMERPROC)
#define DialogBoxW(i, t, p, f)
SHORT WINAPI GetKeyState(_In_ int)
LRESULT APIENTRY OSK_WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
VOID OSK_ChooseFont(VOID)
VOID OSK_RefreshLEDKeys(VOID)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
BOOL WINAPI GetMonitorInfoW(_In_ HMONITOR, _Inout_ LPMONITORINFO)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
int WINAPI GetSystemMetrics(_In_ int)
LRESULT OSK_SetKeys(int reason)
DWORD WINAPI CheckMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
_Check_return_ BOOL WINAPI GetKeyboardState(_Out_writes_(256) PBYTE lpKeyState)
_Check_return_ _CRTIMP int __cdecl wcsncmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
static WCHAR reason[MAX_STRING_RESOURCE_LEN]
BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR)
LRESULT OSK_Paint(HWND hwnd)
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
BOOL WINAPI InitCommonControlsEx(const INITCOMMONCONTROLSEX *lpInitCtrls)
LRESULT OSK_Create(HWND hwnd)
SHORT WINAPI GetAsyncKeyState(_In_ int)
BOOL WINAPI ShellAboutW(HWND hWnd, LPCWSTR szApp, LPCWSTR szOtherStuff, HICON hIcon)
INT_PTR CALLBACK OSK_WarningProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
BOOL WINAPI IntersectRect(_Out_ LPRECT, _In_ LPCRECT, _In_ LPCRECT)
#define LR_COPYFROMRESOURCE
VOID OSK_DestroyKeys(VOID)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
PKEYBOARD_LAYOUT GetKeyboardLayout()
HANDLE WINAPI DECLSPEC_HOTPATCH CreateMutexW(IN LPSECURITY_ATTRIBUTES lpMutexAttributes OPTIONAL, IN BOOL bInitialOwner, IN LPCWSTR lpName OPTIONAL)
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
HWND WINAPI GetForegroundWindow(void)
int WINAPI ToUnicode(_In_ UINT wVirtKey, _In_ UINT wScanCode, _In_reads_bytes_opt_(256) CONST BYTE *lpKeyState, _Out_writes_(cchBuff) LPWSTR pwszBuff, _In_ int cchBuff, _In_ UINT wFlags)
OSK_KEYLEDINDICATOR LedKey[]
GLint GLint GLint GLint GLint GLint y
BOOL WINAPI GetMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT)
#define KEYEVENTF_EXTENDEDKEY
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
#define IDD_WARNINGDIALOG_OSK
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
WCHAR lfFaceName[LF_FACESIZE]
BOOL WINAPI SetForegroundWindow(_In_ HWND)
int WINAPI wWinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPWSTR cmdline, int cmdshow)
BOOL OSK_ReleaseKey(WORD ScanCode)
#define ICC_STANDARD_CLASSES
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
#define MAKEINTRESOURCEW(i)
#define ERROR_ALREADY_EXISTS
BOOL WINAPI PeekMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT, _In_ UINT)
HMENU WINAPI GetMenu(_In_ HWND)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
#define HeapFree(x, y, z)
__analysis_noreturn void WINAPI PostQuitMessage(_In_ int)
UINT WINAPI SendInput(UINT, LPINPUT, int)
#define CF_INITTOLOGFONTSTRUCT
INT WINAPI DrawTextW(HDC hdc, LPCWSTR str, INT count, LPRECT rect, UINT flags)
BOOL WINAPI PlaySoundW(LPCWSTR pszSoundW, HMODULE hmod, DWORD fdwSound)