spiegel-keyman/common/windows/cpp/include/legacy_kmx_memory.h
Steven R. Loomis d56f6557fb chore(core): deprecate checksum in 16.0 🙀
- do not generate unless version<16.0
- never check checksum

Fixes: #7220
2022-09-16 14:24:01 -05:00

61 lines
1.9 KiB
C

#pragma once
/***************************************************************************/
/* In memory keyboard information */
typedef struct tagSTORE
{
DWORD dwSystemID;
PWSTR dpName;
PWSTR dpString;
} STORE, * LPSTORE;
typedef struct tagKEY
{
WCHAR Key;
DWORD Line;
DWORD ShiftFlags;
PWSTR dpOutput;
PWSTR dpContext;
} KEY, * LPKEY;
typedef struct tagGROUP
{
PWSTR dpName;
LPKEY dpKeyArray; // [LPKEY] address of first item in key array
PWSTR dpMatch;
PWSTR dpNoMatch;
DWORD cxKeyArray; // in array entries
BOOL fUsingKeys; // group(xx) [using keys] <-- specified or not
} GROUP, * LPGROUP;
typedef struct tagKEYBOARD
{
DWORD dwIdentifier; // Keyman compiled keyboard id
DWORD dwFileVersion; // Version of the file - Keyman 4.0 is 0x0400
DWORD dwCheckSum; // As stored in keyboard. DEPRECATED as of 16.0
DWORD xxkbdlayout; // as stored in HKEY_LOCAL_MACHINE//system//currentcontrolset//control//keyboard layouts
DWORD IsRegistered; // layout id, from same registry key
DWORD version; // keyboard version
DWORD cxStoreArray; // in array entries
DWORD cxGroupArray; // in array entries
LPSTORE dpStoreArray; // [LPSTORE] address of first item in store array, from start of file
LPGROUP dpGroupArray; // [LPGROUP] address of first item in group array, from start of file
DWORD StartGroup[2]; // index of starting groups [2 of them]
// Ansi=0, Unicode=1
DWORD dwFlags; // Flags for the keyboard file
DWORD dwHotKey; // standard windows hotkey (hiword=shift/ctrl/alt stuff, loword=vkey)
//PWSTR dpName; // offset of name
//PWSTR dpLanguageName; // offset of language name;
//PWSTR dpCopyright; // offset of copyright
//PWSTR dpMessage; // offset of message in Keyboard About box
HBITMAP hBitmap; // handle to the bitmap in the file;
} KEYBOARD, * LPKEYBOARD;