From a1f269692d14bec77603266bbf093dc9466e0fe3 Mon Sep 17 00:00:00 2001 From: dumblob Date: Sat, 25 Jun 2022 18:34:38 +0200 Subject: [PATCH] win gerd: preliminary attempt to make it work assuming R_Shift scan code is remapped to L_Alt scan code --- ...rentControlSet_Control_Keyboard Layout.pdf | Bin 0 -> 86884 bytes platform/win/20220624-gerdLTGT/gerdLTGT.C | 542 ++++++++++++++++++ .../win/20220624-gerdLTGT/gerdLTGT.C.bak00 | 344 +++++++++++ .../win/20220624-gerdLTGT/gerdLTGT.C.bak01 | 534 +++++++++++++++++ .../win/20220624-gerdLTGT/gerdLTGT.C.howto | 29 + platform/win/20220624-gerdLTGT/gerdLTGT.DEF | 4 + platform/win/20220624-gerdLTGT/gerdLTGT.H | 103 ++++ .../win/20220624-gerdLTGT/gerdLTGT.H.bak00 | 103 ++++ platform/win/20220624-gerdLTGT/gerdLTGT.RC | 51 ++ .../win/20220624-gerdLTGT/gerdLTGT.RC.bak00 | Bin 0 -> 2528 bytes platform/win/20220624-gerdLTGT/gerdLTGT.klc | 328 +++++++++++ .../win/20220624-gerdLTGT/gerdLTGT.klc.bak00 | 327 +++++++++++ platform/win/20220624-gerdLTGT/make_pkg.sh | 274 +++++++++ .../win/20220624-gerdLTGT/make_pkg.sh.bak00 | 274 +++++++++ .../map_esc_to_caps_lock.reg | Bin 0 -> 384 bytes .../map_esc_to_caps_lock.reg.bak00 | Bin 0 -> 384 bytes platform/win/README.md | 6 +- ...n password field - Microsoft Community.pdf | Bin 0 -> 275815 bytes ...pressed in AutoHotKey - Stack Overflow.pdf | Bin 0 -> 143852 bytes 19 files changed, 2918 insertions(+), 1 deletion(-) create mode 100644 platform/win/20220624-gerdLTGT/Registry_ HKEY_LOCAL_MACHINE_SYSTEM_CurrentControlSet_Control_Keyboard Layout.pdf create mode 100644 platform/win/20220624-gerdLTGT/gerdLTGT.C create mode 100644 platform/win/20220624-gerdLTGT/gerdLTGT.C.bak00 create mode 100644 platform/win/20220624-gerdLTGT/gerdLTGT.C.bak01 create mode 100644 platform/win/20220624-gerdLTGT/gerdLTGT.C.howto create mode 100644 platform/win/20220624-gerdLTGT/gerdLTGT.DEF create mode 100644 platform/win/20220624-gerdLTGT/gerdLTGT.H create mode 100644 platform/win/20220624-gerdLTGT/gerdLTGT.H.bak00 create mode 100644 platform/win/20220624-gerdLTGT/gerdLTGT.RC create mode 100644 platform/win/20220624-gerdLTGT/gerdLTGT.RC.bak00 create mode 100644 platform/win/20220624-gerdLTGT/gerdLTGT.klc create mode 100644 platform/win/20220624-gerdLTGT/gerdLTGT.klc.bak00 create mode 100644 platform/win/20220624-gerdLTGT/make_pkg.sh create mode 100644 platform/win/20220624-gerdLTGT/make_pkg.sh.bak00 create mode 100644 platform/win/20220624-gerdLTGT/map_esc_to_caps_lock.reg create mode 100644 platform/win/20220624-gerdLTGT/map_esc_to_caps_lock.reg.bak00 create mode 100644 standards/20220623_150306+0200-Microsoft IME on windows 10 gets disabled on password field - Microsoft Community.pdf create mode 100644 standards/20220623_153527+0200-Match both shift keys being pressed in AutoHotKey - Stack Overflow.pdf diff --git a/platform/win/20220624-gerdLTGT/Registry_ HKEY_LOCAL_MACHINE_SYSTEM_CurrentControlSet_Control_Keyboard Layout.pdf b/platform/win/20220624-gerdLTGT/Registry_ HKEY_LOCAL_MACHINE_SYSTEM_CurrentControlSet_Control_Keyboard Layout.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ed6dc9a1fc9db1460d4cddc454a35648059ae069 GIT binary patch literal 86884 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�bh^HKKvS2;>bQ@*ybC@_{Zwt^yMGvCkeqLl127 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�y|1Y(AiwuIuo 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 literal 0 HcmV?d00001 diff --git a/platform/win/20220624-gerdLTGT/gerdLTGT.C b/platform/win/20220624-gerdLTGT/gerdLTGT.C new file mode 100644 index 0000000..59e60b9 --- /dev/null +++ b/platform/win/20220624-gerdLTGT/gerdLTGT.C @@ -0,0 +1,542 @@ +// FIXME contact Michael S. Kaplan (blogs.msdn.com/b/michkap/archive/2006/04/10/570570.aspx ) +// FIXME use virtual keys (e.g. OEM_ or rather undefined ones) instead of Shifts +// disdvantage: might not work with some of the "shift levels" +// FIXME has E1 other possibilities than E0 ? +// FIXME test when a shift level falls down (when the last pressed key +// gets unpressed? or already when just one of the keys gets unpressed?) +// FIXME per keyboard layout option "SHIFTLOCK" + +/***************************************************************************\ + ä Ö Ü ß +* Module Name: gerdLTGT.C +* +* keyboard layout +* +* Copyright (c) 1985-2001, Microsoft Corporation +* +* History: +* KBDTOOL v3.40 - Created Mon May 29 08:05:02 2017 +\***************************************************************************/ + +#include +#include "kbd.h" +#include "winuser.h" +#include "gerdLTGT.h" + +#if defined(_M_IA64) +//FIXME +//#pragma section(".data",read,write) +#pragma section(".data") +#define ALLOC_SECTION_LDATA __declspec(allocate(".data")) +#else +//FIXME might need system-init of the DLL, not a process-specific init (it's a huge security risk) +//#pragma bss_seg(".data") +#pragma data_seg(".data") +#define ALLOC_SECTION_LDATA +#endif + +/***************************************************************************\ +* ausVK[] - Virtual Scan Code to Virtual Key conversion table +\***************************************************************************/ + +static ALLOC_SECTION_LDATA USHORT ausVK[] = { + T00, T01, T02, T03, T04, T05, T06, T07, + T08, T09, T0A, T0B, T0C, T0D, T0E, T0F, + T10, T11, T12, T13, T14, T15, T16, T17, + // 24 + + T18, T19, T1A, T1B, T1C, + // 5 + + + /* + * Left Ctrl FIXME + */ + T1D, + + T1E, T1F, + T20, T21, T22, T23, T24, T25, T26, T27, + T28, T29, + // 12 + + + /* + * Left-hand Shift FIXME + */ + T2A, + + T2B, T2C, T2D, T2E, T2F, + T30, T31, T32, T33, T34, T35, + // 11 + + + /* + * Right-hand Shift key must have KBDEXT bit set. + */ + // FIXME try it without KBDEXT (https://stackoverflow.com/a/15967904 ) + T36 | KBDEXT, + + T37 | KBDMULTIVK, // numpad_* + Shift/Alt -> SnapShot + + T38, T39, T3A, T3B, T3C, T3D, T3E, + T3F, T40, T41, T42, T43, T44, + // 13 + + + /* + * NumLock Key: + * KBDEXT - VK_NUMLOCK is an Extended key + * KBDMULTIVK - VK_NUMLOCK or VK_PAUSE (without or with CTRL) + */ + T45 | KBDEXT | KBDMULTIVK, + + T46 | KBDMULTIVK, + + /* + * Number Pad keys: + * KBDNUMPAD - digits 0-9 and decimal point. + * KBDSPECIAL - require special processing by Windows + */ + T47 | KBDNUMPAD | KBDSPECIAL, // Numpad 7 (Home) + T48 | KBDNUMPAD | KBDSPECIAL, // Numpad 8 (Up), + T49 | KBDNUMPAD | KBDSPECIAL, // Numpad 9 (PgUp), + T4A, + T4B | KBDNUMPAD | KBDSPECIAL, // Numpad 4 (Left), + T4C | KBDNUMPAD | KBDSPECIAL, // Numpad 5 (Clear), + T4D | KBDNUMPAD | KBDSPECIAL, // Numpad 6 (Right), + T4E, + T4F | KBDNUMPAD | KBDSPECIAL, // Numpad 1 (End), + T50 | KBDNUMPAD | KBDSPECIAL, // Numpad 2 (Down), + T51 | KBDNUMPAD | KBDSPECIAL, // Numpad 3 (PgDn), + T52 | KBDNUMPAD | KBDSPECIAL, // Numpad 0 (Ins), + T53 | KBDNUMPAD | KBDSPECIAL, // Numpad . (Del), + + T54, T55, T56, T57, T58, T59, T5A, T5B, + T5C, T5D, T5E, T5F, T60, T61, T62, T63, + T64, T65, T66, T67, T68, T69, T6A, T6B, + T6C, T6D, T6E, T6F, T70, T71, T72, T73, + T74, T75, T76, T77, T78, T79, T7A, T7B, + // 40 + + T7C, T7D, T7E + // 3 = 127 + +}; + +static ALLOC_SECTION_LDATA VSC_VK aE0VscToVk[] = { + { 0x10, X10 | KBDEXT }, // Speedracer: Previous Track + { 0x19, X19 | KBDEXT }, // Speedracer: Next Track + { 0x1D, X1D | KBDEXT }, // RControl; Right Ctrl FIXME + { 0x20, X20 | KBDEXT }, // Speedracer: Volume Mute + { 0x21, X21 | KBDEXT }, // Speedracer: Launch App 2 + { 0x22, X22 | KBDEXT }, // Speedracer: Media Play/Pause + { 0x24, X24 | KBDEXT }, // Speedracer: Media Stop + { 0x2E, X2E | KBDEXT }, // Speedracer: Volume Down + { 0x30, X30 | KBDEXT }, // Speedracer: Volume Up + { 0x32, X32 | KBDEXT }, // Speedracer: Browser Home + { 0x35, X35 | KBDEXT }, // Numpad Divide + { 0x37, X37 | KBDEXT }, // Snapshot + { 0x38, X38 | KBDEXT }, // RMenu + { 0x47, X47 | KBDEXT }, // Home + { 0x48, X48 | KBDEXT }, // Up + { 0x49, X49 | KBDEXT }, // Prior + { 0x4B, X4B | KBDEXT }, // Left + { 0x4D, X4D | KBDEXT }, // Right + { 0x4F, X4F | KBDEXT }, // End + { 0x50, X50 | KBDEXT }, // Down + { 0x51, X51 | KBDEXT }, // Next + { 0x52, X52 | KBDEXT }, // Insert + { 0x53, X53 | KBDEXT }, // Delete + { 0x5B, X5B | KBDEXT }, // Left Win + { 0x5C, X5C | KBDEXT }, // Right Win + { 0x5D, X5D | KBDEXT }, // Application + { 0x5F, X5F | KBDEXT }, // Speedracer: Sleep + { 0x65, X65 | KBDEXT }, // Speedracer: Browser Search + { 0x66, X66 | KBDEXT }, // Speedracer: Browser Favorites + { 0x67, X67 | KBDEXT }, // Speedracer: Browser Refresh + { 0x68, X68 | KBDEXT }, // Speedracer: Browser Stop + { 0x69, X69 | KBDEXT }, // Speedracer: Browser Forward + { 0x6A, X6A | KBDEXT }, // Speedracer: Browser Back + { 0x6B, X6B | KBDEXT }, // Speedracer: Launch App 1 + { 0x6C, X6C | KBDEXT }, // Speedracer: Launch Mail + { 0x6D, X6D | KBDEXT }, // Speedracer: Launch Media Selector + { 0x1C, X1C | KBDEXT }, // Numpad Enter + { 0x46, X46 | KBDEXT }, // Break (Ctrl + Pause) + { 0, 0 } +}; + +static ALLOC_SECTION_LDATA VSC_VK aE1VscToVk[] = { + { 0x1D, Y1D }, // Pause + { 0 , 0 } +}; + +/***************************************************************************\ +* aVkToBits[] - map Virtual Keys to Modifier Bits +* +* See kbd.h for a full description. +* +* this shall describe (all?) physically available modifier key types +* on this particular type of keyboard +* assume any keyboard here +* FIXME test this on US physical kbd, JP physical kbd, etc. +* +* The keyboard has only three shifter keys: +* SHIFT (L & R) affects alphabnumeric keys, +* CTRL (L & R) is used to generate control characters +* ALT (L & R) used for generating characters by number with numpad +\***************************************************************************/ +static ALLOC_SECTION_LDATA VK_TO_BIT aVkToBits[] = { + // distinguish physical left and right shifts by scan code remap + // (NOT virtual code remap!) of R_Shift to act as L_Alt using + // Windows registry key "Scancode Map" + // order should not matter + { VK_SHIFT , KBDSHIFT }, // (1 << 0) + { VK_CONTROL, KBDCTRL }, // (1 << 1) + { VK_MENU , KBDALT }, // (1 << 2) no VK_ALT exists + // historically it was VK_MENU + // note AltGr is VK_RMENU + { VK_MENU , KBDKANA }, // (1 << 3) + { VK_MENU , KBDROYA }, // (1 << 4) + { VK_MENU , KBDLOYA }, // (1 << 5) + { VK_MENU , (1 << 6) }, // (1 << 6) does not exist (not defined anywhere) + { VK_MENU , KBDGRPSELTAP }, // (1 << 7) + { 0 , 0 } + + // FIXME + // Those languages that use AltGr (VK_RMENU) to shift keys convert it to + // CTRL+ALT with the KBDSPECIAL bit in the ausVK[] entry for VK_RMENU + // and by having an entry in aVkToPfnOem[] to simulate the right Vk sequence. +}; + +/***************************************************************************\ +* aModification[] - map character modifier bits to modification number +* +* See kbd.h for a full description. +* +\***************************************************************************/ + +static ALLOC_SECTION_LDATA MODIFIERS CharModifiers = { + // PVK_TO_BIT pVkToBit; // Virtual Keys -> Mod bits + &aVkToBits[0], + // WORD wMaxModBits; // max Modification bit combination value + // FIXME add all other modifiers here + KBDSHIFT | KBDCTRL | KBDALT, + + // BYTE ModNumber[]; // Mod bits -> Modification Number + // mod_bits are an index to this array => order matters ( + // arithmetic progression with step 1 without any omission; + // use SHFT_INVALID as an ignored shift state) + { + // from kbd.h: + // #define KBDSHIFT (1 << 0) + // #define KBDCTRL (1 << 1) + // #define KBDALT (1 << 2) + // #define KBDKANA (1 << 3) + // #define KBDROYA (1 << 4) + // #define KBDLOYA (1 << 5) + // (1 << 6) does not exist (not defined anywhere) + // #define KBDGRPSELTAP (1 << 7) + + // FIXME test Ctrl and Alt key bindings (e.g. Ctrl+c, Alt+64, ...) + // shift_state_idx // KBDALT KBDCTRL KBDSHIFT + 0, // 0 0 0 + 1, // 0 0 1 (physical LSHIFT pressed) + SHFT_INVALID, // 0 1 0 + SHFT_INVALID, // 0 1 1 + 1, // 1 0 0 (physical RSHIFT pressed) + 2, // 1 0 1 (phy. LSHIFT & phy. RSHIFT + // pressed simultaneously) + SHFT_INVALID, // 1 1 0 + SHFT_INVALID // 1 1 1 + // FIXME add all other modifiers here + } + + // demonstration of the relationship (note: this code is NOT based + // on the real internal implementation; it just roughly 3333333333 ) + // for x in pVkToBits { + // if x[0] == 0 && x[1] == 0 { break } + // ifx x[1] <= wMaxModBits { + // // x[0] is not interesting + // if aModification[x[1]] != SHFT_INVALID { + // shift_to_the_level( aModification[x[1]] ) + // break + // } + // } + // } +}; + +/***************************************************************************\ +* +* aVkToWch2[] - Virtual Key to WCHAR translation for 2 shift states +* aVkToWch3[] - Virtual Key to WCHAR translation for 3 shift states +* aVkToWch4[] - Virtual Key to WCHAR translation for 4 shift states +* +* Table attributes: Unordered Scan, null-terminated +* +* Search this table for an entry with a matching Virtual Key to find the +* corresponding unshifted and shifted WCHAR characters. +* +* Special values for VirtualKey (column 1) +* 0xff - dead chars for the previous entry +* 0 - terminate the list +* +* Special values for Attributes (column 2) +* CAPLOK bit - CAPS-LOCK affect this key like SHIFT +* +* Special values for wch[*] (column 3 & 4) +* WCH_NONE - No character +* WCH_DEAD - Dead Key (diaresis) or invalid (US keyboard has none) +* WCH_LGTR - Ligature (generates multiple characters) +* +\***************************************************************************/ + +static ALLOC_SECTION_LDATA VK_TO_WCHARS2 aVkToWch2[] = { +// | | Shift | +// |=========|=========| + {VK_TAB ,0 ,'\t' ,'\t' }, + {VK_ADD ,0 ,'+' ,'+' }, + {VK_DIVIDE ,0 ,'/' ,'/' }, + {VK_MULTIPLY ,0 ,'*' ,'*' }, + {VK_SUBTRACT ,0 ,'-' ,'-' }, + {0 ,0 ,0 ,0 } +}; + +// FIXME all unwanted VK_* keys should be redefined as WCH_NONE +static ALLOC_SECTION_LDATA VK_TO_WCHARS3 aVkToWch3[] = { +// | | Shift | Ctrl | +// |=========|=========|=========| + {VK_OEM_3 ,0 ,WCH_NONE ,WCH_NONE ,'~' }, + {'1' ,0 ,WCH_NONE ,WCH_NONE ,'!' }, + {'2' ,0 ,0x00e4 ,0x00c4 ,'@' }, + {'3' ,0 ,0x00f6 ,0x00d6 ,'#' }, + {'4' ,0 ,WCH_NONE ,WCH_NONE ,'$' }, + {'5' ,0 ,0x00fc ,0x00dc ,'%' }, + {'6' ,0 ,WCH_NONE ,WCH_NONE ,'^' }, + {'7' ,0 ,WCH_NONE ,WCH_NONE ,'&' }, + {'8' ,0 ,WCH_NONE ,WCH_NONE ,'*' }, + {'9' ,0 ,WCH_NONE ,WCH_NONE ,'(' }, + {'0' ,0 ,WCH_NONE ,WCH_NONE ,')' }, + {VK_OEM_4 ,0 ,0x00df ,0x1e9e ,'{' }, + {VK_OEM_6 ,0 ,WCH_NONE ,WCH_NONE ,'}' }, + {VK_OEM_102 ,0 ,WCH_NONE ,WCH_NONE ,WCH_NONE }, + {VK_OEM_7 ,0 ,'\'' ,'\"' ,WCH_NONE }, + {VK_OEM_COMMA ,0 ,',' ,'<' ,WCH_NONE }, + {VK_OEM_PERIOD,0 ,'.' ,'>' ,WCH_NONE }, + {'P' ,0 ,'p' ,'P' ,WCH_NONE }, + {'Y' ,0 ,'y' ,'Y' ,WCH_NONE }, + {'F' ,0 ,'f' ,'F' ,WCH_NONE }, + {'G' ,0 ,'g' ,'G' ,WCH_NONE }, + {'C' ,0 ,'c' ,'C' ,WCH_NONE }, + {'R' ,0 ,'r' ,'R' ,WCH_NONE }, + {'L' ,0 ,'l' ,'L' ,WCH_NONE }, + {VK_OEM_2 ,0 ,'/' ,'?' ,']' }, + {VK_OEM_PLUS ,0 ,'=' ,'+' ,'+' }, + {VK_OEM_5 ,0 ,'\\' ,'|' ,'|' }, + {'A' ,0 ,'a' ,'A' ,WCH_NONE }, + {'O' ,0 ,'o' ,'O' ,WCH_NONE }, + {'E' ,0 ,'e' ,'E' ,WCH_NONE }, + {'U' ,0 ,'u' ,'U' ,WCH_NONE }, + {'I' ,0 ,'i' ,'I' ,WCH_NONE }, + {'D' ,0 ,'d' ,'D' ,WCH_NONE }, + {'H' ,0 ,'h' ,'H' ,WCH_NONE }, + {'T' ,0 ,'t' ,'T' ,WCH_NONE }, + {'N' ,0 ,'n' ,'N' ,WCH_NONE }, + {'S' ,0 ,'s' ,'S' ,WCH_NONE }, + {VK_OEM_MINUS ,0 ,'-' ,'_' ,'\\' }, + {VK_OEM_1 ,0 ,';' ,':' ,WCH_NONE }, + {'Q' ,0 ,'q' ,'Q' ,WCH_NONE }, + {'J' ,0 ,'j' ,'J' ,WCH_NONE }, + {'K' ,0 ,'k' ,'K' ,WCH_NONE }, + {'X' ,0 ,'x' ,'X' ,WCH_NONE }, + {'B' ,0 ,'b' ,'B' ,WCH_NONE }, + {'M' ,0 ,'m' ,'M' ,WCH_NONE }, + {'W' ,0 ,'w' ,'W' ,WCH_NONE }, + {'V' ,0 ,'v' ,'V' ,WCH_NONE }, + {'Z' ,0 ,'z' ,'Z' ,WCH_NONE }, + {VK_DECIMAL ,0 ,'.' ,'.' ,'.' }, + {VK_SPACE ,0 ,' ' ,0x00a0 ,0x00a0 }, + {VK_BACK ,0 ,'\b' ,'\b' ,0x007f }, + {VK_ESCAPE ,0 ,0x001b ,0x001b ,0x001b }, + {VK_RETURN ,0 ,'\r' ,'\r' ,'\n' }, + {VK_CANCEL ,0 ,0x0003 ,0x0003 ,0x0003 }, + {0 ,0 ,0 ,0 ,0 } +}; + +// Put this last so that VkKeyScan interprets number characters +// as coming from the main section of the kbd (aVkToWch2 and +// aVkToWch5) before considering the numpad (aVkToWch1). + +static ALLOC_SECTION_LDATA VK_TO_WCHARS1 aVkToWch1[] = { + { VK_NUMPAD0 , 0 , '0' }, + { VK_NUMPAD1 , 0 , '1' }, + { VK_NUMPAD2 , 0 , '2' }, + { VK_NUMPAD3 , 0 , '3' }, + { VK_NUMPAD4 , 0 , '4' }, + { VK_NUMPAD5 , 0 , '5' }, + { VK_NUMPAD6 , 0 , '6' }, + { VK_NUMPAD7 , 0 , '7' }, + { VK_NUMPAD8 , 0 , '8' }, + { VK_NUMPAD9 , 0 , '9' }, + { 0 , 0 , '\0' } +}; + +static ALLOC_SECTION_LDATA VK_TO_WCHAR_TABLE aVkToWcharTable[] = { + { (PVK_TO_WCHARS1)aVkToWch3, 3, sizeof(aVkToWch3[0]) }, + { (PVK_TO_WCHARS1)aVkToWch2, 2, sizeof(aVkToWch2[0]) }, + { (PVK_TO_WCHARS1)aVkToWch1, 1, sizeof(aVkToWch1[0]) }, + { NULL, 0, 0 }, +}; + +/***************************************************************************\ +* aKeyNames[], aKeyNamesExt[] - Virtual Scancode to Key Name tables +* +* Table attributes: Ordered Scan (by scancode), null-terminated +* +* Only the names of Extended, NumPad, Dead and Non-Printable keys are here. +* (Keys producing printable characters are named by that character) +\***************************************************************************/ + +static ALLOC_SECTION_LDATA VSC_LPWSTR aKeyNames[] = { + 0x01, L"Esc", + 0x0e, L"Backspace", + 0x0f, L"Tab", + 0x1c, L"Enter", + 0x1d, L"Ctrl", + 0x2a, L"Left Shift", + 0x36, L"Right Shift", + 0x37, L"Num *", + 0x38, L"Alt", + 0x39, L"Space", + 0x3a, L"Caps Lock", + 0x3b, L"F1", + 0x3c, L"F2", + 0x3d, L"F3", + 0x3e, L"F4", + 0x3f, L"F5", + 0x40, L"F6", + 0x41, L"F7", + 0x42, L"F8", + 0x43, L"F9", + 0x44, L"F10", + 0x45, L"Pause", + 0x46, L"Scroll Lock", + 0x47, L"Num 7", + 0x48, L"Num 8", + 0x49, L"Num 9", + 0x4a, L"Num -", + 0x4b, L"Num 4", + 0x4c, L"Num 5", + 0x4d, L"Num 6", + 0x4e, L"Num +", + 0x4f, L"Num 1", + 0x50, L"Num 2", + 0x51, L"Num 3", + 0x52, L"Num 0", + 0x53, L"Num Del", + 0x54, L"Sys Req", + 0x57, L"F11", + 0x58, L"F12", + 0x7c, L"F13", + 0x7d, L"F14", + 0x7e, L"F15", + 0x7f, L"F16", + 0x80, L"F17", + 0x81, L"F18", + 0x82, L"F19", + 0x83, L"F20", + 0x84, L"F21", + 0x85, L"F22", + 0x86, L"F23", + 0x87, L"F24", + 0 , NULL +}; + +static ALLOC_SECTION_LDATA VSC_LPWSTR aKeyNamesExt[] = { + 0x1c, L"Num Enter", + 0x1d, L"Right Ctrl", + 0x35, L"Num /", + 0x37, L"Prnt Scrn", + 0x38, L"Right Alt", + 0x45, L"Num Lock", + 0x46, L"Break", + 0x47, L"Home", + 0x48, L"Up", + 0x49, L"Page Up", + 0x4b, L"Left", + 0x4d, L"Right", + 0x4f, L"End", + 0x50, L"Down", + 0x51, L"Page Down", + 0x52, L"Insert", + 0x53, L"Delete", + 0x54, L"<00>", + 0x54, L"Sys Req", + 0x56, L"Help", + 0x5b, L"Left Windows", + 0x5c, L"Right Windows", + 0x5d, L"Application", + 0 , NULL +}; + +static ALLOC_SECTION_LDATA KBDTABLES KbdTables = { + /* + * Modifier keys + */ + &CharModifiers, + + /* + * Characters tables + */ + aVkToWcharTable, + + /* + * Diacritics (deadkeys) + */ + NULL, + + /* + * Names of Keys + */ + aKeyNames, + aKeyNamesExt, + NULL, + +// /* +// * Scan codes to Virtual Keys +// */ +// USHORT *KBD_LONG_POINTER pusVSCtoVK; +// BYTE bMaxVSCtoVK; +// PVSC_VK pVSCtoVK_E0; // Scancode has E0 prefix +// PVSC_VK pVSCtoVK_E1; // Scancode has E1 prefix + /* + * Scan codes to Virtual Keys + */ + ausVK, + sizeof(ausVK) / sizeof(ausVK[0]), + // both LSHIFT and RSHIFT usually ignored (see xlate.c in win2ksrc.rar) + aE0VscToVk, + aE1VscToVk, + + /* + * Locale-specific special processing + */ + MAKELONG(0, KBD_VERSION), + + /* + * Ligatures + */ + 0, + 0, + NULL +}; + +PKBDTABLES KbdLayerDescriptor(VOID) +{ + // There does not seem to be any easy reliable way to assign VK_ESCAPE to + // the CAPITAL virtual scancode in compile time due to a high diversity + // of keyboard types and their connections. + int i; + for( i = 0; i < KbdTables.bMaxVSCtoVK; ++i ){ + if( KbdTables.pusVSCtoVK[i] == VK_CAPITAL ) + // CAPITAL (~ CapsLk) -> ESCAPE + KbdTables.pusVSCtoVK[i] = VK_ESCAPE; + } + + return &KbdTables; +} + +// vim: set wrap ft=c: diff --git a/platform/win/20220624-gerdLTGT/gerdLTGT.C.bak00 b/platform/win/20220624-gerdLTGT/gerdLTGT.C.bak00 new file mode 100644 index 0000000..386c3fb --- /dev/null +++ b/platform/win/20220624-gerdLTGT/gerdLTGT.C.bak00 @@ -0,0 +1,344 @@ +/***************************************************************************\ +* Module Name: gerdLTGT.C +* +* keyboard layout +* +* Copyright (c) 1985-2001, Microsoft Corporation +* +* History: +* KBDTOOL v3.40 - Created Wed May 30 21:52:25 2018 +\***************************************************************************/ + +#include +#include "kbd.h" +#include "gerdLTGT.h" + +#if defined(_M_IA64) +#pragma section(".data") +#define ALLOC_SECTION_LDATA __declspec(allocate(".data")) +#else +#pragma data_seg(".data") +#define ALLOC_SECTION_LDATA +#endif + +/***************************************************************************\ +* ausVK[] - Virtual Scan Code to Virtual Key conversion table +\***************************************************************************/ + +static ALLOC_SECTION_LDATA USHORT ausVK[] = { + T00, T01, T02, T03, T04, T05, T06, T07, + T08, T09, T0A, T0B, T0C, T0D, T0E, T0F, + T10, T11, T12, T13, T14, T15, T16, T17, + T18, T19, T1A, T1B, T1C, T1D, T1E, T1F, + T20, T21, T22, T23, T24, T25, T26, T27, + T28, T29, T2A, T2B, T2C, T2D, T2E, T2F, + T30, T31, T32, T33, T34, T35, + + /* + * Right-hand Shift key must have KBDEXT bit set. + */ + T36 | KBDEXT, + + T37 | KBDMULTIVK, // numpad_* + Shift/Alt -> SnapShot + + T38, T39, T3A, T3B, T3C, T3D, T3E, + T3F, T40, T41, T42, T43, T44, + + /* + * NumLock Key: + * KBDEXT - VK_NUMLOCK is an Extended key + * KBDMULTIVK - VK_NUMLOCK or VK_PAUSE (without or with CTRL) + */ + T45 | KBDEXT | KBDMULTIVK, + + T46 | KBDMULTIVK, + + /* + * Number Pad keys: + * KBDNUMPAD - digits 0-9 and decimal point. + * KBDSPECIAL - require special processing by Windows + */ + T47 | KBDNUMPAD | KBDSPECIAL, // Numpad 7 (Home) + T48 | KBDNUMPAD | KBDSPECIAL, // Numpad 8 (Up), + T49 | KBDNUMPAD | KBDSPECIAL, // Numpad 9 (PgUp), + T4A, + T4B | KBDNUMPAD | KBDSPECIAL, // Numpad 4 (Left), + T4C | KBDNUMPAD | KBDSPECIAL, // Numpad 5 (Clear), + T4D | KBDNUMPAD | KBDSPECIAL, // Numpad 6 (Right), + T4E, + T4F | KBDNUMPAD | KBDSPECIAL, // Numpad 1 (End), + T50 | KBDNUMPAD | KBDSPECIAL, // Numpad 2 (Down), + T51 | KBDNUMPAD | KBDSPECIAL, // Numpad 3 (PgDn), + T52 | KBDNUMPAD | KBDSPECIAL, // Numpad 0 (Ins), + T53 | KBDNUMPAD | KBDSPECIAL, // Numpad . (Del), + + T54, T55, T56, T57, T58, T59, T5A, T5B, + T5C, T5D, T5E, T5F, T60, T61, T62, T63, + T64, T65, T66, T67, T68, T69, T6A, T6B, + T6C, T6D, T6E, T6F, T70, T71, T72, T73, + T74, T75, T76, T77, T78, T79, T7A, T7B, + T7C, T7D, T7E + +}; + +static ALLOC_SECTION_LDATA VSC_VK aE0VscToVk[] = { + { 0x10, X10 | KBDEXT }, // Speedracer: Previous Track + { 0x19, X19 | KBDEXT }, // Speedracer: Next Track + { 0x1D, X1D | KBDEXT }, // RControl + { 0x20, X20 | KBDEXT }, // Speedracer: Volume Mute + { 0x21, X21 | KBDEXT }, // Speedracer: Launch App 2 + { 0x22, X22 | KBDEXT }, // Speedracer: Media Play/Pause + { 0x24, X24 | KBDEXT }, // Speedracer: Media Stop + { 0x2E, X2E | KBDEXT }, // Speedracer: Volume Down + { 0x30, X30 | KBDEXT }, // Speedracer: Volume Up + { 0x32, X32 | KBDEXT }, // Speedracer: Browser Home + { 0x35, X35 | KBDEXT }, // Numpad Divide + { 0x37, X37 | KBDEXT }, // Snapshot + { 0x38, X38 | KBDEXT }, // RMenu + { 0x47, X47 | KBDEXT }, // Home + { 0x48, X48 | KBDEXT }, // Up + { 0x49, X49 | KBDEXT }, // Prior + { 0x4B, X4B | KBDEXT }, // Left + { 0x4D, X4D | KBDEXT }, // Right + { 0x4F, X4F | KBDEXT }, // End + { 0x50, X50 | KBDEXT }, // Down + { 0x51, X51 | KBDEXT }, // Next + { 0x52, X52 | KBDEXT }, // Insert + { 0x53, X53 | KBDEXT }, // Delete + { 0x5B, X5B | KBDEXT }, // Left Win + { 0x5C, X5C | KBDEXT }, // Right Win + { 0x5D, X5D | KBDEXT }, // Application + { 0x5F, X5F | KBDEXT }, // Speedracer: Sleep + { 0x65, X65 | KBDEXT }, // Speedracer: Browser Search + { 0x66, X66 | KBDEXT }, // Speedracer: Browser Favorites + { 0x67, X67 | KBDEXT }, // Speedracer: Browser Refresh + { 0x68, X68 | KBDEXT }, // Speedracer: Browser Stop + { 0x69, X69 | KBDEXT }, // Speedracer: Browser Forward + { 0x6A, X6A | KBDEXT }, // Speedracer: Browser Back + { 0x6B, X6B | KBDEXT }, // Speedracer: Launch App 1 + { 0x6C, X6C | KBDEXT }, // Speedracer: Launch Mail + { 0x6D, X6D | KBDEXT }, // Speedracer: Launch Media Selector + { 0x1C, X1C | KBDEXT }, // Numpad Enter + { 0x46, X46 | KBDEXT }, // Break (Ctrl + Pause) + { 0, 0 } +}; + +static ALLOC_SECTION_LDATA VSC_VK aE1VscToVk[] = { + { 0x1D, Y1D }, // Pause + { 0 , 0 } +}; + +/***************************************************************************\ +* aVkToBits[] - map Virtual Keys to Modifier Bits +* +* See kbd.h for a full description. +* +* The keyboard has only three shifter keys: +* SHIFT (L & R) affects alphabnumeric keys, +* CTRL (L & R) is used to generate control characters +* ALT (L & R) used for generating characters by number with numpad +\***************************************************************************/ +static ALLOC_SECTION_LDATA VK_TO_BIT aVkToBits[] = { + { VK_SHIFT , KBDSHIFT }, + { VK_CONTROL , KBDCTRL }, + { VK_MENU , KBDALT }, + { 0 , 0 } +}; + +/***************************************************************************\ +* aModification[] - map character modifier bits to modification number +* +* See kbd.h for a full description. +* +\***************************************************************************/ + +static ALLOC_SECTION_LDATA MODIFIERS CharModifiers = { + &aVkToBits[0], + 2, + { + // Modification# // Keys Pressed + // ============= // ============= + 0, // + 1, // Shift + 2 // Control + } +}; + +/***************************************************************************\ +* +* aVkToWch2[] - Virtual Key to WCHAR translation for 2 shift states +* aVkToWch3[] - Virtual Key to WCHAR translation for 3 shift states +* aVkToWch4[] - Virtual Key to WCHAR translation for 4 shift states +* +* Table attributes: Unordered Scan, null-terminated +* +* Search this table for an entry with a matching Virtual Key to find the +* corresponding unshifted and shifted WCHAR characters. +* +* Special values for VirtualKey (column 1) +* 0xff - dead chars for the previous entry +* 0 - terminate the list +* +* Special values for Attributes (column 2) +* CAPLOK bit - CAPS-LOCK affect this key like SHIFT +* +* Special values for wch[*] (column 3 & 4) +* WCH_NONE - No character +* WCH_DEAD - Dead Key (diaresis) or invalid (US keyboard has none) +* WCH_LGTR - Ligature (generates multiple characters) +* +\***************************************************************************/ + +static ALLOC_SECTION_LDATA VK_TO_WCHARS2 aVkToWch2[] = { +// | | Shift | +// |=========|=========| + {VK_TAB ,0 ,'\t' ,'\t' }, + {VK_ADD ,0 ,'+' ,'+' }, + {VK_DIVIDE ,0 ,'/' ,'/' }, + {VK_MULTIPLY ,0 ,'*' ,'*' }, + {VK_SUBTRACT ,0 ,'-' ,'-' }, + {0 ,0 ,0 ,0 } +}; + +static ALLOC_SECTION_LDATA VK_TO_WCHARS3 aVkToWch3[] = { +// | | Shift | Ctrl | +// |=========|=========|=========| + {VK_OEM_3 ,0 ,WCH_NONE ,WCH_NONE ,'~' }, + {'1' ,0 ,WCH_NONE ,WCH_NONE ,'!' }, + {'2' ,0 ,0x00e4 ,0x00c4 ,'@' }, + {'3' ,0 ,0x00f6 ,0x00d6 ,'#' }, + {'4' ,0 ,WCH_NONE ,WCH_NONE ,'$' }, + {'5' ,0 ,0x00fc ,0x00dc ,'%' }, + {'6' ,0 ,WCH_NONE ,WCH_NONE ,'^' }, + {'7' ,0 ,WCH_NONE ,WCH_NONE ,'&' }, + {'8' ,0 ,WCH_NONE ,WCH_NONE ,'*' }, + {'9' ,0 ,WCH_NONE ,WCH_NONE ,'(' }, + {'0' ,0 ,WCH_NONE ,WCH_NONE ,')' }, + {VK_OEM_4 ,0 ,0x00df ,0x1e9e ,'{' }, + {VK_OEM_6 ,0 ,WCH_NONE ,WCH_NONE ,'}' }, + {VK_OEM_102 ,0 ,WCH_NONE ,WCH_NONE ,WCH_NONE }, + {VK_OEM_7 ,0 ,'\'' ,'\"' ,WCH_NONE }, + {VK_OEM_COMMA ,0 ,',' ,'<' ,0x2013 }, + {VK_OEM_PERIOD,0 ,'.' ,'>' ,'!' }, + {'P' ,0 ,'p' ,'P' ,0x00a7 }, + {'Y' ,0 ,'y' ,'Y' ,WCH_NONE }, + {'F' ,0 ,'f' ,'F' ,',' }, + {'G' ,0 ,'g' ,'G' ,'7' }, + {'C' ,0 ,'c' ,'C' ,'8' }, + {'R' ,0 ,'r' ,'R' ,'9' }, + {'L' ,0 ,'l' ,'L' ,'[' }, + {VK_OEM_2 ,0 ,'/' ,'?' ,']' }, + {VK_OEM_PLUS ,0 ,'=' ,'+' ,'+' }, + {VK_OEM_5 ,0 ,'\\' ,'|' ,'|' }, + {'A' ,0 ,'a' ,'A' ,'@' }, + {'O' ,0 ,'o' ,'O' ,0x00b0 }, + {'E' ,0 ,'e' ,'E' ,0x20ac }, + {'U' ,0 ,'u' ,'U' ,'`' }, + {'I' ,0 ,'i' ,'I' ,WCH_NONE }, + {'D' ,0 ,'d' ,'D' ,':' }, + {'H' ,0 ,'h' ,'H' ,'4' }, + {'T' ,0 ,'t' ,'T' ,'5' }, + {'N' ,0 ,'n' ,'N' ,'6' }, + {'S' ,0 ,'s' ,'S' ,'=' }, + {VK_OEM_MINUS ,0 ,'-' ,'_' ,'\\' }, + {VK_OEM_1 ,0 ,';' ,':' ,WCH_NONE }, + {'Q' ,0 ,'q' ,'Q' ,WCH_NONE }, + {'J' ,0 ,'j' ,'J' ,WCH_NONE }, + {'K' ,0 ,'k' ,'K' ,WCH_NONE }, + {'X' ,0 ,'x' ,'X' ,WCH_NONE }, + {'B' ,0 ,'b' ,'B' ,'0' }, + {'M' ,0 ,'m' ,'M' ,'1' }, + {'W' ,0 ,'w' ,'W' ,'2' }, + {'V' ,0 ,'v' ,'V' ,'3' }, + {'Z' ,0 ,'z' ,'Z' ,'.' }, + {VK_DECIMAL ,0 ,'.' ,'.' ,'.' }, + {VK_SPACE ,0 ,' ' ,0x00a0 ,0x00a0 }, + {VK_BACK ,0 ,'\b' ,'\b' ,0x007f }, + {VK_ESCAPE ,0 ,0x001b ,0x001b ,0x001b }, + {VK_RETURN ,0 ,'\r' ,'\r' ,'\n' }, + {VK_CANCEL ,0 ,0x0003 ,0x0003 ,0x0003 }, + {0 ,0 ,0 ,0 ,0 } +}; + +// Put this last so that VkKeyScan interprets number characters +// as coming from the main section of the kbd (aVkToWch2 and +// aVkToWch5) before considering the numpad (aVkToWch1). + +static ALLOC_SECTION_LDATA VK_TO_WCHARS1 aVkToWch1[] = { + { VK_NUMPAD0 , 0 , '0' }, + { VK_NUMPAD1 , 0 , '1' }, + { VK_NUMPAD2 , 0 , '2' }, + { VK_NUMPAD3 , 0 , '3' }, + { VK_NUMPAD4 , 0 , '4' }, + { VK_NUMPAD5 , 0 , '5' }, + { VK_NUMPAD6 , 0 , '6' }, + { VK_NUMPAD7 , 0 , '7' }, + { VK_NUMPAD8 , 0 , '8' }, + { VK_NUMPAD9 , 0 , '9' }, + { 0 , 0 , '\0' } +}; + +static ALLOC_SECTION_LDATA VK_TO_WCHAR_TABLE aVkToWcharTable[] = { + { (PVK_TO_WCHARS1)aVkToWch3, 3, sizeof(aVkToWch3[0]) }, + { (PVK_TO_WCHARS1)aVkToWch2, 2, sizeof(aVkToWch2[0]) }, + { (PVK_TO_WCHARS1)aVkToWch1, 1, sizeof(aVkToWch1[0]) }, + { NULL, 0, 0 }, +}; + +/***************************************************************************\ +* aKeyNames[], aKeyNamesExt[] - Virtual Scancode to Key Name tables +* +* Table attributes: Ordered Scan (by scancode), null-terminated +* +* Only the names of Extended, NumPad, Dead and Non-Printable keys are here. +* (Keys producing printable characters are named by that character) +\***************************************************************************/ + +static ALLOC_SECTION_LDATA KBDTABLES KbdTables = { + /* + * Modifier keys + */ + &CharModifiers, + + /* + * Characters tables + */ + aVkToWcharTable, + + /* + * Diacritics + */ + NULL, + + /* + * Names of Keys + */ + NULL, + NULL, + NULL, + + /* + * Scan codes to Virtual Keys + */ + ausVK, + sizeof(ausVK) / sizeof(ausVK[0]), + aE0VscToVk, + aE1VscToVk, + + /* + * Locale-specific special processing + */ + MAKELONG(0, KBD_VERSION), + + /* + * Ligatures + */ + 0, + 0, + NULL +}; + +PKBDTABLES KbdLayerDescriptor(VOID) +{ + return &KbdTables; +} diff --git a/platform/win/20220624-gerdLTGT/gerdLTGT.C.bak01 b/platform/win/20220624-gerdLTGT/gerdLTGT.C.bak01 new file mode 100644 index 0000000..9660509 --- /dev/null +++ b/platform/win/20220624-gerdLTGT/gerdLTGT.C.bak01 @@ -0,0 +1,534 @@ +// FIXME contact Michael S. Kaplan (blogs.msdn.com/b/michkap/archive/2006/04/10/570570.aspx ) +// FIXME use virtual keys (e.g. OEM_ or rather undefined ones) instead of Shifts +// disdvantage: might not work with some of the "shift levels" +// FIXME has E1 other possibilities than E0 ? +// FIXME test when a shift level falls down (when the last pressed key +// gets unpressed? or already when just one of the keys gets unpressed?) +// FIXME per keyboard layout option "SHIFTLOCK" + +/***************************************************************************\ + ä Ö Ü ß +* Module Name: gerdLTGT.C +* +* keyboard layout +* +* Copyright (c) 1985-2001, Microsoft Corporation +* +* History: +* KBDTOOL v3.40 - Created Mon May 29 08:05:02 2017 +\***************************************************************************/ + +#include +#include "kbd.h" +#include "winuser.h" +#include "gerdLTGT.h" + +#if defined(_M_IA64) +//FIXME +//#pragma section(".data",read,write) +#pragma section(".data") +#define ALLOC_SECTION_LDATA __declspec(allocate(".data")) +#else +//FIXME might need system-init of the DLL, not a process-specific init (it's a huge security risk) +//#pragma bss_seg(".data") +#pragma data_seg(".data") +#define ALLOC_SECTION_LDATA +#endif + +/***************************************************************************\ +* ausVK[] - Virtual Scan Code to Virtual Key conversion table +\***************************************************************************/ + +static ALLOC_SECTION_LDATA USHORT ausVK[] = { + T00, T01, T02, T03, T04, T05, T06, T07, + T08, T09, T0A, T0B, T0C, T0D, T0E, T0F, + T10, T11, T12, T13, T14, T15, T16, T17, + // 24 + + T18, T19, T1A, T1B, T1C, + // 5 + + + /* + * Left Ctrl FIXME + */ + T1D, + + T1E, T1F, + T20, T21, T22, T23, T24, T25, T26, T27, + T28, T29, + // 12 + + + /* + * Left-hand Shift FIXME + */ + T2A, + + T2B, T2C, T2D, T2E, T2F, + T30, T31, T32, T33, T34, T35, + // 11 + + + /* + * Right-hand Shift key must have KBDEXT bit set. + */ + // FIXME try it without KBDEXT (https://stackoverflow.com/a/15967904 ) + T36 | KBDEXT, + + T37 | KBDMULTIVK, // numpad_* + Shift/Alt -> SnapShot + + T38, T39, T3A, T3B, T3C, T3D, T3E, + T3F, T40, T41, T42, T43, T44, + // 13 + + + /* + * NumLock Key: + * KBDEXT - VK_NUMLOCK is an Extended key + * KBDMULTIVK - VK_NUMLOCK or VK_PAUSE (without or with CTRL) + */ + T45 | KBDEXT | KBDMULTIVK, + + T46 | KBDMULTIVK, + + /* + * Number Pad keys: + * KBDNUMPAD - digits 0-9 and decimal point. + * KBDSPECIAL - require special processing by Windows + */ + T47 | KBDNUMPAD | KBDSPECIAL, // Numpad 7 (Home) + T48 | KBDNUMPAD | KBDSPECIAL, // Numpad 8 (Up), + T49 | KBDNUMPAD | KBDSPECIAL, // Numpad 9 (PgUp), + T4A, + T4B | KBDNUMPAD | KBDSPECIAL, // Numpad 4 (Left), + T4C | KBDNUMPAD | KBDSPECIAL, // Numpad 5 (Clear), + T4D | KBDNUMPAD | KBDSPECIAL, // Numpad 6 (Right), + T4E, + T4F | KBDNUMPAD | KBDSPECIAL, // Numpad 1 (End), + T50 | KBDNUMPAD | KBDSPECIAL, // Numpad 2 (Down), + T51 | KBDNUMPAD | KBDSPECIAL, // Numpad 3 (PgDn), + T52 | KBDNUMPAD | KBDSPECIAL, // Numpad 0 (Ins), + T53 | KBDNUMPAD | KBDSPECIAL, // Numpad . (Del), + + T54, T55, T56, T57, T58, T59, T5A, T5B, + T5C, T5D, T5E, T5F, T60, T61, T62, T63, + T64, T65, T66, T67, T68, T69, T6A, T6B, + T6C, T6D, T6E, T6F, T70, T71, T72, T73, + T74, T75, T76, T77, T78, T79, T7A, T7B, + // 40 + + T7C, T7D, T7E + // 3 = 127 + +}; + +static ALLOC_SECTION_LDATA VSC_VK aE0VscToVk[] = { + { 0x10, X10 | KBDEXT }, // Speedracer: Previous Track + { 0x19, X19 | KBDEXT }, // Speedracer: Next Track + { 0x1D, X1D | KBDEXT }, // RControl; Right Ctrl FIXME + { 0x20, X20 | KBDEXT }, // Speedracer: Volume Mute + { 0x21, X21 | KBDEXT }, // Speedracer: Launch App 2 + { 0x22, X22 | KBDEXT }, // Speedracer: Media Play/Pause + { 0x24, X24 | KBDEXT }, // Speedracer: Media Stop + { 0x2E, X2E | KBDEXT }, // Speedracer: Volume Down + { 0x30, X30 | KBDEXT }, // Speedracer: Volume Up + { 0x32, X32 | KBDEXT }, // Speedracer: Browser Home + { 0x35, X35 | KBDEXT }, // Numpad Divide + { 0x37, X37 | KBDEXT }, // Snapshot + { 0x38, X38 | KBDEXT }, // RMenu + { 0x47, X47 | KBDEXT }, // Home + { 0x48, X48 | KBDEXT }, // Up + { 0x49, X49 | KBDEXT }, // Prior + { 0x4B, X4B | KBDEXT }, // Left + { 0x4D, X4D | KBDEXT }, // Right + { 0x4F, X4F | KBDEXT }, // End + { 0x50, X50 | KBDEXT }, // Down + { 0x51, X51 | KBDEXT }, // Next + { 0x52, X52 | KBDEXT }, // Insert + { 0x53, X53 | KBDEXT }, // Delete + { 0x5B, X5B | KBDEXT }, // Left Win + { 0x5C, X5C | KBDEXT }, // Right Win + { 0x5D, X5D | KBDEXT }, // Application + { 0x5F, X5F | KBDEXT }, // Speedracer: Sleep + { 0x65, X65 | KBDEXT }, // Speedracer: Browser Search + { 0x66, X66 | KBDEXT }, // Speedracer: Browser Favorites + { 0x67, X67 | KBDEXT }, // Speedracer: Browser Refresh + { 0x68, X68 | KBDEXT }, // Speedracer: Browser Stop + { 0x69, X69 | KBDEXT }, // Speedracer: Browser Forward + { 0x6A, X6A | KBDEXT }, // Speedracer: Browser Back + { 0x6B, X6B | KBDEXT }, // Speedracer: Launch App 1 + { 0x6C, X6C | KBDEXT }, // Speedracer: Launch Mail + { 0x6D, X6D | KBDEXT }, // Speedracer: Launch Media Selector + { 0x1C, X1C | KBDEXT }, // Numpad Enter + { 0x46, X46 | KBDEXT }, // Break (Ctrl + Pause) + { 0, 0 } +}; + +static ALLOC_SECTION_LDATA VSC_VK aE1VscToVk[] = { + { 0x1D, Y1D }, // Pause + { 0 , 0 } +}; + +/***************************************************************************\ +* aVkToBits[] - map Virtual Keys to Modifier Bits +* +* See kbd.h for a full description. +* +*FIXME wrong original description: +* The keyboard has only three shifter keys: +* SHIFT (L & R) affects alphabnumeric keys, +* CTRL (L & R) is used to generate control characters +* ALT (L & R) used for generating characters by number with numpad +\***************************************************************************/ +static ALLOC_SECTION_LDATA VK_TO_BIT aVkToBits[] = { +// { VK_SHIFT , KBDSHIFT }, +// { VK_CONTROL , KBDCTRL }, +// { VK_MENU , KBDALT }, +// { 0 , 0 } + + // FIXME dumblob + // a hack to allow distinguishing left and right shift by propagating it to aModification[] + // make "KBDSHIFT | KBDCTRL" a unique bit combination for left shift + { VK_LSHIFT, KBDSHIFT | KBDCTRL }, + // make "KBDSHIFT | KBDCTRL" a unique bit combination for right shift + { VK_RSHIFT, KBDSHIFT | KBDALT }, + //{ VK_LCONTROL, KBDCTRL }, + //{ VK_RCONTROL, KBDCTRL }, + { 0, 0 } +}; + +/***************************************************************************\ +* aModification[] - map character modifier bits to modification number +* +* See kbd.h for a full description. +* +\***************************************************************************/ + +static ALLOC_SECTION_LDATA MODIFIERS CharModifiers = { + // Demonstration of the relationship (note: this demo is + // a complete nonsense in terms of an internal implementation): + // for( x in aVkToBits ){ + // if( x[0] == 0 && x[1] == 0 ) break + // if( x[1] <= wMaxModBits ){ + // // x[0] is not interesting + // if( aModification[x[1]] != SHFT_INVALID ){ + // shift_to_the_level( aModification[x[1]] ) + // break + // } + // } + // } + + // PVK_TO_BIT pVkToBit; // Virtual Keys -> Mod bits + &aVkToBits[0], + // WORD wMaxModBits; // max Modification bit combination value + KBDSHIFT | KBDCTRL | KBDALT, + + // BYTE ModNumber[]; // Mod bits -> Modification Number + // mod_bits are an index to this array => order matters ( + // arithmetic progression with step 1 without any omission; + // use SHFT_INVALID as an ignored shift state) + { + // from kbd.h: + // #define KBDSHIFT (1 << 0) + // #define KBDCTRL (1 << 1) + // #define KBDALT (1 << 2) + // #define KBDKANA (1 << 3) + // #define KBDROYA (1 << 4) + // #define KBDLOYA (1 << 5) + // (1 << 6) doesn't exist (not defined anywhere) + // #define KBDGRPSELTAP (1 << 7) + + // FIXME test Ctrl and Alt key bindings (e.g. Ctrl+c, Alt+64, ...) + // shift_state_idx // KBDALT KBDCTRL KBDSHIFT + 0, // 0 0 0 + SHFT_INVALID, // 0 0 1 + SHFT_INVALID, // 0 1 0 + 1, // 0 1 1 (only LSHIFT pressed) + SHFT_INVALID, // 1 0 0 + 1, // 1 0 1 (only RSHIFT pressed) + SHFT_INVALID, // 1 1 0 + 2, // 1 1 1 (both LSHIFT and RSHIFT + // pressed simultaneously) + } +}; + +/***************************************************************************\ +* +* aVkToWch2[] - Virtual Key to WCHAR translation for 2 shift states +* aVkToWch3[] - Virtual Key to WCHAR translation for 3 shift states +* aVkToWch4[] - Virtual Key to WCHAR translation for 4 shift states +* +* Table attributes: Unordered Scan, null-terminated +* +* Search this table for an entry with a matching Virtual Key to find the +* corresponding unshifted and shifted WCHAR characters. +* +* Special values for VirtualKey (column 1) +* 0xff - dead chars for the previous entry +* 0 - terminate the list +* +* Special values for Attributes (column 2) +* CAPLOK bit - CAPS-LOCK affect this key like SHIFT +* +* Special values for wch[*] (column 3 & 4) +* WCH_NONE - No character +* WCH_DEAD - Dead Key (diaresis) or invalid (US keyboard has none) +* WCH_LGTR - Ligature (generates multiple characters) +* +\***************************************************************************/ + +static ALLOC_SECTION_LDATA VK_TO_WCHARS2 aVkToWch2[] = { +// | | Shift | +// |=========|=========| + {VK_TAB ,0 ,'\t' ,'\t' }, + {VK_ADD ,0 ,'+' ,'+' }, + {VK_DIVIDE ,0 ,'/' ,'/' }, + {VK_MULTIPLY ,0 ,'*' ,'*' }, + {VK_SUBTRACT ,0 ,'-' ,'-' }, + {0 ,0 ,0 ,0 } +}; + +// FIXME all unwanted VK_* keys should be redefined as WCH_NONE +static ALLOC_SECTION_LDATA VK_TO_WCHARS3 aVkToWch3[] = { +// | | Shift | Ctrl | +// |=========|=========|=========| + {VK_OEM_3 ,0 ,WCH_NONE ,WCH_NONE ,'~' }, + {'1' ,0 ,WCH_NONE ,WCH_NONE ,'!' }, + {'2' ,0 ,0x00e4 ,0x00c4 ,'@' }, + {'3' ,0 ,0x00f6 ,0x00d6 ,'#' }, + {'4' ,0 ,WCH_NONE ,WCH_NONE ,'$' }, + {'5' ,0 ,0x00fc ,0x00dc ,'%' }, + {'6' ,0 ,WCH_NONE ,WCH_NONE ,'^' }, + {'7' ,0 ,WCH_NONE ,WCH_NONE ,'&' }, + {'8' ,0 ,WCH_NONE ,WCH_NONE ,'*' }, + {'9' ,0 ,WCH_NONE ,WCH_NONE ,'(' }, + {'0' ,0 ,WCH_NONE ,WCH_NONE ,')' }, + {VK_OEM_4 ,0 ,0x00df ,0x1e9e ,'{' }, + {VK_OEM_6 ,0 ,WCH_NONE ,WCH_NONE ,'}' }, + {VK_OEM_102 ,0 ,WCH_NONE ,WCH_NONE ,WCH_NONE }, + {VK_OEM_7 ,0 ,'\'' ,'\"' ,WCH_NONE }, + {VK_OEM_COMMA ,0 ,',' ,'<' ,WCH_NONE }, + {VK_OEM_PERIOD,0 ,'.' ,'>' ,WCH_NONE }, + {'P' ,0 ,'p' ,'P' ,WCH_NONE }, + {'Y' ,0 ,'y' ,'Y' ,WCH_NONE }, + {'F' ,0 ,'f' ,'F' ,WCH_NONE }, + {'G' ,0 ,'g' ,'G' ,WCH_NONE }, + {'C' ,0 ,'c' ,'C' ,WCH_NONE }, + {'R' ,0 ,'r' ,'R' ,WCH_NONE }, + {'L' ,0 ,'l' ,'L' ,WCH_NONE }, + {VK_OEM_2 ,0 ,'/' ,'?' ,']' }, + {VK_OEM_PLUS ,0 ,'=' ,'+' ,'+' }, + {VK_OEM_5 ,0 ,'\\' ,'|' ,'|' }, + {'A' ,0 ,'a' ,'A' ,WCH_NONE }, + {'O' ,0 ,'o' ,'O' ,WCH_NONE }, + {'E' ,0 ,'e' ,'E' ,WCH_NONE }, + {'U' ,0 ,'u' ,'U' ,WCH_NONE }, + {'I' ,0 ,'i' ,'I' ,WCH_NONE }, + {'D' ,0 ,'d' ,'D' ,WCH_NONE }, + {'H' ,0 ,'h' ,'H' ,WCH_NONE }, + {'T' ,0 ,'t' ,'T' ,WCH_NONE }, + {'N' ,0 ,'n' ,'N' ,WCH_NONE }, + {'S' ,0 ,'s' ,'S' ,WCH_NONE }, + {VK_OEM_MINUS ,0 ,'-' ,'_' ,'\\' }, + {VK_OEM_1 ,0 ,';' ,':' ,WCH_NONE }, + {'Q' ,0 ,'q' ,'Q' ,WCH_NONE }, + {'J' ,0 ,'j' ,'J' ,WCH_NONE }, + {'K' ,0 ,'k' ,'K' ,WCH_NONE }, + {'X' ,0 ,'x' ,'X' ,WCH_NONE }, + {'B' ,0 ,'b' ,'B' ,WCH_NONE }, + {'M' ,0 ,'m' ,'M' ,WCH_NONE }, + {'W' ,0 ,'w' ,'W' ,WCH_NONE }, + {'V' ,0 ,'v' ,'V' ,WCH_NONE }, + {'Z' ,0 ,'z' ,'Z' ,WCH_NONE }, + {VK_DECIMAL ,0 ,'.' ,'.' ,'.' }, + {VK_SPACE ,0 ,' ' ,0x00a0 ,0x00a0 }, + {VK_BACK ,0 ,'\b' ,'\b' ,0x007f }, + {VK_ESCAPE ,0 ,0x001b ,0x001b ,0x001b }, + {VK_RETURN ,0 ,'\r' ,'\r' ,'\n' }, + {VK_CANCEL ,0 ,0x0003 ,0x0003 ,0x0003 }, + {0 ,0 ,0 ,0 ,0 } +}; + +// Put this last so that VkKeyScan interprets number characters +// as coming from the main section of the kbd (aVkToWch2 and +// aVkToWch5) before considering the numpad (aVkToWch1). + +static ALLOC_SECTION_LDATA VK_TO_WCHARS1 aVkToWch1[] = { + { VK_NUMPAD0 , 0 , '0' }, + { VK_NUMPAD1 , 0 , '1' }, + { VK_NUMPAD2 , 0 , '2' }, + { VK_NUMPAD3 , 0 , '3' }, + { VK_NUMPAD4 , 0 , '4' }, + { VK_NUMPAD5 , 0 , '5' }, + { VK_NUMPAD6 , 0 , '6' }, + { VK_NUMPAD7 , 0 , '7' }, + { VK_NUMPAD8 , 0 , '8' }, + { VK_NUMPAD9 , 0 , '9' }, + { 0 , 0 , '\0' } +}; + +static ALLOC_SECTION_LDATA VK_TO_WCHAR_TABLE aVkToWcharTable[] = { + { (PVK_TO_WCHARS1)aVkToWch3, 3, sizeof(aVkToWch3[0]) }, + { (PVK_TO_WCHARS1)aVkToWch2, 2, sizeof(aVkToWch2[0]) }, + { (PVK_TO_WCHARS1)aVkToWch1, 1, sizeof(aVkToWch1[0]) }, + { NULL, 0, 0 }, +}; + +/***************************************************************************\ +* aKeyNames[], aKeyNamesExt[] - Virtual Scancode to Key Name tables +* +* Table attributes: Ordered Scan (by scancode), null-terminated +* +* Only the names of Extended, NumPad, Dead and Non-Printable keys are here. +* (Keys producing printable characters are named by that character) +\***************************************************************************/ + +static ALLOC_SECTION_LDATA VSC_LPWSTR aKeyNames[] = { + 0x01, L"Esc", + 0x0e, L"Backspace", + 0x0f, L"Tab", + 0x1c, L"Enter", + 0x1d, L"Ctrl", + 0x2a, L"Left Shift", + 0x36, L"Right Shift", + 0x37, L"Num *", + 0x38, L"Alt", + 0x39, L"Space", + 0x3a, L"Caps Lock", + 0x3b, L"F1", + 0x3c, L"F2", + 0x3d, L"F3", + 0x3e, L"F4", + 0x3f, L"F5", + 0x40, L"F6", + 0x41, L"F7", + 0x42, L"F8", + 0x43, L"F9", + 0x44, L"F10", + 0x45, L"Pause", + 0x46, L"Scroll Lock", + 0x47, L"Num 7", + 0x48, L"Num 8", + 0x49, L"Num 9", + 0x4a, L"Num -", + 0x4b, L"Num 4", + 0x4c, L"Num 5", + 0x4d, L"Num 6", + 0x4e, L"Num +", + 0x4f, L"Num 1", + 0x50, L"Num 2", + 0x51, L"Num 3", + 0x52, L"Num 0", + 0x53, L"Num Del", + 0x54, L"Sys Req", + 0x57, L"F11", + 0x58, L"F12", + 0x7c, L"F13", + 0x7d, L"F14", + 0x7e, L"F15", + 0x7f, L"F16", + 0x80, L"F17", + 0x81, L"F18", + 0x82, L"F19", + 0x83, L"F20", + 0x84, L"F21", + 0x85, L"F22", + 0x86, L"F23", + 0x87, L"F24", + 0 , NULL +}; + +static ALLOC_SECTION_LDATA VSC_LPWSTR aKeyNamesExt[] = { + 0x1c, L"Num Enter", + 0x1d, L"Right Ctrl", + 0x35, L"Num /", + 0x37, L"Prnt Scrn", + 0x38, L"Right Alt", + 0x45, L"Num Lock", + 0x46, L"Break", + 0x47, L"Home", + 0x48, L"Up", + 0x49, L"Page Up", + 0x4b, L"Left", + 0x4d, L"Right", + 0x4f, L"End", + 0x50, L"Down", + 0x51, L"Page Down", + 0x52, L"Insert", + 0x53, L"Delete", + 0x54, L"<00>", + 0x54, L"Sys Req", + 0x56, L"Help", + 0x5b, L"Left Windows", + 0x5c, L"Right Windows", + 0x5d, L"Application", + 0 , NULL +}; + +static ALLOC_SECTION_LDATA KBDTABLES KbdTables = { + /* + * Modifier keys + */ + &CharModifiers, + + /* + * Characters tables + */ + aVkToWcharTable, + + /* + * Diacritics (deadkeys) + */ + NULL, + + /* + * Names of Keys + */ + aKeyNames, + aKeyNamesExt, + NULL, + +// /* +// * Scan codes to Virtual Keys +// */ +// USHORT *KBD_LONG_POINTER pusVSCtoVK; +// BYTE bMaxVSCtoVK; +// PVSC_VK pVSCtoVK_E0; // Scancode has E0 prefix +// PVSC_VK pVSCtoVK_E1; // Scancode has E1 prefix + /* + * Scan codes to Virtual Keys + */ + ausVK, + sizeof(ausVK) / sizeof(ausVK[0]), + // both LSHIFT and RSHIFT usually ignored (see xlate.c in win2ksrc.rar) + aE0VscToVk, + aE1VscToVk, + + /* + * Locale-specific special processing + */ + MAKELONG(0, KBD_VERSION), + + /* + * Ligatures + */ + 0, + 0, + NULL +}; + +PKBDTABLES KbdLayerDescriptor(VOID) +{ + // There doesn't seem to be any easy reliable way to assign VK_ESCAPE to + // the CAPITAL virtual scancode in compile time due to a high diversity + // of keyboard types. + // FIXME supporting only HID keyboards would make it easy to assign + // VK_ESCAPE reliably in compile-time (2017: all widely used compilers + // can detect that the whole expression is static and compute it in + // compile time, but the MSKLC built-in compiler most probably can't) + //int i; + //for( i = 0; i < KbdTables.bMaxVSCtoVK; ++i ){ + // if( KbdTables.pusVSCtoVK[i] == VK_CAPITAL ) + // // CAPITAL (~ CapsLk) -> ESCAPE + // KbdTables.pusVSCtoVK[i] = VK_ESCAPE; + //} + + return &KbdTables; +} + +// vim: set wrap ft=c: diff --git a/platform/win/20220624-gerdLTGT/gerdLTGT.C.howto b/platform/win/20220624-gerdLTGT/gerdLTGT.C.howto new file mode 100644 index 0000000..8f0d2ad --- /dev/null +++ b/platform/win/20220624-gerdLTGT/gerdLTGT.C.howto @@ -0,0 +1,29 @@ +lshift 0xa0 +rshift 0xa1 +lctrl 0xa2 +lctrl 0xa3 +lmenu 0xa4 +rmenu 0xa5 + + + +shift 0x10 +ctrl 0x11 +menu 0x12 + + + + + + + + + +base level 0 +shift level 1 +ctrl +shift + ctrl +alt level 1 +shift + alt level 2 +alt + ctrl +shift + alt + ctrl diff --git a/platform/win/20220624-gerdLTGT/gerdLTGT.DEF b/platform/win/20220624-gerdLTGT/gerdLTGT.DEF new file mode 100644 index 0000000..c79f1c5 --- /dev/null +++ b/platform/win/20220624-gerdLTGT/gerdLTGT.DEF @@ -0,0 +1,4 @@ +LIBRARY gerdLTGT + + EXPORTS + KbdLayerDescriptor @1 diff --git a/platform/win/20220624-gerdLTGT/gerdLTGT.H b/platform/win/20220624-gerdLTGT/gerdLTGT.H new file mode 100644 index 0000000..3d4e2b2 --- /dev/null +++ b/platform/win/20220624-gerdLTGT/gerdLTGT.H @@ -0,0 +1,103 @@ +/****************************** Module Header ******************************\ +* Module Name: gerdLTGT.H +* +* keyboard layout header +* +* Copyright (c) 1985-2001, Microsoft Corporation +* +* Various defines for use by keyboard input code. +* +* History: +* +* created by KBDTOOL v3.40 Mon May 29 08:05:02 2017 +* +\***************************************************************************/ + +/* + * kbd type should be controlled by cl command-line argument + */ +#define KBD_TYPE 4 + +/* +* Include the basis of all keyboard table values +*/ +#include "kbd.h" +/***************************************************************************\ +* The table below defines the virtual keys for various keyboard types where +* the keyboard differ from the US keyboard. +* +* _EQ() : all keyboard types have the same virtual key for this scancode +* _NE() : different virtual keys for this scancode, depending on kbd type +* +* +------+ +----------+----------+----------+----------+----------+----------+ +* | Scan | | kbd | kbd | kbd | kbd | kbd | kbd | +* | code | | type 1 | type 2 | type 3 | type 4 | type 5 | type 6 | +\****+-------+_+----------+----------+----------+----------+----------+----------+*/ + +#undef T0C + #define T0C _EQ( OEM_4 ) +#undef T0D + #define T0D _EQ( OEM_6 ) +#undef T10 + #define T10 _EQ( OEM_7 ) +#undef T11 + #define T11 _EQ( OEM_COMMA ) +#undef T12 + #define T12 _EQ( OEM_PERIOD ) +#undef T13 + #define T13 _EQ( 'P' ) +#undef T14 + #define T14 _EQ( 'Y' ) +#undef T15 + #define T15 _EQ( 'F' ) +#undef T16 + #define T16 _EQ( 'G' ) +#undef T17 + #define T17 _EQ( 'C' ) +#undef T18 + #define T18 _EQ( 'R' ) +#undef T19 + #define T19 _EQ( 'L' ) +#undef T1A + #define T1A _EQ( OEM_2 ) +#undef T1B + #define T1B _EQ( OEM_PLUS ) +#undef T1F + #define T1F _EQ( 'O' ) +#undef T20 + #define T20 _EQ( 'E' ) +#undef T21 + #define T21 _EQ( 'U' ) +#undef T22 + #define T22 _EQ( 'I' ) +#undef T23 + #define T23 _EQ( 'D' ) +#undef T24 + #define T24 _EQ( 'H' ) +#undef T25 + #define T25 _EQ( 'T' ) +#undef T26 + #define T26 _EQ( 'N' ) +#undef T27 + #define T27 _EQ( 'S' ) +#undef T28 + #define T28 _EQ( OEM_MINUS ) +#undef T2C + #define T2C _EQ( OEM_1 ) +#undef T2D + #define T2D _EQ( 'Q' ) +#undef T2E + #define T2E _EQ( 'J' ) +#undef T2F + #define T2F _EQ( 'K' ) +#undef T30 + #define T30 _EQ( 'X' ) +#undef T31 + #define T31 _EQ( 'B' ) +#undef T33 + #define T33 _EQ( 'W' ) +#undef T34 + #define T34 _EQ( 'V' ) +#undef T35 + #define T35 _EQ( 'Z' ) + diff --git a/platform/win/20220624-gerdLTGT/gerdLTGT.H.bak00 b/platform/win/20220624-gerdLTGT/gerdLTGT.H.bak00 new file mode 100644 index 0000000..733b58e --- /dev/null +++ b/platform/win/20220624-gerdLTGT/gerdLTGT.H.bak00 @@ -0,0 +1,103 @@ +/****************************** Module Header ******************************\ +* Module Name: gerdLTGT.H +* +* keyboard layout header +* +* Copyright (c) 1985-2001, Microsoft Corporation +* +* Various defines for use by keyboard input code. +* +* History: +* +* created by KBDTOOL v3.40 Wed May 30 21:52:25 2018 +* +\***************************************************************************/ + +/* + * kbd type should be controlled by cl command-line argument + */ +#define KBD_TYPE 4 + +/* +* Include the basis of all keyboard table values +*/ +#include "kbd.h" +/***************************************************************************\ +* The table below defines the virtual keys for various keyboard types where +* the keyboard differ from the US keyboard. +* +* _EQ() : all keyboard types have the same virtual key for this scancode +* _NE() : different virtual keys for this scancode, depending on kbd type +* +* +------+ +----------+----------+----------+----------+----------+----------+ +* | Scan | | kbd | kbd | kbd | kbd | kbd | kbd | +* | code | | type 1 | type 2 | type 3 | type 4 | type 5 | type 6 | +\****+-------+_+----------+----------+----------+----------+----------+----------+*/ + +#undef T0C + #define T0C _EQ( OEM_4 ) +#undef T0D + #define T0D _EQ( OEM_6 ) +#undef T10 + #define T10 _EQ( OEM_7 ) +#undef T11 + #define T11 _EQ( OEM_COMMA ) +#undef T12 + #define T12 _EQ( OEM_PERIOD ) +#undef T13 + #define T13 _EQ( 'P' ) +#undef T14 + #define T14 _EQ( 'Y' ) +#undef T15 + #define T15 _EQ( 'F' ) +#undef T16 + #define T16 _EQ( 'G' ) +#undef T17 + #define T17 _EQ( 'C' ) +#undef T18 + #define T18 _EQ( 'R' ) +#undef T19 + #define T19 _EQ( 'L' ) +#undef T1A + #define T1A _EQ( OEM_2 ) +#undef T1B + #define T1B _EQ( OEM_PLUS ) +#undef T1F + #define T1F _EQ( 'O' ) +#undef T20 + #define T20 _EQ( 'E' ) +#undef T21 + #define T21 _EQ( 'U' ) +#undef T22 + #define T22 _EQ( 'I' ) +#undef T23 + #define T23 _EQ( 'D' ) +#undef T24 + #define T24 _EQ( 'H' ) +#undef T25 + #define T25 _EQ( 'T' ) +#undef T26 + #define T26 _EQ( 'N' ) +#undef T27 + #define T27 _EQ( 'S' ) +#undef T28 + #define T28 _EQ( OEM_MINUS ) +#undef T2C + #define T2C _EQ( OEM_1 ) +#undef T2D + #define T2D _EQ( 'Q' ) +#undef T2E + #define T2E _EQ( 'J' ) +#undef T2F + #define T2F _EQ( 'K' ) +#undef T30 + #define T30 _EQ( 'X' ) +#undef T31 + #define T31 _EQ( 'B' ) +#undef T33 + #define T33 _EQ( 'W' ) +#undef T34 + #define T34 _EQ( 'V' ) +#undef T35 + #define T35 _EQ( 'Z' ) + diff --git a/platform/win/20220624-gerdLTGT/gerdLTGT.RC b/platform/win/20220624-gerdLTGT/gerdLTGT.RC new file mode 100644 index 0000000..14b3f31 --- /dev/null +++ b/platform/win/20220624-gerdLTGT/gerdLTGT.RC @@ -0,0 +1,51 @@ +#include "winver.h" +#include "winuser.h" +1 VERSIONINFO + FILEVERSION 1,0,0,0 + PRODUCTVERSION 1,0,0,0 + FILEFLAGSMASK 0x3fL + FILEFLAGS 0x0L +FILEOS 0x40004L + FILETYPE VFT_DLL + FILESUBTYPE VFT2_DRV_KEYBOARD +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "000004B0" + BEGIN + VALUE "CompanyName", "shit00\0" + VALUE "FileDescription", "ULKL German (ltgt variant)\0" + VALUE "FileVersion", "shit02\0" + VALUE "InternalName", "shit03\0" + VALUE "ProductName", "shit04\0" + VALUE "Release Information","shit05\0" + VALUE "LegalCopyright", "shit06\0" + VALUE "OriginalFilename", "kbdgr5.dll\0" + VALUE "ProductVersion", "shit08\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0000, 0x04B0 + END +END + +STRINGTABLE DISCARDABLE +LANGUAGE 9, 1 +BEGIN + 1200 "de-DE" +END + + +STRINGTABLE DISCARDABLE +LANGUAGE 9, 1 +BEGIN + 1000 "German Dvorak ltgt (useful for text with lots of <>)" +END + + +STRINGTABLE DISCARDABLE +LANGUAGE 9, 1 +BEGIN + 1100 "German or related (all locations world-wide)" +END diff --git a/platform/win/20220624-gerdLTGT/gerdLTGT.RC.bak00 b/platform/win/20220624-gerdLTGT/gerdLTGT.RC.bak00 new file mode 100644 index 0000000000000000000000000000000000000000..27f899a187f7d964ce29560b726988ad3e048970 GIT binary patch literal 2528 zcmc(gTWcCo6ovP5q5ol+zNC;gG4Z8P3b7iIPF2(hg+kD1jMPLK&F$a!TjzKjCoz;M zy)ewox$Lv|TKjh1*wk+9!e(}BBO6;}vE941J7%f9w<}g&+bb)v*SDH=tZNNxS(9(m zP8n%8V$`sN{k%-XPWF^+-wt_?dCQFa$u>G$R<$$xY`quG?>-r9o?`jL>LB~dziVHx zd1w#Vxnw7gFO&5$hii$TtHpW0BZPX&&vf+co3-I8kDP+}9Q4UEsVUoOFki z=iscdTY>!vKBzjR71rv`w;s2=S3!3R?}%3nz7>&C+$LC`61y?-H*lS=W92=*OH+tN zUZdyfxmIB8BOYXbtu09Q;gP^vo{7Obw`*J20Bn!s%7EFJ^?i236T@K&pDXfjNVZ+L zGY912Ez(1{&G{anGl6}===%%!g2p_C;GZg%muQ#Y7TBAj_hyYH#^1{IYlk!<4tMOP z%zl7#hV+CtvOO>@k-X$TV=jNE{8y|!I0;pbxI|zb!+D6r0GSah38P2mw@CaRhrUC( z%wZ3#W9n0WRdq$Kz9Ls)#Vjd{#3toGfa9*1DPocs{Ksr3vz3tY3`zZf#q#` z%AXWV1BXZ+9OA!-3Rit6>_%{w)nXhw=v2iFTr8ta<@oq-XU5+`kYIh{{HqFCz)D#; zA#YZj>WJalpm!+$rsVCIh$#1pac!+Nt5+zVp&B#`wfH=q#cbpwxI0ISW@n8|@ZHeo z_tSa4d-Y+HZnzcgg!z8aLzDW|5^pKxAyKCcWv5f8F)e53agPFWwWXh$DwF>kGQo-(jUjZb@q% z)xSjMeU~Bo^IccB#fsQP{4e=_v`=)T|INGfBqDj<{ti*6^BFgGx5XaWH{((L&#C_` U7sc+LwUnI^k=31}81Lr!6Hcr?$N&HU literal 0 HcmV?d00001 diff --git a/platform/win/20220624-gerdLTGT/gerdLTGT.klc b/platform/win/20220624-gerdLTGT/gerdLTGT.klc new file mode 100644 index 0000000..fd0b800 --- /dev/null +++ b/platform/win/20220624-gerdLTGT/gerdLTGT.klc @@ -0,0 +1,328 @@ +// 2010-2017 Jan Pacner +// etaoin shrdlu! + +// The concept of this keyboard layout +// motto: be as much compatible with ISO dvorak as possible +// 4. level is the same as 3. level +// 2. level of ISO dvorak goes without modifications to the 3. level +// the whole national alphabet is accessible directly from 1. and 2. level +// without any exception +// 3. level has some additional non-alphabet characters (e.g. numbers) +// 3. level is accessible only by pressing both Shifts at once (and +// holding either of them) +// there are 2 variants which differ in placement and/or availability of +// characters ' " < > „ “ en_dash +// in `ltgt`, characters „ “ are not available and ' " < > are at their +// original dvorak places and ! is duplicated for better reachability +// in `writer`, all characters are available, but " < > are in +// the 3. level, thus less reachable + +// ----------- standard ISO dvorak, 1. and 2. level +// ~ ! @ # $ % ^ & * ( ) { } +// ` 1 2 3 4 5 6 7 8 9 0 [ ] +// +// " < > P Y F G C R L ? + | +// ' , . p y f g c r l / = \ +// +// A O E U I D H T N S _ +// a o e u i d h t n s - +// +// : Q J K X B M W V Z +// ; q j k x b m w v z +// +// space +// space + +// ----------- german dvorak ltgt, 1. and 2. levelll +// ä Ö Ü ß +// ä ö ü ß +// +// " < > P Y F G C R L ? + | +// ' , . p y f g c r l / = \ +// +// A O E U I D H T N S _ +// a o e u i d h t n s - +// +// : Q J K X B M W V Z +// ; q j k x b m w v z +// +// NBSP +// space + +// ----------- german dvorak ltgt, 3. level +// ~ ! @ # $ % ^ & * ( ) { } +// +// nda ! § , 7 8 9 [ ] + | +// en dash +// +// @ ° € ` : 4 5 6 = \ +// +// 0 1 2 3 . +// +// NBSP + +// ----------- german dvorak writer, 1. and 2. level +// ä Ö Ü ß +// ä ö ü ß +// +// “ nda ' P Y F G C R L ? + | +// en dash +// „ , . p y f g c r l / = \ +// +// A O E U I D H T N S _ +// a o e u i d h t n s - +// +// : Q J K X B M W V Z +// ; q j k x b m w v z +// +// NBSP +// space + +// ----------- german dvorak writer, 3. level +// ~ ! @ # $ % ^ & * ( ) { } +// +// " < > § , 7 8 9 [ ] + | +// +// @ ° € ` : 4 5 6 = \ +// +// 0 1 2 3 . +// +// NBSP + +// ----------- german dvorak (ltgt|writer), 4. level +// the same as 3. level + +// KBD identifier_max_8_bytes_long "Some description to show in keyboard settings and while switching layouts" +KBD gerdLTGT "ULKL German (ltgt variant)" +//KBD gerdLTGT "German Dvorak ltgt (useful for text with lots of <>)" +//KBD gerdLTGT "German Dvorak writer (useful for text with lower/upper UTF-8 double quotes)" + +COPYRIGHT "MIT license" + +COMPANY "github.com/dumblob/ULKL/" + +LOCALENAME "de-DE" + +// LOCALEID "00000000" +LOCALEID "00000407" + +//FIXME 1.1 after unused keys produce the character +VERSION 1.0 + +//ATTRIBUTES + +//MODIFIERS + +SHIFTSTATE + +// shift_state_idx // column_below modifiers +0 // 4 +1 // 5 LSHIFT or RSHIFT pressed +2 // 6 both LSHIFT and RSHIFT pressed simultaneously + +LAYOUT +// an extra @ at the end is a dead key +// -1 denotes the character +// SC denotes a Virtual Scan Code +// Cap ~ CapsInfo (probably whether CapsLock is applicable) + +// topmost row + +//SC VK_ Cap 0 1 2 +29 OEM_3 0 -1 -1 007e // , , TILDE +02 1 0 -1 -1 0021 // , , EXCLAMATION MARK +03 2 0 00e4 00c4 0040 // adiaeresis, Adiaeresis, COMMERCIAL AT +04 3 0 00f6 00d6 0023 // odiaeresis, Odiaeresis, NUMBER SIGN +05 4 0 -1 -1 0024 // , , DOLLAR SIGN +06 5 0 00fc 00dc 0025 // udiaeresis, Udiaeresis, PERCENT SIGN +07 6 0 -1 -1 005e // , , CIRCUMFLEX ACCENT +08 7 0 -1 -1 0026 // , , AMPERSAND +09 8 0 -1 -1 002a // , , ASTERISK +0a 9 0 -1 -1 0028 // , , LEFT PARENTHESIS +0b 0 0 -1 -1 0029 // , , RIGHT PARENTHESIS +0c OEM_4 0 00df 1e9e 007b // ssharp, U1E9E, LEFT CURLY BRACKET (BRACELEFT) +0d OEM_6 0 -1 -1 007d // , , RIGHT CURLY BRACKET (BRACERIGHT) +// FIXME wtf is this key? is it really ? +56 OEM_102 0 -1 -1 -1 // , , +//0e ???? 0 ???? ???? ???? // backspace, backspace, backspace + +// top row + +//0f ???? 0 ???? ???? ???? // tab, tab, tab +// ltgt variant +10 OEM_7 0 0027 0022 -1 // APOSTROPHE, QUOTATION MARK (QUOTEDBL), +11 OEM_COMMA 0 002c 003c 2013 // COMMA, LESS-THAN SIGN, U2013 (EN DASH, pomlcka) +12 OEM_PERIOD 0 002e 003e 0021 // FULL STOP (PERIOD), GREATER-THAN SIGN, EXCLAMATION MARK +// writer variant +//10 OEM_7 0 201e 201c 0022 // U201E LOWER QUOTATION MARK (QUOTEDBL), U201C UPPER QUOTATION MARK (QUOTEDBL), QUOTATION MARK (QUOTEDBL) +//11 OEM_COMMA 0 002c 2013 003c // COMMA, U2013 (EN DASH, pomlcka), LESS-THAN SIGN +//12 OEM_PERIOD 0 002e 0027 003e // FULL STOP (PERIOD), APOSTROPHE, GREATER-THAN SIGN + +13 P 0 p P 00a7 // LATIN SMALL LETTER P, LATIN CAPITAL LETTER P, SECTION SIGN (PARAGRAPH) +14 Y 0 y Y -1 // LATIN SMALL LETTER Y, LATIN CAPITAL LETTER Y, +15 F 0 f F 002c // LATIN SMALL LETTER F, LATIN CAPITAL LETTER F, COMMA +16 G 0 g G 7 // LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, DIGIT SEVEN +17 C 0 c C 8 // LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, DIGIT EIGHT +18 R 0 r R 9 // LATIN SMALL LETTER R, LATIN CAPITAL LETTER R, DIGIT NINE +19 L 0 l L 005b // LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LEFT SQUARE BRACKET +1a OEM_2 0 002f 003f 005d // SOLIDUS (SLASH), QUESTION MARK, RIGHT SQUARE BRACKET +1b OEM_PLUS 0 003d 002b 002b // EQUALS SIGN, PLUS SIGN, PLUS SIGN +2b OEM_5 0 005c 007c 007c // REVERSE SOLIDUS (BACKSLASH), VERTICAL LINE (BAR), VERTICAL LINE (BAR) + +// home/middle row + +//CapsLk +//3a ???? 0 001b 001b 001b // ESCAPE, ESCAPE, ESCAPE +//3a SGCap 0 001b 001b 001b // ESCAPE, ESCAPE, ESCAPE +1e A 0 a A 0040 // LATIN SMALL LETTER A, LATIN CAPITAL LETTER A, COMMERCIAL AT +1f O 0 o O 00b0 // LATIN SMALL LETTER O, LATIN CAPITAL LETTER O, DEGREE +20 E 0 e E 20ac // LATIN SMALL LETTER E, LATIN CAPITAL LETTER E, EURO SIGN +21 U 0 u U 0060 // LATIN SMALL LETTER U, LATIN CAPITAL LETTER U, GRAVE ACCENT (GRAVE) +22 I 0 i I -1 // LATIN SMALL LETTER I, LATIN CAPITAL LETTER I, +23 D 0 d D 003a // LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, COLON +24 H 0 h H 4 // LATIN SMALL LETTER H, LATIN CAPITAL LETTER H, DIGIT FOUR +25 T 0 t T 5 // LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, DIGIT FIVE +26 N 0 n N 6 // LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, DIGIT SIX +27 S 0 s S 003d // LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, EQUALS SIGN +// pomlcka (= minus = dash) +28 OEM_MINUS 0 002d 005f 005c // HYPHEN-MINUS (FIXME is it the plain minus?), LOW LINE (UNDERSCORE), REVERSE SOLIDUS (BACKSLASH) +//1c ???? 0 ???? ???? ???? // enter/return, enter/return, enter/return + +// bottom row + +//2a ???? 0 ???? ???? ???? // left shift, left shift, left shift +// left bottom key, right from , which doesn't follow the kbd standard +// FIXME wtf is this key? is it really ? +56 OEM_102 0 -1 -1 -1 // , , +2c OEM_1 0 003b 003a -1 // SEMICOLON, COLON, +2d Q 0 q Q -1 // LATIN SMALL LETTER Q, LATIN CAPITAL LETTER Q, +2e J 0 j J -1 // LATIN SMALL LETTER J, LATIN CAPITAL LETTER J, +2f K 0 k K -1 // LATIN SMALL LETTER K, LATIN CAPITAL LETTER K, +30 X 0 x X -1 // LATIN SMALL LETTER X, LATIN CAPITAL LETTER X, +31 B 0 b B 0 // LATIN SMALL LETTER B, LATIN CAPITAL LETTER B, DIGIT ZERO +32 M 0 m M 1 // LATIN SMALL LETTER M, LATIN CAPITAL LETTER M, DIGIT ONE +33 W 0 w W 2 // LATIN SMALL LETTER W, LATIN CAPITAL LETTER W, DIGIT TWO +34 V 0 v V 3 // LATIN SMALL LETTER V, LATIN CAPITAL LETTER V, DIGIT THREE +35 Z 0 z Z 002e // LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, FULL STOP (PERIOD) +// numpad dot +53 DECIMAL 0 002e 002e 002e // FULL STOP (PERIOD), FULL STOP (PERIOD), FULL STOP (PERIOD) +//36 ???? 0 ???? ???? ???? // right shift, right shift, right shift + +// bottom-most row + +//?? ???? 0 ???? ???? ???? // left ctrl, left ctrl, left ctrl +//5b ???? 0 ???? ???? ???? // left super (win), left super (win), left super (win) +//?? ???? 0 ???? ???? ???? // left alt (meta), left alt (meta), left alt (meta) +39 SPACE 0 0020 00a0 00a0 // SPACE, NO-BREAK SPACE, NO-BREAK SPACE +//38 ???? 0 ???? ???? ???? // right alt (meta), right alt (meta), right alt (meta) +//5c ???? 0 ???? ???? ???? // right super (win), right super (win), right super (win) +//?? ???? 0 ???? ???? ???? // menu, menu, menu +//5d ???? 0 ???? ???? ???? // menu, menu, menu +//56 ???? 0 ???? ???? ???? // menu, menu, menu +//1d ???? 0 ???? ???? ???? // right ctrl, right ctrl, right ctrl +//46 ???? 0 ???? ???? ???? // scroll lock, scroll lock, scroll lock + +//LIGATURE +// +//// LigatureRow( a: string, mod: byte = SHIFTSTATE[?], tuple ) +//// LigatureRow( a: string, mod: byte = SHIFTSTATE[?], tuple ) +//// LigatureRow( a: string, mod: byte = SHIFTSTATE[?], tuple ) +//// a mod b c + +//KEYNAME +// +//01 Esc +//0e Backspace +//0f Tab +//1c Enter +//1d Ctrl +////2a Shift +//2a "Left Shift" +//36 "Right Shift" +//37 "Num *" +//38 Alt +//39 Space +//3a "Caps Lock" +//3b F1 +//3c F2 +//3d F3 +//3e F4 +//3f F5 +//40 F6 +//41 F7 +//42 F8 +//43 F9 +//44 F10 +//45 Pause +//46 "Scroll Lock" +//47 "Num 7" +//48 "Num 8" +//49 "Num 9" +//4a "Num -" +//4b "Num 4" +//4c "Num 5" +//4d "Num 6" +//4e "Num +" +//4f "Num 1" +//50 "Num 2" +//51 "Num 3" +//52 "Num 0" +//53 "Num Del" +//54 "Sys Req" +//57 F11 +//58 F12 +//7c F13 +//7d F14 +//7e F15 +//7f F16 +//80 F17 +//81 F18 +//82 F19 +//83 F20 +//84 F21 +//85 F22 +//86 F23 +//87 F24 +// +//KEYNAME_EXT +// +//1c "Num Enter" +//1d "Right Ctrl" +//35 "Num /" +//37 "Prnt Scrn" +//38 "Right Alt" +//45 "Num Lock" +//46 Break +//47 Home +//48 Up +//49 "Page Up" +//4b Left +//4d Right +//4f End +//50 Down +//51 "Page Down" +//52 Insert +//53 Delete +//54 <00> +//54 "Sys Req" +//56 Help +//5b "Left Windows" +//5c "Right Windows" +//5d Application + +DESCRIPTIONS + +// Don't ask me why the parser doesn't strip double quotes here ( +// even though they're stripped for the KBD command/section above). +0409 German Dvorak ltgt (useful for text with lots of <>) +//0409 German Dvorak writer (useful for text with lower/upper UTF-8 double quotes) + +LANGUAGENAMES + +// Don't ask me why the parser doesn't strip double quotes here ( +// even though they're stripped for the KBD command/section above). +0409 German or related (all locations world-wide) + +ENDKBD + +// vim: set ft=javascript: diff --git a/platform/win/20220624-gerdLTGT/gerdLTGT.klc.bak00 b/platform/win/20220624-gerdLTGT/gerdLTGT.klc.bak00 new file mode 100644 index 0000000..86c60a0 --- /dev/null +++ b/platform/win/20220624-gerdLTGT/gerdLTGT.klc.bak00 @@ -0,0 +1,327 @@ +// 2010-2017 Jan Pacner +// etaoin shrdlu! + +// The concept of this keyboard layout +// motto: be as much compatible with ISO dvorak as possible +// 4. level is the same as 3. level +// 2. level of ISO dvorak goes without modifications to the 3. level +// the whole national alphabet is accessible directly from 1. and 2. level +// without any exception +// 3. level has some additional non-alphabet characters (e.g. numbers) +// 3. level is accessible only by pressing both Shifts at once (and +// holding either of them) +// there are 2 variants which differ in placement and/or availability of +// characters ' " < > „ “ en_dash +// in `ltgt`, characters „ “ are not available and ' " < > are at their +// original dvorak places and ! is duplicated for better reachability +// in `writer`, all characters are available, but " < > are in +// the 3. level, thus less reachable + +// ----------- standard ISO dvorak, 1. and 2. level +// ~ ! @ # $ % ^ & * ( ) { } +// ` 1 2 3 4 5 6 7 8 9 0 [ ] +// +// " < > P Y F G C R L ? + | +// ' , . p y f g c r l / = \ +// +// A O E U I D H T N S _ +// a o e u i d h t n s - +// +// : Q J K X B M W V Z +// ; q j k x b m w v z +// +// space +// space + +// ----------- german dvorak ltgt, 1. and 2. levelll +// ä Ö Ü ß +// ä ö ü ß +// +// " < > P Y F G C R L ? + | +// ' , . p y f g c r l / = \ +// +// A O E U I D H T N S _ +// a o e u i d h t n s - +// +// : Q J K X B M W V Z +// ; q j k x b m w v z +// +// NBSP +// space + +// ----------- german dvorak ltgt, 3. level +// ~ ! @ # $ % ^ & * ( ) { } +// +// nda ! § , 7 8 9 [ ] + | +// en dash +// +// @ ° € ` : 4 5 6 = \ +// +// 0 1 2 3 . +// +// NBSP + +// ----------- german dvorak writer, 1. and 2. level +// ä Ö Ü ß +// ä ö ü ß +// +// “ nda ' P Y F G C R L ? + | +// en dash +// „ , . p y f g c r l / = \ +// +// A O E U I D H T N S _ +// a o e u i d h t n s - +// +// : Q J K X B M W V Z +// ; q j k x b m w v z +// +// NBSP +// space + +// ----------- german dvorak writer, 3. level +// ~ ! @ # $ % ^ & * ( ) { } +// +// " < > § , 7 8 9 [ ] + | +// +// @ ° € ` : 4 5 6 = \ +// +// 0 1 2 3 . +// +// NBSP + +// ----------- german dvorak (ltgt|writer), 4. level +// the same as 3. level + +// KBD identifier_max_8_bytes_long "Some description to show in keyboard settings and while switching layouts" +KBD gerdLTGT "German Dvorak ltgt (useful for text with lots of <>)" +//KBD gerdLTGT "German Dvorak writer (useful for text with lower/upper UTF-8 double quotes)" + +COPYRIGHT "MIT license" + +COMPANY "github.com/dumblob/ULKL/" + +LOCALENAME "de-DE" + +// LOCALEID "00000000" +LOCALEID "00000407" + +//FIXME 1.1 after unused keys produce the character +VERSION 1.0 + +//ATTRIBUTES + +//MODIFIERS + +SHIFTSTATE + +// shift_state_idx // column_below modifiers +0 // 4 +1 // 5 LSHIFT or RSHIFT pressed +2 // 6 both LSHIFT and RSHIFT pressed simultaneously + +LAYOUT +// an extra @ at the end is a dead key +// -1 denotes the character +// SC denotes a Virtual Scan Code +// Cap ~ CapsInfo (probably whether CapsLock is applicable) + +// topmost row + +//SC VK_ Cap 0 1 2 +29 OEM_3 0 -1 -1 007e // , , TILDE +02 1 0 -1 -1 0021 // , , EXCLAMATION MARK +03 2 0 00e4 00c4 0040 // adiaeresis, Adiaeresis, COMMERCIAL AT +04 3 0 00f6 00d6 0023 // odiaeresis, Odiaeresis, NUMBER SIGN +05 4 0 -1 -1 0024 // , , DOLLAR SIGN +06 5 0 00fc 00dc 0025 // udiaeresis, Udiaeresis, PERCENT SIGN +07 6 0 -1 -1 005e // , , CIRCUMFLEX ACCENT +08 7 0 -1 -1 0026 // , , AMPERSAND +09 8 0 -1 -1 002a // , , ASTERISK +0a 9 0 -1 -1 0028 // , , LEFT PARENTHESIS +0b 0 0 -1 -1 0029 // , , RIGHT PARENTHESIS +0c OEM_4 0 00df 1e9e 007b // ssharp, U1E9E, LEFT CURLY BRACKET (BRACELEFT) +0d OEM_6 0 -1 -1 007d // , , RIGHT CURLY BRACKET (BRACERIGHT) +// FIXME wtf is this key? is it really ? +56 OEM_102 0 -1 -1 -1 // , , +//0e ???? 0 ???? ???? ???? // backspace, backspace, backspace + +// top row + +//0f ???? 0 ???? ???? ???? // tab, tab, tab +// ltgt variant +10 OEM_7 0 0027 0022 -1 // APOSTROPHE, QUOTATION MARK (QUOTEDBL), +11 OEM_COMMA 0 002c 003c 2013 // COMMA, LESS-THAN SIGN, U2013 (EN DASH, pomlcka) +12 OEM_PERIOD 0 002e 003e 0021 // FULL STOP (PERIOD), GREATER-THAN SIGN, EXCLAMATION MARK +// writer variant +//10 OEM_7 0 201e 201c 0022 // U201E LOWER QUOTATION MARK (QUOTEDBL), U201C UPPER QUOTATION MARK (QUOTEDBL), QUOTATION MARK (QUOTEDBL) +//11 OEM_COMMA 0 002c 2013 003c // COMMA, U2013 (EN DASH, pomlcka), LESS-THAN SIGN +//12 OEM_PERIOD 0 002e 0027 003e // FULL STOP (PERIOD), APOSTROPHE, GREATER-THAN SIGN + +13 P 0 p P 00a7 // LATIN SMALL LETTER P, LATIN CAPITAL LETTER P, SECTION SIGN (PARAGRAPH) +14 Y 0 y Y -1 // LATIN SMALL LETTER Y, LATIN CAPITAL LETTER Y, +15 F 0 f F 002c // LATIN SMALL LETTER F, LATIN CAPITAL LETTER F, COMMA +16 G 0 g G 7 // LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, DIGIT SEVEN +17 C 0 c C 8 // LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, DIGIT EIGHT +18 R 0 r R 9 // LATIN SMALL LETTER R, LATIN CAPITAL LETTER R, DIGIT NINE +19 L 0 l L 005b // LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LEFT SQUARE BRACKET +1a OEM_2 0 002f 003f 005d // SOLIDUS (SLASH), QUESTION MARK, RIGHT SQUARE BRACKET +1b OEM_PLUS 0 003d 002b 002b // EQUALS SIGN, PLUS SIGN, PLUS SIGN +2b OEM_5 0 005c 007c 007c // REVERSE SOLIDUS (BACKSLASH), VERTICAL LINE (BAR), VERTICAL LINE (BAR) + +// home/middle row + +//CapsLk +//3a ???? 0 001b 001b 001b // ESCAPE, ESCAPE, ESCAPE +//3a SGCap 0 001b 001b 001b // ESCAPE, ESCAPE, ESCAPE +1e A 0 a A 0040 // LATIN SMALL LETTER A, LATIN CAPITAL LETTER A, COMMERCIAL AT +1f O 0 o O 00b0 // LATIN SMALL LETTER O, LATIN CAPITAL LETTER O, DEGREE +20 E 0 e E 20ac // LATIN SMALL LETTER E, LATIN CAPITAL LETTER E, EURO SIGN +21 U 0 u U 0060 // LATIN SMALL LETTER U, LATIN CAPITAL LETTER U, GRAVE ACCENT (GRAVE) +22 I 0 i I -1 // LATIN SMALL LETTER I, LATIN CAPITAL LETTER I, +23 D 0 d D 003a // LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, COLON +24 H 0 h H 4 // LATIN SMALL LETTER H, LATIN CAPITAL LETTER H, DIGIT FOUR +25 T 0 t T 5 // LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, DIGIT FIVE +26 N 0 n N 6 // LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, DIGIT SIX +27 S 0 s S 003d // LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, EQUALS SIGN +// pomlcka (= minus = dash) +28 OEM_MINUS 0 002d 005f 005c // HYPHEN-MINUS (FIXME is it the plain minus?), LOW LINE (UNDERSCORE), REVERSE SOLIDUS (BACKSLASH) +//1c ???? 0 ???? ???? ???? // enter/return, enter/return, enter/return + +// bottom row + +//2a ???? 0 ???? ???? ???? // left shift, left shift, left shift +// left bottom key, right from , which doesn't follow the kbd standard +// FIXME wtf is this key? is it really ? +56 OEM_102 0 -1 -1 -1 // , , +2c OEM_1 0 003b 003a -1 // SEMICOLON, COLON, +2d Q 0 q Q -1 // LATIN SMALL LETTER Q, LATIN CAPITAL LETTER Q, +2e J 0 j J -1 // LATIN SMALL LETTER J, LATIN CAPITAL LETTER J, +2f K 0 k K -1 // LATIN SMALL LETTER K, LATIN CAPITAL LETTER K, +30 X 0 x X -1 // LATIN SMALL LETTER X, LATIN CAPITAL LETTER X, +31 B 0 b B 0 // LATIN SMALL LETTER B, LATIN CAPITAL LETTER B, DIGIT ZERO +32 M 0 m M 1 // LATIN SMALL LETTER M, LATIN CAPITAL LETTER M, DIGIT ONE +33 W 0 w W 2 // LATIN SMALL LETTER W, LATIN CAPITAL LETTER W, DIGIT TWO +34 V 0 v V 3 // LATIN SMALL LETTER V, LATIN CAPITAL LETTER V, DIGIT THREE +35 Z 0 z Z 002e // LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, FULL STOP (PERIOD) +// numpad dot +53 DECIMAL 0 002e 002e 002e // FULL STOP (PERIOD), FULL STOP (PERIOD), FULL STOP (PERIOD) +//36 ???? 0 ???? ???? ???? // right shift, right shift, right shift + +// bottom-most row + +//?? ???? 0 ???? ???? ???? // left ctrl, left ctrl, left ctrl +//5b ???? 0 ???? ???? ???? // left super (win), left super (win), left super (win) +//?? ???? 0 ???? ???? ???? // left alt (meta), left alt (meta), left alt (meta) +39 SPACE 0 0020 00a0 00a0 // SPACE, NO-BREAK SPACE, NO-BREAK SPACE +//38 ???? 0 ???? ???? ???? // right alt (meta), right alt (meta), right alt (meta) +//5c ???? 0 ???? ???? ???? // right super (win), right super (win), right super (win) +//?? ???? 0 ???? ???? ???? // menu, menu, menu +//5d ???? 0 ???? ???? ???? // menu, menu, menu +//56 ???? 0 ???? ???? ???? // menu, menu, menu +//1d ???? 0 ???? ???? ???? // right ctrl, right ctrl, right ctrl +//46 ???? 0 ???? ???? ???? // scroll lock, scroll lock, scroll lock + +//LIGATURE +// +//// LigatureRow( a: string, mod: byte = SHIFTSTATE[?], tuple ) +//// LigatureRow( a: string, mod: byte = SHIFTSTATE[?], tuple ) +//// LigatureRow( a: string, mod: byte = SHIFTSTATE[?], tuple ) +//// a mod b c + +//KEYNAME +// +//01 Esc +//0e Backspace +//0f Tab +//1c Enter +//1d Ctrl +////2a Shift +//2a "Left Shift" +//36 "Right Shift" +//37 "Num *" +//38 Alt +//39 Space +//3a "Caps Lock" +//3b F1 +//3c F2 +//3d F3 +//3e F4 +//3f F5 +//40 F6 +//41 F7 +//42 F8 +//43 F9 +//44 F10 +//45 Pause +//46 "Scroll Lock" +//47 "Num 7" +//48 "Num 8" +//49 "Num 9" +//4a "Num -" +//4b "Num 4" +//4c "Num 5" +//4d "Num 6" +//4e "Num +" +//4f "Num 1" +//50 "Num 2" +//51 "Num 3" +//52 "Num 0" +//53 "Num Del" +//54 "Sys Req" +//57 F11 +//58 F12 +//7c F13 +//7d F14 +//7e F15 +//7f F16 +//80 F17 +//81 F18 +//82 F19 +//83 F20 +//84 F21 +//85 F22 +//86 F23 +//87 F24 +// +//KEYNAME_EXT +// +//1c "Num Enter" +//1d "Right Ctrl" +//35 "Num /" +//37 "Prnt Scrn" +//38 "Right Alt" +//45 "Num Lock" +//46 Break +//47 Home +//48 Up +//49 "Page Up" +//4b Left +//4d Right +//4f End +//50 Down +//51 "Page Down" +//52 Insert +//53 Delete +//54 <00> +//54 "Sys Req" +//56 Help +//5b "Left Windows" +//5c "Right Windows" +//5d Application + +DESCRIPTIONS + +// Don't ask me why the parser doesn't strip double quotes here ( +// even though they're stripped for the KBD command/section above). +0409 German Dvorak ltgt (useful for text with lots of <>) +//0409 German Dvorak writer (useful for text with lower/upper UTF-8 double quotes) + +LANGUAGENAMES + +// Don't ask me why the parser doesn't strip double quotes here ( +// even though they're stripped for the KBD command/section above). +0409 German or related (all locations world-wide) + +ENDKBD + +// vim: set ft=javascript: diff --git a/platform/win/20220624-gerdLTGT/make_pkg.sh b/platform/win/20220624-gerdLTGT/make_pkg.sh new file mode 100644 index 0000000..a8ea958 --- /dev/null +++ b/platform/win/20220624-gerdLTGT/make_pkg.sh @@ -0,0 +1,274 @@ +#!/bin/sh +# FIXME ULKL gerd +# Ctrl + s writes `=` in Excel instead of saving the file +# Shift + Del doesn't work in Windows (file) Explorer +# Ctrl + f doesn't work in nvim and in Chromium it triggers the built-in search instead of the "page down cVim function" +# Ctrl + Backspace sometimes doesn't delete word backwards (e.g. in notepad) +# Ctrl + at sign sometimes doesn't work (e.g. in nvim; but in notepad it works) +# is this because in gerdLTGT.klc is the third level in many cases disabled and if not, it doesn't produce the desired VK_xxx key? +# some apps seem to handle combinations themself and some rely on the resulting "character"/"abbreviation" provided by the operating system +# FIXME test +# Windows remote desktop - all 3 combinations (outside only, inside only, outside inside) +# Virtualbox - || - +# FIXME generate new *.c *.h *.rc *.def +# /c/Program\ Files\ \(x86\)/Microsoft\ Keyboard\ Layout\ Creator\ 1.4/bin/i386/kbdutool.exe -v -w -a -n -s gerdLTGT.klc +# FIXME uninstall +# msiexec /x c:\Windows\Installer\ba87.msi DISABLEROLLBACK="1" /l*v! c:\mylog00.txt +# FIXME the layout not installed for all users +# installation property (global variable) ALLUSERS +# FIXME installed for each system32, syswow64 +# SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs +# FIXME unregister a DLL +# Regsvr32.exe /u msutb.dll +# FIXME layouts in registry +# HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000401 +# FIXME temporary "bad" solution +#reg query 'hklm\software\policies\microsoft\windows\installer' //v DisableRollback; echo $? +cat <<\END +REGEDIT4 + +[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer] +"DisableRollback"=- +END + +set -e + +readonly msklc='C:\Program Files (x86)\Microsoft Keyboard Layout Creator 1.4' +readonly layoutpath="$(cd "$(dirname "$0")"; pwd)" +readonly kbdname="$(basename "$layoutpath")" +# Semver with the second part serving also the purpose of the missing last part +readonly my_ver=0.9 +readonly TMPDIR_WIN="$(cmd.exe /c "echo %TEMP%")" + +if [ ! -x "$msklc" ]; then + printf 'ERR %s\n' "$msklc" >&2 + printf 'ERR ^^^Could not open the MSKLC dir. Is MSKLC 1.4 installed?\n' "$msklc" >&2 + exit 1 +fi + +printf 'INFO Checking for files availability...\n' + +for f in \ + "$layoutpath\\${kbdname}.c" \ + "$layoutpath\\${kbdname}.def" \ + "$layoutpath\\${kbdname}.h" \ + "$layoutpath\\${kbdname}.klc" \ + "$layoutpath\\${kbdname}.rc"; do + if [ ! -r "$f" ]; then + printf 'ERR %s\n' "$f" >&2 + printf 'ERR ^^^Could not read the file. Make sure the filename without\n' >&2 + printf 'ERR extension matches the name of its parent directory).\n' >&2 + exit 1 + fi +done + +readonly productname_quoted="$( \ + grep -E '^[[:blank:]]*KBD' "$layoutpath\\${kbdname}.klc" | \ + sed -r 's|^[[:blank:]]*KBD[[:blank:]]+[^[:blank:]]+[[:blank:]]+||')" +if [ -z "$productname_quoted" ]; then + printf 'ERR Could not parse keyboard description from %s\n' "${kbdname}.klc" >&2 + exit 1 +fi +readonly localeid="$(grep -E '^[[:blank:]]*LOCALEID' "$layoutpath\\${kbdname}.klc" | tr '[:upper:]' '[:lower:]' | sed -r 's|^[[:blank:]]*localeid[[:blank:]]+"0*([0-9]+).*|\1|')" +if [ -z "$localeid" ]; then + printf 'ERR Could not parse keyboard localeid from %s\n' "${kbdname}.klc" >&2 + exit 1 +fi + +# (\\CREED\ROOT\CIMV2:Win32_Product.IdentifyingNumber="{ACBB506E-BC38-45FA-BC22-6A6E2E1D9E81}",Name="German Dvorak ltgt (useful for text with lots of <>)",Version="1.0.3.40")->Uninstall() wird ausgeführt +# Methode wurde ausgeführt. +# Ausgabeparameter: +# instance of __PARAMETERS +# { +# ReturnValue = 1603; +# }; + +# run_elevated +run_elevated()( + [ $# -eq 1 ] || { + printf 'ERR run_elevated: one and only one param allowed\n' >&2 + exit 1 + } + [ -r "$1" ] || { + printf 'ERR run_elevated: executable not readable\n' >&2 + exit 1 + } + [ -n "$(printf %s "$1" | grep -E '/')" ] && { + printf 'ERR run_elevated: forward slash in path not allowed\n' >&2 + exit 1 + } + # VBS needs double quotes quoted by putting them twice + readonly x="$(printf %s "$1" | sed -r 's|"|""|g')" + # FIXME $TMPDIR not taken automatically into account as it should + readonly t="$(mktemp -p "$TMPDIR_WIN" --suffix .vbs run_elevated.XXXXXXXXXXXXXXXX | sed -r 's|/|\\|g')" + trap "rm -f '$t'" INT HUP TERM EXIT + # printf %s 'CreateObject("Shell.Application").ShellExecute "'"$f2"'","","'"$TMP"'","runas",1' > "$f" + printf %s 'CreateObject("Shell.Application").ShellExecute "'"$x"'","","","runas",1' > "$t" + # cscript/wscript + # FIXME + printf '%s\n' "cscript $t" + cscript "$t" +) + +printf 'INFO Searching for conflicting keyboard layouts...\n' + +# list all installed apps: wmic product get name +# FIXME ! +if [ ! -n "$(wmic product where name="$productname_quoted")" ]; then + # win apps usually do not accept forward slashes + readonly a="$(mktemp -p "$TMPDIR_WIN" --suffix .cmd cmd_app.XXXXXXXXXXXXXXXX | sed -r 's|/|\\|g')" + readonly a_log="${a}.log" + + # make traps local + ( + trap "rm -f '$a'" INT HUP TERM EXIT RETURN + # kbd layout uninstallation doesn't complete successfully if the DLL files + # are present + cat > "$a" < $a_log" > "$a" + printf 'INFO Uninstalling conflicting keyboard layouts.\n' + # FIXME https://msdn.microsoft.com/en-us/library/xsy6k3ys(VS.85).aspx + run_elevated "$a" + + # due to deferred DB-operations etc. + printf 'INFO Waiting ' + c=10 + while printf '%ds... ' "$c"; do + if [ "$(($(grep -E ReturnValue "$a_log" 2>/dev/null | + sed -r 's|^[^=]+=[^0-9]*([0-9]+).*|\1|')))" -ne 0 \ + -o "$c" -le 0 ]; then + printf '\n%s\n' "ERR Couldn't uninstall the kbd layout \"$kbdname\"." >&2 + exit 1 + fi + +# FIXME +# INFO Waiting 10s... Keine Instanzen verf▒gbar. +# 9s... Keine Instanzen verf▒gbar. +# 8s... Keine Instanzen verf▒gbar. + # this takes time => no need for sleep 1 + [ -z "$(wmic product where name="$productname_quoted")" ] && break || true + c=$((c-1)) + done + printf '\n' + ) + + # FIXME unregister the DLL + # what about DLLs in use? restart needed (logout won't help as kbd layouts are also for the login page)? +cat >/dev/null <<\END +on error resume next +CreateObject( "Wscript.Shell" ).Run "wmic product where IdentifyingNumber="""{11D34ED0-8C85-4C7C-BCB8-59884CAC02FC}""" call uninstall", 1, true + +const hklm = &H80000002 +set reg = GetObject( "winmgmts:{impersonationLevel=impersonate}StdRegProv" ) +set fs = createobject( "Scripting.FileSystemObject" ) +for each s in array( "C:\Windows\System32\gerdLTGT.dll", "C:\Windows\SysWOW64\gerdLTGT.dll" ) + reg.DeleteValue hklm, "SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls\", s + fs.DeleteFile s, true + next +fs.DeleteFile "C:\Users\JPa\AppData\Local\Temp\marker.txt", true +END +fi + +# FIXME automatically in VBS (periodically check for MSKLC to appear and then try to click it)? +# FIXME can we lock the window to just a certain process for input? +printf '%s\n' "WARN Do not touch any input device (mouse, keyboard, ...)" >&2 +cat >&2 <<\END +INFO 1. wait for "Keyboard Layout Creator" window to appear +INFO 2. click "Project" in menu -> "Build DLL and Setup Package" +INFO 3. click "No" to disable viewing of "KeyboardVerify.log" +INFO 4. click "No" to disable opening of the Installer package directory +INFO 5. close the window of the "Keyboard Layout Creator" +END + +# FIXME avoid collision with the default MSKLC compile directory +readonly dockbd="$USERPROFILE\\documents\\$kbdname" +if [ -e "$dockbd" ]; then + mv "$dockbd" "${dockbd}-$(date +%F-%H%M%S%:::z)" +fi + +# FIXME open it with some other geometry (for VBS)? +# FIXME open it with a different DLL directory than \Userprofile\Documents +#"$msklc/MSKLC.exe" "$layoutpath\\${kbdname}.klc" + +printf '%s\n' "WARN You can freely use input devices (mouse, keyboard, ...) again" >&2 + +if [ -e "$USERPROFILE\\Documents\\KeyboardVerify.log" ]; then + rm "$USERPROFILE\\Documents\\KeyboardVerify.log" +fi + +cd "$layoutpath" +# can't use $TEMP as it's a virtual mountpoint (win apps see /tmp as C:\tmp) +readonly TEMP_WIN_PREFIX="$(cmd.exe /c "echo %TEMP%")\\my_layout" +idx=0 +for p in \ + "$msklc\\bin\\i386" \ + "$msklc\\bin\\i386" \ + "$msklc\\bin\\i386\\amd64" \ + "$msklc\\bin\\i386\\ia64"; do + # x86, wow64 (32bit on 64bit system), x86_64, ia64 (x86_64 Itanium) + case "$p" in + "$msklc\\bin\\i386") + libdir=i386 + machine=X86 + # https://docs.microsoft.com/de-de/cpp/build/reference/linker-options + subsys_native_ver=4.00 + # 32bit on 64bit systems + if [ "$idx" -eq 0 ]; then + idx=$((idx +1)) + defwow64=-DBUILD_WOW6432 + outdir=wow64 + else + defwow64= + outdir=i386 + fi + ;; + "$msklc\\bin\\i386\\amd64") + libdir=amd64 + machine=X64 + subsys_native_ver=5.02 + defwow64= + outdir=amd64 + ;; + "$msklc\\bin\\i386\\ia64") + libdir=ia64 + machine=IA64 + subsys_native_ver=5.02 + defwow64= + outdir=ia64 + ;; + esac + + printf '\nINFO Compiling DLL for %s...\n' "$outdir" + + # make traps local + ( + trap "rm -f '${TEMP_WIN_PREFIX}.res' '${TEMP_WIN_PREFIX}.obj'" \ + INT HUP TERM EXIT RETURN + # FIXME -DSTD_CALL + "$msklc\\bin\\i386\\rc.exe" -DCONDITION_HANDLING=1 -DNT_UP=1 -DNT_INST=0 -DWIN32=1 -D_NT1X_=1 -DWINNT=1 -D_WIN32_WINNT=0x0500 -DWINVER=0x0400 -D_WIN32_IE=0x0400 -DWIN32_LEAN_AND_MEAN=1 $defwow64 -DNOGDICAPMASKS -DNOWINMESSAGES -DNOWINSTYLES -DNOSYSMETRICS -DNOMENUS -DNOICONS -DNOSYSCOMMANDS -DNORASTEROPS -DNOSHOWWINDOW -DOEMRESOURCE -DNOATOM -DNOCLIPBOARD -DNOCOLOR -DNOCTLMGR -DNODRAWTEXT -DNOGDI -DNOKERNEL -DNONLS -DNOMB -DNOMEMMGR -DNOMETAFILE -DNOMINMAX -DNOMSG -DNOOPENFILE -DNOSCROLL -DNOSERVICE -DNOSOUND -DNOTEXTMETRIC -DNOWINOFFSETS -DNOWH -DNOCOMM -DNOKANJI -DNOHELP -DNOPROFILER -DNODEFERWINDOWPOS -DNOMCX -DRoster -DDEVL=1 -DFPO=1 -DNDEBUG -l "$localeid" -i "$msklc\\inc" -fo "${TEMP_WIN_PREFIX}.res" "${kbdname}.rc" + + # FIXME -Gz (x86 only) + # -DSTD_CALL + # FIXME -EHs-c- + "$p\\cl.exe" -nologo -DCONDITION_HANDLING=1 -DNT_UP=1 -DNT_INST=0 -DWIN32=1 -D_NT1X_=1 -DWINNT=1 -D_WIN32_WINNT=0x0500 -DWINVER=0x0400 -D_WIN32_IE=0x0400 -DWIN32_LEAN_AND_MEAN=1 $defwow64 -DNOGDICAPMASKS -DNOWINMESSAGES -DNOWINSTYLES -DNOSYSMETRICS -DNOMENUS -DNOICONS -DNOSYSCOMMANDS -DNORASTEROPS -DNOSHOWWINDOW -DOEMRESOURCE -DNOATOM -DNOCLIPBOARD -DNOCOLOR -DNOCTLMGR -DNODRAWTEXT -DNOGDI -DNOKERNEL -DNONLS -DNOMB -DNOMEMMGR -DNOMETAFILE -DNOMINMAX -DNOMSG -DNOOPENFILE -DNOSCROLL -DNOSERVICE -DNOSOUND -DNOTEXTMETRIC -DNOWINOFFSETS -DNOWH -DNOCOMM -DNOKANJI -DNOHELP -DNOPROFILER -DNODEFERWINDOWPOS -DNOMCX -DRoster -DDEVL=1 -DFPO=1 -DNDEBUG -MD -c -Zp8 -Gy -W3 -WX -EHsc -GR- -GF -Z7 -Ox "-I$msklc\\inc" -Fo"${TEMP_WIN_PREFIX}.obj" "${kbdname}.c" + + [ -e "$outdir" ] && rm -r "$outdir" + mkdir "$outdir" + + "$p\\link.exe" "-LIBPATH:$msklc\\lib\\$libdir" "-MACHINE:$machine" -nologo -noentry -OPT:REF -OPT:ICF -dll "-subsystem:native,$subsys_native_ver" -merge:.rdata=.text -PDBPATH:NONE -STACK:4096,1024 -opt:nowin98 "-version:$my_ver" -release -merge:.edata=.data -merge:.text=.data -merge:.bss=.data -section:.data,re -MERGE:_PAGE=PAGE -MERGE:_TEXT=.text-merge:.edata=.data -merge:.srdata=.data -merge:.text=.data -merge:.bss=.data -section:.data,re -MERGE:_PAGE=PAGE -MERGE:_TEXT=.text "-DEF:${kbdname}.def" "-OUT:$outdir\\${kbdname}.dll" "${TEMP_WIN_PREFIX}.res" "${TEMP_WIN_PREFIX}.obj" + ) +done + +# FIXME debug +#cp "$layoutpath\\wow64\\${kbdname}.dll" 'C:\Users\JPa\Documents\gerdLTGT-2018-05-29-105034+02\wow64\' + +# vim: set wrap: diff --git a/platform/win/20220624-gerdLTGT/make_pkg.sh.bak00 b/platform/win/20220624-gerdLTGT/make_pkg.sh.bak00 new file mode 100644 index 0000000..a8ea958 --- /dev/null +++ b/platform/win/20220624-gerdLTGT/make_pkg.sh.bak00 @@ -0,0 +1,274 @@ +#!/bin/sh +# FIXME ULKL gerd +# Ctrl + s writes `=` in Excel instead of saving the file +# Shift + Del doesn't work in Windows (file) Explorer +# Ctrl + f doesn't work in nvim and in Chromium it triggers the built-in search instead of the "page down cVim function" +# Ctrl + Backspace sometimes doesn't delete word backwards (e.g. in notepad) +# Ctrl + at sign sometimes doesn't work (e.g. in nvim; but in notepad it works) +# is this because in gerdLTGT.klc is the third level in many cases disabled and if not, it doesn't produce the desired VK_xxx key? +# some apps seem to handle combinations themself and some rely on the resulting "character"/"abbreviation" provided by the operating system +# FIXME test +# Windows remote desktop - all 3 combinations (outside only, inside only, outside inside) +# Virtualbox - || - +# FIXME generate new *.c *.h *.rc *.def +# /c/Program\ Files\ \(x86\)/Microsoft\ Keyboard\ Layout\ Creator\ 1.4/bin/i386/kbdutool.exe -v -w -a -n -s gerdLTGT.klc +# FIXME uninstall +# msiexec /x c:\Windows\Installer\ba87.msi DISABLEROLLBACK="1" /l*v! c:\mylog00.txt +# FIXME the layout not installed for all users +# installation property (global variable) ALLUSERS +# FIXME installed for each system32, syswow64 +# SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs +# FIXME unregister a DLL +# Regsvr32.exe /u msutb.dll +# FIXME layouts in registry +# HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000401 +# FIXME temporary "bad" solution +#reg query 'hklm\software\policies\microsoft\windows\installer' //v DisableRollback; echo $? +cat <<\END +REGEDIT4 + +[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer] +"DisableRollback"=- +END + +set -e + +readonly msklc='C:\Program Files (x86)\Microsoft Keyboard Layout Creator 1.4' +readonly layoutpath="$(cd "$(dirname "$0")"; pwd)" +readonly kbdname="$(basename "$layoutpath")" +# Semver with the second part serving also the purpose of the missing last part +readonly my_ver=0.9 +readonly TMPDIR_WIN="$(cmd.exe /c "echo %TEMP%")" + +if [ ! -x "$msklc" ]; then + printf 'ERR %s\n' "$msklc" >&2 + printf 'ERR ^^^Could not open the MSKLC dir. Is MSKLC 1.4 installed?\n' "$msklc" >&2 + exit 1 +fi + +printf 'INFO Checking for files availability...\n' + +for f in \ + "$layoutpath\\${kbdname}.c" \ + "$layoutpath\\${kbdname}.def" \ + "$layoutpath\\${kbdname}.h" \ + "$layoutpath\\${kbdname}.klc" \ + "$layoutpath\\${kbdname}.rc"; do + if [ ! -r "$f" ]; then + printf 'ERR %s\n' "$f" >&2 + printf 'ERR ^^^Could not read the file. Make sure the filename without\n' >&2 + printf 'ERR extension matches the name of its parent directory).\n' >&2 + exit 1 + fi +done + +readonly productname_quoted="$( \ + grep -E '^[[:blank:]]*KBD' "$layoutpath\\${kbdname}.klc" | \ + sed -r 's|^[[:blank:]]*KBD[[:blank:]]+[^[:blank:]]+[[:blank:]]+||')" +if [ -z "$productname_quoted" ]; then + printf 'ERR Could not parse keyboard description from %s\n' "${kbdname}.klc" >&2 + exit 1 +fi +readonly localeid="$(grep -E '^[[:blank:]]*LOCALEID' "$layoutpath\\${kbdname}.klc" | tr '[:upper:]' '[:lower:]' | sed -r 's|^[[:blank:]]*localeid[[:blank:]]+"0*([0-9]+).*|\1|')" +if [ -z "$localeid" ]; then + printf 'ERR Could not parse keyboard localeid from %s\n' "${kbdname}.klc" >&2 + exit 1 +fi + +# (\\CREED\ROOT\CIMV2:Win32_Product.IdentifyingNumber="{ACBB506E-BC38-45FA-BC22-6A6E2E1D9E81}",Name="German Dvorak ltgt (useful for text with lots of <>)",Version="1.0.3.40")->Uninstall() wird ausgeführt +# Methode wurde ausgeführt. +# Ausgabeparameter: +# instance of __PARAMETERS +# { +# ReturnValue = 1603; +# }; + +# run_elevated +run_elevated()( + [ $# -eq 1 ] || { + printf 'ERR run_elevated: one and only one param allowed\n' >&2 + exit 1 + } + [ -r "$1" ] || { + printf 'ERR run_elevated: executable not readable\n' >&2 + exit 1 + } + [ -n "$(printf %s "$1" | grep -E '/')" ] && { + printf 'ERR run_elevated: forward slash in path not allowed\n' >&2 + exit 1 + } + # VBS needs double quotes quoted by putting them twice + readonly x="$(printf %s "$1" | sed -r 's|"|""|g')" + # FIXME $TMPDIR not taken automatically into account as it should + readonly t="$(mktemp -p "$TMPDIR_WIN" --suffix .vbs run_elevated.XXXXXXXXXXXXXXXX | sed -r 's|/|\\|g')" + trap "rm -f '$t'" INT HUP TERM EXIT + # printf %s 'CreateObject("Shell.Application").ShellExecute "'"$f2"'","","'"$TMP"'","runas",1' > "$f" + printf %s 'CreateObject("Shell.Application").ShellExecute "'"$x"'","","","runas",1' > "$t" + # cscript/wscript + # FIXME + printf '%s\n' "cscript $t" + cscript "$t" +) + +printf 'INFO Searching for conflicting keyboard layouts...\n' + +# list all installed apps: wmic product get name +# FIXME ! +if [ ! -n "$(wmic product where name="$productname_quoted")" ]; then + # win apps usually do not accept forward slashes + readonly a="$(mktemp -p "$TMPDIR_WIN" --suffix .cmd cmd_app.XXXXXXXXXXXXXXXX | sed -r 's|/|\\|g')" + readonly a_log="${a}.log" + + # make traps local + ( + trap "rm -f '$a'" INT HUP TERM EXIT RETURN + # kbd layout uninstallation doesn't complete successfully if the DLL files + # are present + cat > "$a" < $a_log" > "$a" + printf 'INFO Uninstalling conflicting keyboard layouts.\n' + # FIXME https://msdn.microsoft.com/en-us/library/xsy6k3ys(VS.85).aspx + run_elevated "$a" + + # due to deferred DB-operations etc. + printf 'INFO Waiting ' + c=10 + while printf '%ds... ' "$c"; do + if [ "$(($(grep -E ReturnValue "$a_log" 2>/dev/null | + sed -r 's|^[^=]+=[^0-9]*([0-9]+).*|\1|')))" -ne 0 \ + -o "$c" -le 0 ]; then + printf '\n%s\n' "ERR Couldn't uninstall the kbd layout \"$kbdname\"." >&2 + exit 1 + fi + +# FIXME +# INFO Waiting 10s... Keine Instanzen verf▒gbar. +# 9s... Keine Instanzen verf▒gbar. +# 8s... Keine Instanzen verf▒gbar. + # this takes time => no need for sleep 1 + [ -z "$(wmic product where name="$productname_quoted")" ] && break || true + c=$((c-1)) + done + printf '\n' + ) + + # FIXME unregister the DLL + # what about DLLs in use? restart needed (logout won't help as kbd layouts are also for the login page)? +cat >/dev/null <<\END +on error resume next +CreateObject( "Wscript.Shell" ).Run "wmic product where IdentifyingNumber="""{11D34ED0-8C85-4C7C-BCB8-59884CAC02FC}""" call uninstall", 1, true + +const hklm = &H80000002 +set reg = GetObject( "winmgmts:{impersonationLevel=impersonate}StdRegProv" ) +set fs = createobject( "Scripting.FileSystemObject" ) +for each s in array( "C:\Windows\System32\gerdLTGT.dll", "C:\Windows\SysWOW64\gerdLTGT.dll" ) + reg.DeleteValue hklm, "SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls\", s + fs.DeleteFile s, true + next +fs.DeleteFile "C:\Users\JPa\AppData\Local\Temp\marker.txt", true +END +fi + +# FIXME automatically in VBS (periodically check for MSKLC to appear and then try to click it)? +# FIXME can we lock the window to just a certain process for input? +printf '%s\n' "WARN Do not touch any input device (mouse, keyboard, ...)" >&2 +cat >&2 <<\END +INFO 1. wait for "Keyboard Layout Creator" window to appear +INFO 2. click "Project" in menu -> "Build DLL and Setup Package" +INFO 3. click "No" to disable viewing of "KeyboardVerify.log" +INFO 4. click "No" to disable opening of the Installer package directory +INFO 5. close the window of the "Keyboard Layout Creator" +END + +# FIXME avoid collision with the default MSKLC compile directory +readonly dockbd="$USERPROFILE\\documents\\$kbdname" +if [ -e "$dockbd" ]; then + mv "$dockbd" "${dockbd}-$(date +%F-%H%M%S%:::z)" +fi + +# FIXME open it with some other geometry (for VBS)? +# FIXME open it with a different DLL directory than \Userprofile\Documents +#"$msklc/MSKLC.exe" "$layoutpath\\${kbdname}.klc" + +printf '%s\n' "WARN You can freely use input devices (mouse, keyboard, ...) again" >&2 + +if [ -e "$USERPROFILE\\Documents\\KeyboardVerify.log" ]; then + rm "$USERPROFILE\\Documents\\KeyboardVerify.log" +fi + +cd "$layoutpath" +# can't use $TEMP as it's a virtual mountpoint (win apps see /tmp as C:\tmp) +readonly TEMP_WIN_PREFIX="$(cmd.exe /c "echo %TEMP%")\\my_layout" +idx=0 +for p in \ + "$msklc\\bin\\i386" \ + "$msklc\\bin\\i386" \ + "$msklc\\bin\\i386\\amd64" \ + "$msklc\\bin\\i386\\ia64"; do + # x86, wow64 (32bit on 64bit system), x86_64, ia64 (x86_64 Itanium) + case "$p" in + "$msklc\\bin\\i386") + libdir=i386 + machine=X86 + # https://docs.microsoft.com/de-de/cpp/build/reference/linker-options + subsys_native_ver=4.00 + # 32bit on 64bit systems + if [ "$idx" -eq 0 ]; then + idx=$((idx +1)) + defwow64=-DBUILD_WOW6432 + outdir=wow64 + else + defwow64= + outdir=i386 + fi + ;; + "$msklc\\bin\\i386\\amd64") + libdir=amd64 + machine=X64 + subsys_native_ver=5.02 + defwow64= + outdir=amd64 + ;; + "$msklc\\bin\\i386\\ia64") + libdir=ia64 + machine=IA64 + subsys_native_ver=5.02 + defwow64= + outdir=ia64 + ;; + esac + + printf '\nINFO Compiling DLL for %s...\n' "$outdir" + + # make traps local + ( + trap "rm -f '${TEMP_WIN_PREFIX}.res' '${TEMP_WIN_PREFIX}.obj'" \ + INT HUP TERM EXIT RETURN + # FIXME -DSTD_CALL + "$msklc\\bin\\i386\\rc.exe" -DCONDITION_HANDLING=1 -DNT_UP=1 -DNT_INST=0 -DWIN32=1 -D_NT1X_=1 -DWINNT=1 -D_WIN32_WINNT=0x0500 -DWINVER=0x0400 -D_WIN32_IE=0x0400 -DWIN32_LEAN_AND_MEAN=1 $defwow64 -DNOGDICAPMASKS -DNOWINMESSAGES -DNOWINSTYLES -DNOSYSMETRICS -DNOMENUS -DNOICONS -DNOSYSCOMMANDS -DNORASTEROPS -DNOSHOWWINDOW -DOEMRESOURCE -DNOATOM -DNOCLIPBOARD -DNOCOLOR -DNOCTLMGR -DNODRAWTEXT -DNOGDI -DNOKERNEL -DNONLS -DNOMB -DNOMEMMGR -DNOMETAFILE -DNOMINMAX -DNOMSG -DNOOPENFILE -DNOSCROLL -DNOSERVICE -DNOSOUND -DNOTEXTMETRIC -DNOWINOFFSETS -DNOWH -DNOCOMM -DNOKANJI -DNOHELP -DNOPROFILER -DNODEFERWINDOWPOS -DNOMCX -DRoster -DDEVL=1 -DFPO=1 -DNDEBUG -l "$localeid" -i "$msklc\\inc" -fo "${TEMP_WIN_PREFIX}.res" "${kbdname}.rc" + + # FIXME -Gz (x86 only) + # -DSTD_CALL + # FIXME -EHs-c- + "$p\\cl.exe" -nologo -DCONDITION_HANDLING=1 -DNT_UP=1 -DNT_INST=0 -DWIN32=1 -D_NT1X_=1 -DWINNT=1 -D_WIN32_WINNT=0x0500 -DWINVER=0x0400 -D_WIN32_IE=0x0400 -DWIN32_LEAN_AND_MEAN=1 $defwow64 -DNOGDICAPMASKS -DNOWINMESSAGES -DNOWINSTYLES -DNOSYSMETRICS -DNOMENUS -DNOICONS -DNOSYSCOMMANDS -DNORASTEROPS -DNOSHOWWINDOW -DOEMRESOURCE -DNOATOM -DNOCLIPBOARD -DNOCOLOR -DNOCTLMGR -DNODRAWTEXT -DNOGDI -DNOKERNEL -DNONLS -DNOMB -DNOMEMMGR -DNOMETAFILE -DNOMINMAX -DNOMSG -DNOOPENFILE -DNOSCROLL -DNOSERVICE -DNOSOUND -DNOTEXTMETRIC -DNOWINOFFSETS -DNOWH -DNOCOMM -DNOKANJI -DNOHELP -DNOPROFILER -DNODEFERWINDOWPOS -DNOMCX -DRoster -DDEVL=1 -DFPO=1 -DNDEBUG -MD -c -Zp8 -Gy -W3 -WX -EHsc -GR- -GF -Z7 -Ox "-I$msklc\\inc" -Fo"${TEMP_WIN_PREFIX}.obj" "${kbdname}.c" + + [ -e "$outdir" ] && rm -r "$outdir" + mkdir "$outdir" + + "$p\\link.exe" "-LIBPATH:$msklc\\lib\\$libdir" "-MACHINE:$machine" -nologo -noentry -OPT:REF -OPT:ICF -dll "-subsystem:native,$subsys_native_ver" -merge:.rdata=.text -PDBPATH:NONE -STACK:4096,1024 -opt:nowin98 "-version:$my_ver" -release -merge:.edata=.data -merge:.text=.data -merge:.bss=.data -section:.data,re -MERGE:_PAGE=PAGE -MERGE:_TEXT=.text-merge:.edata=.data -merge:.srdata=.data -merge:.text=.data -merge:.bss=.data -section:.data,re -MERGE:_PAGE=PAGE -MERGE:_TEXT=.text "-DEF:${kbdname}.def" "-OUT:$outdir\\${kbdname}.dll" "${TEMP_WIN_PREFIX}.res" "${TEMP_WIN_PREFIX}.obj" + ) +done + +# FIXME debug +#cp "$layoutpath\\wow64\\${kbdname}.dll" 'C:\Users\JPa\Documents\gerdLTGT-2018-05-29-105034+02\wow64\' + +# vim: set wrap: diff --git a/platform/win/20220624-gerdLTGT/map_esc_to_caps_lock.reg b/platform/win/20220624-gerdLTGT/map_esc_to_caps_lock.reg new file mode 100644 index 0000000000000000000000000000000000000000..e3dbb29c105398c05eefda75701fdf4d250a86cf GIT binary patch literal 384 zcmb7=O>4qH6h+Tk=zkE`rTBrHf(r=+MWdjlB3eSLp$$kPQL+B{wkJVdxshS!&Hb2n zAM^J+BOzr?#*rOWCd7Qn?bwrZl6g^0M47nCn|iLAh*NQ!C+e;TD&=0#W8j-P5ktlV zbgdDgHBjp_Qe86DG3C{JC<-{(HMe(aQc(6T@-sHNV!6UoBwpC1DY5f?%6{lvJIm19 xNqo@tUQSc<^-4DN%=E;%Lh+Uw9lpgsJeTu7-gP#)?QdN9mMOPA^)p}m*gtwZIfDQI literal 0 HcmV?d00001 diff --git a/platform/win/20220624-gerdLTGT/map_esc_to_caps_lock.reg.bak00 b/platform/win/20220624-gerdLTGT/map_esc_to_caps_lock.reg.bak00 new file mode 100644 index 0000000000000000000000000000000000000000..e3dbb29c105398c05eefda75701fdf4d250a86cf GIT binary patch literal 384 zcmb7=O>4qH6h+Tk=zkE`rTBrHf(r=+MWdjlB3eSLp$$kPQL+B{wkJVdxshS!&Hb2n zAM^J+BOzr?#*rOWCd7Qn?bwrZl6g^0M47nCn|iLAh*NQ!C+e;TD&=0#W8j-P5ktlV zbgdDgHBjp_Qe86DG3C{JC<-{(HMe(aQc(6T@-sHNV!6UoBwpC1DY5f?%6{lvJIm19 xNqo@tUQSc<^-4DN%=E;%Lh+Uw9lpgsJeTu7-gP#)?QdN9mMOPA^)p}m*gtwZIfDQI literal 0 HcmV?d00001 diff --git a/platform/win/README.md b/platform/win/README.md index 6eff1ef..3c14719 100644 --- a/platform/win/README.md +++ b/platform/win/README.md @@ -2,6 +2,8 @@ ### LShift + RShift modifier combination doesn't work +1. re-read https://metacpan.org/pod/UI::KeyboardLayout#Keyboard-input-on-Windows,-Part-I:-what-is-the-kernel-doing? and come up with some hacks? + 1. generate all possible `Ctrl + Shift + Alt + AltGr` combination by MSKLC and compare sources to gain more knowledge about `CharModifiers` table 1. reevaluate `CharModifiers` table by taking inspiration from https://github.com/microsoft/Windows-driver-samples/blob/master/input/layout/fe_kbds/jpn/101/kbd101.c @@ -18,6 +20,8 @@ - check it works **by default** seamlessly (only turning IME on in system settings is acceptable but it's unacceptable to turn IME on at login screen every time it'll show up) - at the login screen - for all users + - sometimes has some issues (e.g. shows a tiny annoying button/icon in just under every input field widget) + - sometimes does not work on password input fields ## Available general solutions @@ -37,6 +41,7 @@ ## Useful links +* *extended key* means it's one from the "middle group" on a full/long keyboard (which has 3 separate blocks: alphanumeric, arrow, and numeric) - see https://docs.microsoft.com/en-us/windows/win32/inputdev/about-keyboard-input * a non-Microsoft reimplementation of some of the kernel building blocks of keyboard handling on Windows - it **dumps the content of structures** etc.: https://github.com/awakecoding/Win32Keyboard * `kbd.h` from 1991 (in contrast to the current `kbd.h` from 1995 or newer): https://gist.github.com/ozh/5340054 * thorough explanation of reasoning behind the frozen state of the Windows keyboard handling internals (probably from the author of kbdedit.com ): https://answers.microsoft.com/en-us/insider/forum/insider_wintp-insider_devices-insiderplat_pc/how-to-implement-multiple-deadkey-strokes/4ff38c09-b58c-490a-963e-3cc745dfb396 @@ -52,4 +57,3 @@ * http://www.klm32.com/KbdEdit.html * http://ahkscript.org/ * [dverty](https://github.com/chid/dvorak-qwerty/tree/master/dverty ) with simple regedit register files for better locale settings -* *extended key* means it's one from the "middle group" on a full/long keyboard (which has 3 separate blocks: alphanumeric, arrow, and numeric) - see https://docs.microsoft.com/en-us/windows/win32/inputdev/about-keyboard-input diff --git a/standards/20220623_150306+0200-Microsoft IME on windows 10 gets disabled on password field - Microsoft Community.pdf b/standards/20220623_150306+0200-Microsoft IME on windows 10 gets disabled on password field - Microsoft Community.pdf new file mode 100644 index 0000000000000000000000000000000000000000..10175f8858ad3e812be2e4210001b7e3e3c9a5ff GIT binary patch literal 275815 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

IS#a7hi6;YXe&6?3sq_xx!m5HznkQ?6 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

=uzQC>=&<1FC@LzgrR? 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
*#A8STj>6Gc!<__$yS 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 DHdtfB literal 0 HcmV?d00001