mirror of
https://github.com/reactos/reactos.git
synced 2024-11-01 04:11:30 +00:00
25b7447818
- Respect the toggle key settings. - Change the hot key settings in base/setup/lib/mui.c. - Revert IntDefWindowProc function about Alt+Shift handling. - Delete some code in co_IntProcessKeyboardMessage for Alt+Shift handling. - Add IntGetNextKL, IntLanguageToggle, and IntCheckLanguageToggle helper functions. - Modify ProcessKeyEvent and UserGetLanguageToggle functions to support [Left Alt]+Shift and Ctrl+Shift. - Improve WM_INPUTLANGCHANGEREQUEST handling. - Message handling shouldn't access kbswitch directly. CORE-10667
69 lines
1.7 KiB
C
69 lines
1.7 KiB
C
#pragma once
|
|
|
|
#define DECLARE_RETURN(type) type _ret_
|
|
#define RETURN(value) { _ret_ = value; goto _cleanup_; }
|
|
#define CLEANUP /*unreachable*/ ASSERT(FALSE); _cleanup_
|
|
#define END_CLEANUP return _ret_;
|
|
|
|
#define UserEnterCo UserEnterExclusive
|
|
#define UserLeaveCo UserLeave
|
|
|
|
typedef VOID (*TL_FN_FREE)(PVOID);
|
|
|
|
/* Thread Lock structure */
|
|
typedef struct _TL
|
|
{
|
|
struct _TL* next;
|
|
PVOID pobj;
|
|
TL_FN_FREE pfnFree;
|
|
} TL, *PTL;
|
|
|
|
extern PSERVERINFO gpsi;
|
|
extern PTHREADINFO gptiCurrent;
|
|
extern PPROCESSINFO gppiList;
|
|
extern PPROCESSINFO ppiScrnSaver;
|
|
extern PPROCESSINFO gppiInputProvider;
|
|
extern BOOL g_AlwaysDisplayVersion;
|
|
extern ATOM gaGuiConsoleWndClass;
|
|
extern ATOM AtomDDETrack;
|
|
extern ATOM AtomQOS;
|
|
extern ATOM AtomImeLevel;
|
|
extern ERESOURCE UserLock;
|
|
|
|
CODE_SEG("INIT") NTSTATUS NTAPI InitUserImpl(VOID);
|
|
VOID FASTCALL CleanupUserImpl(VOID);
|
|
VOID FASTCALL UserEnterShared(VOID);
|
|
VOID FASTCALL UserEnterExclusive(VOID);
|
|
VOID FASTCALL UserLeave(VOID);
|
|
BOOL FASTCALL UserIsEntered(VOID);
|
|
BOOL FASTCALL UserIsEnteredExclusive(VOID);
|
|
DWORD FASTCALL UserGetLanguageToggle(_In_ LPCWSTR pszType, _In_ DWORD dwDefaultValue);
|
|
|
|
_Success_(return != FALSE)
|
|
BOOL
|
|
NTAPI
|
|
RegReadUserSetting(
|
|
_In_z_ PCWSTR pwszKeyName,
|
|
_In_z_ PCWSTR pwszValueName,
|
|
_In_ ULONG ulType,
|
|
_Out_writes_bytes_(cjDataSize) _When_(ulType == REG_SZ, _Post_z_) PVOID pvData,
|
|
_In_ ULONG cjDataSize);
|
|
|
|
_Success_(return != FALSE)
|
|
BOOL
|
|
NTAPI
|
|
RegWriteUserSetting(
|
|
_In_z_ PCWSTR pwszKeyName,
|
|
_In_z_ PCWSTR pwszValueName,
|
|
_In_ ULONG ulType,
|
|
_In_reads_bytes_(cjDataSize) const VOID *pvData,
|
|
_In_ ULONG cjDataSize);
|
|
|
|
PGRAPHICS_DEVICE
|
|
NTAPI
|
|
InitDisplayDriver(
|
|
IN PWSTR pwszDeviceName,
|
|
IN PWSTR pwszRegKey);
|
|
|
|
/* EOF */
|