10#include "../kbswitch.h"
31#define MUTEX_TIMEOUT_MS (4 * 1000)
40 WARN(
"Timeout while waiting for mutex.\n");
88 case HSHELL_WINDOWACTIVATED:
106 return vKey == vKey0 || vKey == vKey1 || vKey == vKey2;
141 TRACE(
"bDoHook: %d\n", bDoHook);
194 WARN(
"EnterProtectedSection failed\n");
212 WARN(
"EnterProtectedSection failed\n");
225 TRACE(
"DLL_PROCESS_ATTACH\n");
237 TRACE(
"bAlreadyExists: %d\n", bAlreadyExists);
258 ERR(
"Failed to create mutex\n");
265 TRACE(
"DLL_PROCESS_DETACH\n");
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define DLL_PROCESS_ATTACH
#define DLL_PROCESS_DETACH
#define INVALID_HANDLE_VALUE
static BOOL CheckVirtualKey(UINT vKey, UINT vKey0, UINT vKey1, UINT vKey2)
static VOID LeaveProtectedSection(VOID)
struct tagSHARED_DATA * PSHARED_DATA
struct tagSHARED_DATA SHARED_DATA
BOOL WINAPI DllMain(IN HINSTANCE hinstDLL, IN DWORD dwReason, IN LPVOID lpvReserved)
VOID APIENTRY GetPenMenuData(PUINT pnID, PDWORD_PTR pdwItemData)
static VOID PostMessageToMainWnd(UINT Msg, WPARAM wParam, LPARAM lParam)
static LRESULT CALLBACK ShellHookProc(INT code, WPARAM wParam, LPARAM lParam)
static LRESULT CALLBACK WinHookProc(INT code, WPARAM wParam, LPARAM lParam)
static BOOL EnterProtectedSection(VOID)
static LRESULT CALLBACK KeyboardProc(INT code, WPARAM wParam, LPARAM lParam)
FN_KbSwitchSetHooks KbSwitchSetHooks
FN_SetPenMenuData SetPenMenuData
#define WM_WINDOW_ACTIVATE
static IN DWORD IN LPVOID lpvReserved
#define ERROR_ALREADY_EXISTS
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
BOOL WINAPI DECLSPEC_HOTPATCH ReleaseMutex(IN HANDLE hMutex)
DWORD WINAPI GetLastError(void)
#define CreateFileMapping
BOOL WINAPI IsWindow(_In_opt_ HWND)
BOOL WINAPI UnhookWindowsHookEx(_In_ HHOOK)
LRESULT WINAPI CallNextHookEx(_In_opt_ HHOOK, _In_ int, _In_ WPARAM, _In_ LPARAM)
SHORT WINAPI GetKeyState(_In_ int)