From caeaab746ee734e2057b468129432a4febc5efc8 Mon Sep 17 00:00:00 2001 From: florian Date: Sun, 17 Feb 2008 11:55:55 +0000 Subject: git-svn-id: https://svn.neo-layout.org@343 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- windows/XP/kbdneo2/Quelldateien/README.txt | 17 + windows/XP/kbdneo2/Quelldateien/kbdneo2.c | 496 +++++++++++++++++++++ windows/XP/kbdneo2/Quelldateien/kbdneo2.def | 4 + windows/XP/kbdneo2/Quelldateien/kbdneo2.h | 105 +++++ windows/XP/kbdneo2/Quelldateien/kbdneo2.rc | 11 + windows/XP/kbdneo2/Quelldateien/makefile | 15 + windows/XP/kbdneo2/Quelldateien/makefile.inc | 1 + windows/XP/kbdneo2/Quelldateien/sources | 2 + windows/XP/kbdneo2/Treiber/NEO20.dll | Bin 0 -> 8192 bytes windows/XP/kbdneo2/Treiber/README.txt | 1 + windows/XP/kbdneo2/buildchk_wxp_x86.log | 117 ----- windows/XP/kbdneo2/kbdneo2.c | 496 --------------------- windows/XP/kbdneo2/kbdneo2.def | 4 - windows/XP/kbdneo2/kbdneo2.h | 105 ----- windows/XP/kbdneo2/kbdneo2.rc | 11 - windows/XP/kbdneo2/makefile | 15 - windows/XP/kbdneo2/makefile.inc | 1 - .../XP/kbdneo2/objchk_wxp_x86/i386/_objects.mac | 18 - windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.dll | Bin 7168 -> 0 bytes windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.exp | Bin 766 -> 0 bytes windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.lib | Bin 1762 -> 0 bytes windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.obj | Bin 22890 -> 0 bytes windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.pdb | Bin 52224 -> 0 bytes windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.res | Bin 1040 -> 0 bytes windows/XP/kbdneo2/objchk_wxp_x86/i386/vc80.pdb | Bin 53248 -> 0 bytes windows/XP/kbdneo2/sources | 2 - 26 files changed, 652 insertions(+), 769 deletions(-) create mode 100644 windows/XP/kbdneo2/Quelldateien/README.txt create mode 100644 windows/XP/kbdneo2/Quelldateien/kbdneo2.c create mode 100644 windows/XP/kbdneo2/Quelldateien/kbdneo2.def create mode 100644 windows/XP/kbdneo2/Quelldateien/kbdneo2.h create mode 100644 windows/XP/kbdneo2/Quelldateien/kbdneo2.rc create mode 100644 windows/XP/kbdneo2/Quelldateien/makefile create mode 100644 windows/XP/kbdneo2/Quelldateien/makefile.inc create mode 100644 windows/XP/kbdneo2/Quelldateien/sources create mode 100644 windows/XP/kbdneo2/Treiber/NEO20.dll create mode 100644 windows/XP/kbdneo2/Treiber/README.txt delete mode 100644 windows/XP/kbdneo2/buildchk_wxp_x86.log delete mode 100644 windows/XP/kbdneo2/kbdneo2.c delete mode 100644 windows/XP/kbdneo2/kbdneo2.def delete mode 100644 windows/XP/kbdneo2/kbdneo2.h delete mode 100644 windows/XP/kbdneo2/kbdneo2.rc delete mode 100644 windows/XP/kbdneo2/makefile delete mode 100644 windows/XP/kbdneo2/makefile.inc delete mode 100644 windows/XP/kbdneo2/objchk_wxp_x86/i386/_objects.mac delete mode 100644 windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.dll delete mode 100644 windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.exp delete mode 100644 windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.lib delete mode 100644 windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.obj delete mode 100644 windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.pdb delete mode 100644 windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.res delete mode 100644 windows/XP/kbdneo2/objchk_wxp_x86/i386/vc80.pdb delete mode 100644 windows/XP/kbdneo2/sources diff --git a/windows/XP/kbdneo2/Quelldateien/README.txt b/windows/XP/kbdneo2/Quelldateien/README.txt new file mode 100644 index 0000000..8d00f7a --- /dev/null +++ b/windows/XP/kbdneo2/Quelldateien/README.txt @@ -0,0 +1,17 @@ +1. WinDDK (Bestandteil von WDK) installieren. + +2. Im Ordner \src\input\layout\all_kbds\kbdneo2 des WDKs einen neuen Ordner namens 'kbdneo2' anlegen. + +3. Alle Quelldateien in diesen Ordner kopieren. + +4. Die Datei 'dirs' im Ordner \src\input\layout\all_kbds\kbdneo2 des WDKs um die Zeile 'kbdneo2' erweitern. Die Datei könnte nun so aussehen: +> DIRS= \ +> kbdfr \ +> kbdgr \ +> kbdneo2 + +5. Mit einem normalem Texteditor können nun die Quelldateien bearbeitet werden. + +6. Zum kompilieren des Treibers die 'Checked Build Environment' starten und zum Ordner mit den Quelldateien wechseln und den Befehl Build ausführen. +> cd src\input\layout\all_kbds\kbdneo2 +> build diff --git a/windows/XP/kbdneo2/Quelldateien/kbdneo2.c b/windows/XP/kbdneo2/Quelldateien/kbdneo2.c new file mode 100644 index 0000000..5d55513 --- /dev/null +++ b/windows/XP/kbdneo2/Quelldateien/kbdneo2.c @@ -0,0 +1,496 @@ +/***************************************************************************\ +* Module Name: KBDNEO2.C +* +* keyboard layout for German +* +* Copyright (c) 1985-2000, Microsoft Corporation +* +* History: +\***************************************************************************/ + +#include +#include "kbd.h" +#include "kbdneo2.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 for German +\***************************************************************************/ + +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. +* +* German 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 }, + { VK_KANA , KBDKANA }, + { 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], + 9, + { + // Modification# // Keys Pressed + // ============= // ============= + 0, // + 1, // Shift + 6, // Control + 7, // Shift + Control + SHFT_INVALID, // Menu + SHFT_INVALID, // Shift + Menu + 2, // Control + Menu + 3, //Shift+Control+Menu + 4, //Kana + 5 //Kana+Shift + } +}; + + +/***************************************************************************\ +* +* 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 +* aVkToWch5[] - Virtual Key to WCHAR translation for 5 shift states +* aVkToWch6[] - Virtual Key to WCHAR translation for 6 shift states +* aVkToWch7[] - Virtual Key to WCHAR translation for 7 shift states +* aVkToWch8[] - Virtual Key to WCHAR translation for 8 shift states +* aVkToWch9[] - Virtual Key to WCHAR translation for 9 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_DECIMAL ,0 ,',' ,',' }, + {VK_ADD ,0 ,'+' ,'+' }, + {VK_DIVIDE ,0 ,'/' ,'/' }, + {VK_MULTIPLY ,0 ,'*' ,'*' }, + {VK_SUBTRACT ,0 ,'-' ,'-' }, + {0 ,0 ,0 ,0 } +}; + + +static ALLOC_SECTION_LDATA VK_TO_WCHARS5 aVkToWch5[] = { +// | | SHIFT | ALT+CTRL | ALT+CTL+S | KANA | +// | |===============|================|===============|===============| +{'1' ,CAPLOK ,'1' ,0x00b0 ,0x00B9 ,0x2640 ,0x2022 }, +{'3' ,CAPLOK ,'3' ,0x00a7 ,0x00b3 ,0x2640 ,WCH_NONE }, +{'K' ,CAPLOK ,'k' ,'K' ,'!' ,0x03BA ,0x00A1 }, +{'N' ,CAPLOK ,'n' ,'N' ,'(' ,0x03BD ,'4' }, +{'R' ,CAPLOK ,'r' ,'R' ,')' ,0x03C1 ,'5' }, +{'T' ,CAPLOK ,'t' ,'T' ,'-' ,0x03C4 ,'6' }, +{VK_OEM_5 ,CAPLOK ,0x00FC ,0x00DC ,'#' ,WCH_NONE ,0x001b }, +{0 ,0 ,0 ,0 ,0 ,0 ,0 } +}; + +static ALLOC_SECTION_LDATA VK_TO_WCHARS6 aVkToWch6[] = { +// | | SHIFT | ALT+CTRL | ALT+CTL+S | KANA | KANA+SHFT | +// | |===============|================|===============|===============|================| +{VK_OEM_1 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD }, +{0xff ,0 ,0x0302 ,0x030C ,0x0306 ,0x0335 ,0x00B7 ,0x0323 }, +{'4' ,CAPLOK ,'4' ,0x00bb ,0x203A ,WCH_NONE ,0x2573 ,0x2573 }, //?PgUp? ,?PgUp? +{'5' ,CAPLOK ,'5' ,0x00ab ,0x2039 ,WCH_NONE ,WCH_NONE ,0x21D2 }, +{'7' ,CAPLOK ,'7' ,0x20AC ,0x0025 ,0x00A5 ,WCH_NONE ,0x00AC }, +{'8' ,CAPLOK ,'8' ,0x201E ,0x201A ,WCH_NONE ,0x002F ,0x2203 }, +{'9' ,CAPLOK ,'9' ,0x201C ,0x2018 ,WCH_NONE ,0x002A ,0x2200 }, +{'0' ,CAPLOK ,'0' ,0x201D ,0x2019 ,WCH_NONE ,0x002D ,0x2228 }, +{VK_OEM_MINUS ,0 ,'-' ,0x2013 ,0x2014 ,0x00AD ,0X2011 ,0x2227 }, +{VK_OEM_2 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD }, +{0xff ,0 ,0x0301 ,0x0300 ,0x0327 ,0x0328 ,0x0307 ,0x030a }, +{VK_TAB ,0 ,'\t' ,'\t' ,'\t' ,'\t' ,'\t' ,'\t' }, +{'X' ,CAPLOK ,'x' ,'X' ,'@' ,0x03BE ,WCH_NONE ,0x039E }, +{'V' ,CAPLOK ,'v' ,'V' ,'_' ,WCH_NONE ,'\b' ,0x039B }, +{'L' ,CAPLOK ,'l' ,'L' ,'[' ,0x03BB ,0x2573 ,0x2573 }, //?Pfeil h? ,?Pfeil h? +{'C' ,CAPLOK ,'c' ,'C' ,']' ,0x03C7 ,'\t' ,'\t' }, +{'W' ,CAPLOK ,'w' ,'W' ,0x005E ,WCH_NONE ,0x2573 ,0x2573 }, //?Einfg? ,?Einfg? +{'H' ,CAPLOK ,'h' ,'H' ,'<' ,0x03C8 ,'7' ,0x03A8 }, +{'G' ,CAPLOK ,'g' ,'G' ,'>' ,0x03B3 ,'8' ,0x0393 }, +{'F' ,CAPLOK ,'f' ,'F' ,'=' ,0x03C6 ,'9' ,0x03A6 }, +{'Q' ,CAPLOK ,'q' ,'Q' ,'&' ,0x0278 ,'+' ,0x2202 }, +{'U' ,CAPLOK ,'u' ,'U' ,'\\' ,WCH_NONE ,0x2573 ,0x2573 }, //?Pos1? ,?Pos1? +{'I' ,CAPLOK ,'i' ,'I' ,'/' ,0x03B9 ,0x2573 ,0x2573 }, //?Pfeil l? ,?Pfeil l? +{'A' ,CAPLOK ,'a' ,'A' ,'{' ,0x03B1 ,0x2573 ,0x2573 }, //?Pfeil u? ,?Pfeil u? +{'E' ,CAPLOK ,'e' ,'E' ,'}' ,0x03B5 ,0x2573 ,0x2573 }, //?Pfeil r? ,?Pfeil r? +{'O' ,CAPLOK ,'o' ,'O' ,'*' ,0x03C9 ,0x2573 ,0x2573 }, //?Ende? ,?Ende? +{'S' ,CAPLOK ,'s' ,'S' ,'?' ,0x03C3 ,0x00BF ,0x03A3 }, +{'D' ,CAPLOK ,'d' ,'D' ,':' ,0x03B4 ,',' ,0x0394 }, +{VK_OEM_6 ,CAPLOK ,0x00F6 ,0x00D6 ,'$' ,WCH_NONE ,0x007f ,0x007f }, +{VK_OEM_7 ,CAPLOK ,0x00E4 ,0x00C4 ,'|' ,0x03B7 ,0x2573 ,0x2573 }, //?PgDn? ,?PgDn? +{'P' ,CAPLOK ,'p' ,'P' ,'~' ,0x03C0 ,'\r' ,0x03A0 }, +{'Z' ,CAPLOK ,'z' ,'Z' ,'`' ,0x03B6 ,WCH_NONE ,0x03A9 }, +{'B' ,CAPLOK ,'b' ,'B' ,'+' ,0x03B2 ,WCH_NONE ,0x221E }, +{'M' ,CAPLOK ,'m' ,'M' ,'%' ,0x00b5 ,'1' ,0x222B }, +{VK_OEM_COMMA ,0 ,',' ,';' ,'\'' ,0x03F1 ,'2' ,0x221A }, +{VK_OEM_PERIOD ,0 ,'.' ,0x2026 ,'\"' ,0x03B8 ,'3' ,0x0398 }, +{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 } +}; + +static ALLOC_SECTION_LDATA VK_TO_WCHARS7 aVkToWch7[] = { +// | | SHIFT | ALT+CTRL | ALT+CTL+S | KANA | KANA+SHFT | Control | +// | |===============|================|===============|===============|================|===============| +{VK_OEM_3 ,CAPLOK ,0x00df ,0x1E9E ,0x017F ,0x03C2 ,0x0259 ,0x018F ,0x001b }, +{VK_OEM_4 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,0x001d }, +{0xff ,0 ,0x0303 ,0x0304 ,0x0308 ,0x030B ,0x0337 ,0x0326 ,0 }, +{'Y' ,CAPLOK ,'y' ,'Y' ,WCH_NONE ,0x03C5 ,0x00FE ,0x00DE ,0x001c }, +{VK_SPACE ,0 ,' ' ,' ' ,0x00A0 ,' ' ,'0' ,0x2009 ,' ' }, +{VK_BACK ,0 ,'\b' ,'\b' ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,0x007f }, +{VK_ESCAPE ,0 ,0x001b ,0x001b ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,0x001b }, +{VK_RETURN ,0 ,'\r' ,'\r' ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,'\n' }, +{VK_CANCEL ,0 ,0x0003 ,0x0003 ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,0x0003 }, +{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 } +}; + +static ALLOC_SECTION_LDATA VK_TO_WCHARS8 aVkToWch8[] = { +// | | SHIFT | ALT+CTRL | ALT+CTL+S | KANA | KANA+SHFT | Control | Control+Shift | +// | |===============|================|===============|===============|================|===============|===============| +{'2' ,CAPLOK ,'2' ,0x2116 ,0x00b2 ,0x26A5 ,0x2023 ,WCH_NONE ,WCH_NONE ,0x0000 }, +{'6' ,CAPLOK ,'6' ,0x0024 ,0x00A3 ,0x00A4 ,WCH_NONE ,0x21D4 ,WCH_NONE ,0x001e }, +{'J' ,CAPLOK ,'j' ,'J' ,';' ,0x03D1 ,'.' ,0x2207 ,WCH_NONE ,0x001f }, +{0 ,0 ,0 ,0 ,0 ,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)aVkToWch5, 5, sizeof(aVkToWch5[0]) }, + { (PVK_TO_WCHARS1)aVkToWch6, 6, sizeof(aVkToWch6[0]) }, + { (PVK_TO_WCHARS1)aVkToWch7, 7, sizeof(aVkToWch7[0]) }, + { (PVK_TO_WCHARS1)aVkToWch8, 8, sizeof(aVkToWch8[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"R\x00DC" L"CK", + 0x0f, L"TABULATOR", + 0x1c, L"EINGABE", + 0x1d, L"STRG", + 0x2a, L"UMSCHALT", + 0x36, L"UMSCHALT RECHTS", + 0x37, L" (ZEHNERTASTATUR)", + 0x38, L"ALT", + 0x39, L"LEER", + 0x3a, L"FESTSTELL", + 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"ROLLEN-FESTSTELL", + 0x47, L"7 (ZEHNERTASTATUR)", + 0x48, L"8 (ZEHNERTASTATUR)", + 0x49, L"9 (ZEHNERTASTATUR)", + 0x4a, L"- (ZEHNERTASTATUR)", + 0x4b, L"4 (ZEHNERTASTATUR)", + 0x4c, L"5 (ZEHNERTASTATUR)", + 0x4d, L"6 (ZEHNERTASTATUR)", + 0x4e, L"+ (ZEHNERTASTATUR)", + 0x4f, L"1 (ZEHNERTASTATUR)", + 0x50, L"2 (ZEHNERTASTATUR)", + 0x51, L"3 (ZEHNERTASTATUR)", + 0x52, L"0 (ZEHNERTASTATUR)", + 0x53, L"KOMMA (ZEHNERTASTATUR)", + 0x57, L"F11", + 0x58, L"F12", + 0 , NULL +}; + +static ALLOC_SECTION_LDATA VSC_LPWSTR aKeyNamesExt[] = { + 0x1c, L"EINGABE (ZEHNERTASTATUR)", + 0x1d, L"STRG-RECHTS", + 0x35, L" (ZEHNERTASTATUR)", + 0x37, L"DRUCK", + 0x38, L"ALT GR", + 0x45, L"NUM-FESTSTELL", + 0x46, L"UNTBR", + 0x47, L"POS1", + 0x48, L"NACH-OBEN", + 0x49, L"BILD-NACH-OBEN", + 0x4b, L"NACH-LINKS", + 0x4d, L"NACH-RECHTS", + 0x4f, L"ENDE", + 0x50, L"NACH-UNTEN", + 0x51, L"BILD-NACH-UNTEN", + 0x52, L"EINFG", + 0x53, L"ENTF", + 0x54, L"<00>", + 0x56, L"HILFE", + 0x5b, L"LINKE WINDOWS", + 0x5c, L"RECHTE WINDOWS", + 0x5d, L"ANWENDUNG", + 0 , NULL +}; + +static ALLOC_SECTION_LDATA DEADKEY_LPWSTR aKeyNamesDead[] = { + L"\x00b4" L"AKUT", + L"`" L"GRAVIS", + L"^" L"ZIRKUMFLEX", + NULL +}; + +static ALLOC_SECTION_LDATA DEADKEY aDeadKey[] = { + DEADTRANS( L'a' , L'^' , 0x00e2 , 0x0000), + DEADTRANS( L'e' , L'^' , 0x00ea , 0x0000), + DEADTRANS( L'i' , L'^' , 0x00ee , 0x0000), + DEADTRANS( L'o' , L'^' , 0x00f4 , 0x0000), + DEADTRANS( L'u' , L'^' , 0x00fb , 0x0000), + DEADTRANS( L'A' , L'^' , 0x00c2 , 0x0000), + DEADTRANS( L'E' , L'^' , 0x00ca , 0x0000), + DEADTRANS( L'I' , L'^' , 0x00ce , 0x0000), + DEADTRANS( L'O' , L'^' , 0x00d4 , 0x0000), + DEADTRANS( L'U' , L'^' , 0x00db , 0x0000), + DEADTRANS( L' ' , L'^' , L'^' , 0x0000), + + DEADTRANS( L'a' , 0x00b4 , 0x00e1 , 0x0000), + DEADTRANS( L'e' , 0x00b4 , 0x00e9 , 0x0000), + DEADTRANS( L'i' , 0x00b4 , 0x00ed , 0x0000), + DEADTRANS( L'o' , 0x00b4 , 0x00f3 , 0x0000), + DEADTRANS( L'u' , 0x00b4 , 0x00fa , 0x0000), + DEADTRANS( L'y' , 0x00b4 , 0x00fd , 0x0000), + DEADTRANS( L'A' , 0x00b4 , 0x00c1 , 0x0000), + DEADTRANS( L'E' , 0x00b4 , 0x00c9 , 0x0000), + DEADTRANS( L'I' , 0x00b4 , 0x00cd , 0x0000), + DEADTRANS( L'O' , 0x00b4 , 0x00d3 , 0x0000), + DEADTRANS( L'U' , 0x00b4 , 0x00da , 0x0000), + DEADTRANS( L'Y' , 0x00b4 , 0x00dd , 0x0000), + DEADTRANS( L' ' , 0x00b4 , 0x00b4 , 0x0000), + + DEADTRANS( L'a' , L'`' , 0x00e0 , 0x0000), + DEADTRANS( L'e' , L'`' , 0x00e8 , 0x0000), + DEADTRANS( L'i' , L'`' , 0x00ec , 0x0000), + DEADTRANS( L'o' , L'`' , 0x00f2 , 0x0000), + DEADTRANS( L'u' , L'`' , 0x00f9 , 0x0000), + DEADTRANS( L'A' , L'`' , 0x00c0 , 0x0000), + DEADTRANS( L'E' , L'`' , 0x00c8 , 0x0000), + DEADTRANS( L'I' , L'`' , 0x00cc , 0x0000), + DEADTRANS( L'O' , L'`' , 0x00d2 , 0x0000), + DEADTRANS( L'U' , L'`' , 0x00d9 , 0x0000), + DEADTRANS( L' ' , L'`' , L'`' , 0x0000), + + 0, 0 +}; + +static ALLOC_SECTION_LDATA KBDTABLES KbdTables = { + /* + * Modifier keys + */ + &CharModifiers, + + /* + * Characters tables + */ + aVkToWcharTable, + + /* + * Diacritics + */ + aDeadKey, + + /* + * Names of Keys + */ + aKeyNames, + aKeyNamesExt, + aKeyNamesDead, + + /* + * Scan codes to Virtual Keys + */ + ausVK, + sizeof(ausVK) / sizeof(ausVK[0]), + aE0VscToVk, + aE1VscToVk, + + /* + * Locale-specific special processing + */ + MAKELONG(KLLF_ALTGR, KBD_VERSION), + + /* + * Ligatures + */ + 0, + 0, + NULL +}; + +PKBDTABLES KbdLayerDescriptor(VOID) +{ + return &KbdTables; +} diff --git a/windows/XP/kbdneo2/Quelldateien/kbdneo2.def b/windows/XP/kbdneo2/Quelldateien/kbdneo2.def new file mode 100644 index 0000000..6207414 --- /dev/null +++ b/windows/XP/kbdneo2/Quelldateien/kbdneo2.def @@ -0,0 +1,4 @@ +LIBRARY KBDNEO2 + +EXPORTS + KbdLayerDescriptor @1 diff --git a/windows/XP/kbdneo2/Quelldateien/kbdneo2.h b/windows/XP/kbdneo2/Quelldateien/kbdneo2.h new file mode 100644 index 0000000..730f514 --- /dev/null +++ b/windows/XP/kbdneo2/Quelldateien/kbdneo2.h @@ -0,0 +1,105 @@ +/****************************** Module Header ******************************\ +* Module Name: KBDNEO2.H +* +* keyboard layout header for NEO German +* +* Various defines for use by keyboard input code. +* +* History: Ver 0.1 +* +\***************************************************************************/ + +/* + * 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" +#include +/***************************************************************************\ +* 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 T0D +#define T0D _EQ( OEM_2 ) +#undef T10 +#define T10 _EQ( 'X' ) +#undef T11 +#define T11 _EQ( 'V' ) +#undef T12 +#define T12 _EQ( 'L' ) +#undef T13 +#define T13 _EQ( 'C' ) +#undef T14 +#define T14 _EQ( 'W' ) +#undef T15 +#define T15 _EQ( 'K' ) +#undef T16 +#define T16 _EQ( 'H' ) +#undef T17 +#define T17 _EQ( 'G' ) +#undef T18 +#define T18 _EQ( 'F' ) +#undef T19 +#define T19 _EQ( 'Q' ) +#undef T1A +#define T1A _EQ( OEM_3 ) +#undef T1B +#define T1B _EQ( OEM_4 ) +#undef T1E +#define T1E _EQ( 'U' ) +#undef T1F +#define T1F _EQ( 'I' ) +#undef T20 +#define T20 _EQ( 'A' ) +#undef T21 +#define T21 _EQ( 'E' ) +#undef T22 +#define T22 _EQ( 'O' ) +#undef T23 +#define T23 _EQ( 'S' ) +#undef T24 +#define T24 _EQ( 'N' ) +#undef T25 +#define T25 _EQ( 'R' ) +#undef T26 +#define T26 _EQ( 'T' ) +#undef T27 +#define T27 _EQ( 'D' ) +#undef T28 +#define T28 _EQ( 'Y' ) +#undef T29 +#define T29 _EQ( OEM_1 ) +#undef T2B +#define T2B _EQ( RMENU ) +#undef T2C +#define T2C _EQ( OEM_5 ) +#undef T2D +#define T2D _EQ( OEM_6 ) +#undef T2E +#define T2E _EQ( OEM_7 ) +#undef T2F +#define T2F _EQ( 'P' ) +#undef T30 +#define T30 _EQ( 'Z' ) +#undef T31 +#define T31 _EQ( 'B' ) +#undef T35 +#define T35 _EQ( 'J' ) +#undef T3A +#define T3A _EQ( RMENU ) +#undef X38 +#define X38 _EQ( KANA ) +#undef T56 +#define T56 _EQ( KANA ) \ No newline at end of file diff --git a/windows/XP/kbdneo2/Quelldateien/kbdneo2.rc b/windows/XP/kbdneo2/Quelldateien/kbdneo2.rc new file mode 100644 index 0000000..ec83d64 --- /dev/null +++ b/windows/XP/kbdneo2/Quelldateien/kbdneo2.rc @@ -0,0 +1,11 @@ +#include +#include + +#define VER_FILETYPE VFT_DLL +#define VER_FILESUBTYPE VFT2_DRV_KEYBOARD +#define VER_FILEDESCRIPTION_STR "NEO2 German ergonomic Keyboard Layout" +#define VER_INTERNALNAME_STR "kbdneo2" +#define VER_ORIGINALFILENAME_STR "kbdneo2.dll" + +#define VER_LANGNEUTRAL +#include "common.ver" diff --git a/windows/XP/kbdneo2/Quelldateien/makefile b/windows/XP/kbdneo2/Quelldateien/makefile new file mode 100644 index 0000000..23d6985 --- /dev/null +++ b/windows/XP/kbdneo2/Quelldateien/makefile @@ -0,0 +1,15 @@ +# +# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source +# file to this component. This file merely indirects to the real make file +# that is shared by all the components of NT OS/2 +# +!IF DEFINED(_NT_TARGET_VERSION) +! IF $(_NT_TARGET_VERSION)>=0x501 +! INCLUDE $(NTMAKEENV)\makefile.def +! ELSE +! message BUILDMSG: Warning : The sample "$(MAKEDIR)" is not valid for the current OS target. +! ENDIF +!ELSE +! INCLUDE $(NTMAKEENV)\makefile.def +!ENDIF + diff --git a/windows/XP/kbdneo2/Quelldateien/makefile.inc b/windows/XP/kbdneo2/Quelldateien/makefile.inc new file mode 100644 index 0000000..fdf82aa --- /dev/null +++ b/windows/XP/kbdneo2/Quelldateien/makefile.inc @@ -0,0 +1 @@ +!INCLUDE ..\..\makefile.inc diff --git a/windows/XP/kbdneo2/Quelldateien/sources b/windows/XP/kbdneo2/Quelldateien/sources new file mode 100644 index 0000000..a4d98f3 --- /dev/null +++ b/windows/XP/kbdneo2/Quelldateien/sources @@ -0,0 +1,2 @@ +TARGETNAME=kbdneo2 +!INCLUDE ..\..\sources.inc diff --git a/windows/XP/kbdneo2/Treiber/NEO20.dll b/windows/XP/kbdneo2/Treiber/NEO20.dll new file mode 100644 index 0000000..063203c Binary files /dev/null and b/windows/XP/kbdneo2/Treiber/NEO20.dll differ diff --git a/windows/XP/kbdneo2/Treiber/README.txt b/windows/XP/kbdneo2/Treiber/README.txt new file mode 100644 index 0000000..52ae7d0 --- /dev/null +++ b/windows/XP/kbdneo2/Treiber/README.txt @@ -0,0 +1 @@ +Zur Installation muss zur Zeit noch die MSKLC-Variante installiert werden, anschließend muss die NEO20.dll-Datei im Ordner \WINDOWS\system32 mit der hier vorhandenen Datei überschrieben werden. \ No newline at end of file diff --git a/windows/XP/kbdneo2/buildchk_wxp_x86.log b/windows/XP/kbdneo2/buildchk_wxp_x86.log deleted file mode 100644 index ca9d1ed..0000000 --- a/windows/XP/kbdneo2/buildchk_wxp_x86.log +++ /dev/null @@ -1,117 +0,0 @@ -BUILD: Computing Include file dependencies: -BUILD: Examining c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2 directory for files to compile. -skipping post pass 0 command -Compiling c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2 ************* -'nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS1 NOLINK=1 NOPASS0=1 MAKEDIR_RELATIVE_TO_BASEDIR=src\input\layout\all_kbds\kbdneo2' -BUILDMSG: _NT_TARGET_VERSION SET TO WINXP - cl.exe @c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2\objchk_wxp_x86\i386\cl.rsp -Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.278 for 80x86 -Copyright (C) Microsoft Corporation. All rights reserved. -cl /Fo"c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2\objchk_wxp_x86\i386/" - /FC - /Ii386 - /I. - /I..\..\inc - /Ic:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2\objchk_wxp_x86\i386 - /IC:\WinDDK\6001.17051\inc\api - /IC:\WinDDK\6001.17051\inc\api - /IC:\WinDDK\6001.17051\inc\crt - /D_X86_=1 - /Di386=1 - /DSTD_CALL - /DCONDITION_HANDLING=1 - /DNT_INST=0 - /DWIN32=100 - /D_NT1X_=100 - /DWINNT=1 - /D_WIN32_WINNT=0x0501 - /DWINVER=0x0501 - /D_WIN32_IE=0x0603 - /DWIN32_LEAN_AND_MEAN=1 - /DDEVL=1 - /DDBG=1 - /D__BUILDMACHINE__=WinDDK - /DFPO=0 - /DNDEBUG - /DDEPRECATE_DDK_FUNCTIONS=1 - /DMSC_NOOPT - /DNTDDI_VERSION=0x05010200 - /c - /Zc:wchar_t- - /Zl - /Zp8 - /Gy - /Gm- - /W3 - /Gz - /hotpatch - /EHs-c- - /GR- - /GF - /GS- - /Zi - /Od - /Oi - /Oy- - /Zi - /Fdc:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2\objchk_wxp_x86\i386\ - /DKMDF_MAJOR_VERSION=01 - /DKMDF_MINOR_VERSION=007 - /FIC:\WinDDK\6001.17051\inc\api\warning.h - .\kbdneo2.c -kbdneo2.c - link.exe /lib /out:c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2\objchk_wxp_x86\i386\kbdneo2.lib @c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2\objchk_wxp_x86\i386\lib.rsp -Microsoft (R) Library Manager Version 8.00.50727.278 -Copyright (C) Microsoft Corporation. All rights reserved. -/IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221 -/WX -/nodefaultlib -/machine:ix86 -/def:kbdneo2.def -c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2\objchk_wxp_x86\i386\kbdneo2.obj - Creating library c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2\objchk_wxp_x86\i386\kbdneo2.lib and object c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2\objchk_wxp_x86\i386\kbdneo2.exp -Linking for c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2 ************* -'nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS2 LINKONLY=1 NOPASS0=1 MAKEDLL=1 MAKEDIR_RELATIVE_TO_BASEDIR=src\input\layout\all_kbds\kbdneo2' -BUILDMSG: _NT_TARGET_VERSION SET TO WINXP - rc -l 409 -DSXS_PROCESSOR_ARCHITECTURE="""x86""" -DSXS_TARGET="""kbdneo2.dll""" -DSYSTEM_COMPATIBLE_ASSEMBLY_NAME="""Microsoft.Windows.SystemCompatible""" -DLSYSTEM_COMPATIBLE_ASSEMBLY_NAME=L"""Microsoft.Windows.SystemCompatible""" -DSXS_ASSEMBLY_VERSION="""""" /r /fo c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2\objchk_wxp_x86\i386\kbdneo2.res /D_X86_=1 /Di386=1 /DSTD_CALL /DCONDITION_HANDLING=1 /DNT_INST=0 /DWIN32=100 /D_NT1X_=100 /DWINNT=1 /D_WIN32_WINNT=0x0501 /DWINVER=0x0501 /D_WIN32_IE=0x0603 /DWIN32_LEAN_AND_MEAN=1 /DDEVL=1 /DDBG=1 /D__BUILDMACHINE__=WinDDK /DFPO=0 /DNDEBUG /DDEPRECATE_DDK_FUNCTIONS=1 /DMSC_NOOPT /DNTDDI_VERSION=0x05010200 /I..\..\inc /Ic:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2\objchk_wxp_x86\i386 /IC:\WinDDK\6001.17051\inc\api /IC:\WinDDK\6001.17051\inc\api /IC:\WinDDK\6001.17051\inc\crt .\kbdneo2.rc -Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0 -Copyright (C) Microsoft Corporation. All rights reserved. - link.exe /out:c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2\objchk_wxp_x86\i386\kbdneo2.dll /machine:ix86 @c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2\objchk_wxp_x86\i386\lnk.rsp -Microsoft (R) Incremental Linker Version 8.00.50727.278 -Copyright (C) Microsoft Corporation. All rights reserved. --merge:.edata=.data --merge:.rdata=.data --merge:.text=.data --merge:.bss=.data --section:.data,re -/ignore:4254 -/MERGE:_PAGE=PAGE -/MERGE:_TEXT=.text -/SECTION:INIT,d -/OPT:REF -/OPT:ICF -/IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221 -/INCREMENTAL:NO -/release -/NODEFAULTLIB -/WX -/debug -/debugtype:cv,fixup,pdata -/version:6.0 -/osversion:6.0 -/functionpadmin:5 -/safeseh -/opt:nowin98 -/nxcompat -/pdbcompress -/dynamicbase -/STACK:0x40000,0x1000 -/dll -/base:@C:\WinDDK\6001.17051\bin\coffbase.txt,kbdneo2 -/subsystem:native,5.01 -/noentry -c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2\objchk_wxp_x86\i386\kbdneo2.exp -c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2\objchk_wxp_x86\i386\kbdneo2.res -c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2\objchk_wxp_x86\i386\kbdneo2.obj -c:\winddk\6001.17051\lib\wxp\i386\int64.lib -c:\winddk\6001.17051\lib\wxp\i386\sehupd.lib diff --git a/windows/XP/kbdneo2/kbdneo2.c b/windows/XP/kbdneo2/kbdneo2.c deleted file mode 100644 index 5d55513..0000000 --- a/windows/XP/kbdneo2/kbdneo2.c +++ /dev/null @@ -1,496 +0,0 @@ -/***************************************************************************\ -* Module Name: KBDNEO2.C -* -* keyboard layout for German -* -* Copyright (c) 1985-2000, Microsoft Corporation -* -* History: -\***************************************************************************/ - -#include -#include "kbd.h" -#include "kbdneo2.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 for German -\***************************************************************************/ - -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. -* -* German 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 }, - { VK_KANA , KBDKANA }, - { 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], - 9, - { - // Modification# // Keys Pressed - // ============= // ============= - 0, // - 1, // Shift - 6, // Control - 7, // Shift + Control - SHFT_INVALID, // Menu - SHFT_INVALID, // Shift + Menu - 2, // Control + Menu - 3, //Shift+Control+Menu - 4, //Kana - 5 //Kana+Shift - } -}; - - -/***************************************************************************\ -* -* 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 -* aVkToWch5[] - Virtual Key to WCHAR translation for 5 shift states -* aVkToWch6[] - Virtual Key to WCHAR translation for 6 shift states -* aVkToWch7[] - Virtual Key to WCHAR translation for 7 shift states -* aVkToWch8[] - Virtual Key to WCHAR translation for 8 shift states -* aVkToWch9[] - Virtual Key to WCHAR translation for 9 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_DECIMAL ,0 ,',' ,',' }, - {VK_ADD ,0 ,'+' ,'+' }, - {VK_DIVIDE ,0 ,'/' ,'/' }, - {VK_MULTIPLY ,0 ,'*' ,'*' }, - {VK_SUBTRACT ,0 ,'-' ,'-' }, - {0 ,0 ,0 ,0 } -}; - - -static ALLOC_SECTION_LDATA VK_TO_WCHARS5 aVkToWch5[] = { -// | | SHIFT | ALT+CTRL | ALT+CTL+S | KANA | -// | |===============|================|===============|===============| -{'1' ,CAPLOK ,'1' ,0x00b0 ,0x00B9 ,0x2640 ,0x2022 }, -{'3' ,CAPLOK ,'3' ,0x00a7 ,0x00b3 ,0x2640 ,WCH_NONE }, -{'K' ,CAPLOK ,'k' ,'K' ,'!' ,0x03BA ,0x00A1 }, -{'N' ,CAPLOK ,'n' ,'N' ,'(' ,0x03BD ,'4' }, -{'R' ,CAPLOK ,'r' ,'R' ,')' ,0x03C1 ,'5' }, -{'T' ,CAPLOK ,'t' ,'T' ,'-' ,0x03C4 ,'6' }, -{VK_OEM_5 ,CAPLOK ,0x00FC ,0x00DC ,'#' ,WCH_NONE ,0x001b }, -{0 ,0 ,0 ,0 ,0 ,0 ,0 } -}; - -static ALLOC_SECTION_LDATA VK_TO_WCHARS6 aVkToWch6[] = { -// | | SHIFT | ALT+CTRL | ALT+CTL+S | KANA | KANA+SHFT | -// | |===============|================|===============|===============|================| -{VK_OEM_1 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD }, -{0xff ,0 ,0x0302 ,0x030C ,0x0306 ,0x0335 ,0x00B7 ,0x0323 }, -{'4' ,CAPLOK ,'4' ,0x00bb ,0x203A ,WCH_NONE ,0x2573 ,0x2573 }, //?PgUp? ,?PgUp? -{'5' ,CAPLOK ,'5' ,0x00ab ,0x2039 ,WCH_NONE ,WCH_NONE ,0x21D2 }, -{'7' ,CAPLOK ,'7' ,0x20AC ,0x0025 ,0x00A5 ,WCH_NONE ,0x00AC }, -{'8' ,CAPLOK ,'8' ,0x201E ,0x201A ,WCH_NONE ,0x002F ,0x2203 }, -{'9' ,CAPLOK ,'9' ,0x201C ,0x2018 ,WCH_NONE ,0x002A ,0x2200 }, -{'0' ,CAPLOK ,'0' ,0x201D ,0x2019 ,WCH_NONE ,0x002D ,0x2228 }, -{VK_OEM_MINUS ,0 ,'-' ,0x2013 ,0x2014 ,0x00AD ,0X2011 ,0x2227 }, -{VK_OEM_2 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD }, -{0xff ,0 ,0x0301 ,0x0300 ,0x0327 ,0x0328 ,0x0307 ,0x030a }, -{VK_TAB ,0 ,'\t' ,'\t' ,'\t' ,'\t' ,'\t' ,'\t' }, -{'X' ,CAPLOK ,'x' ,'X' ,'@' ,0x03BE ,WCH_NONE ,0x039E }, -{'V' ,CAPLOK ,'v' ,'V' ,'_' ,WCH_NONE ,'\b' ,0x039B }, -{'L' ,CAPLOK ,'l' ,'L' ,'[' ,0x03BB ,0x2573 ,0x2573 }, //?Pfeil h? ,?Pfeil h? -{'C' ,CAPLOK ,'c' ,'C' ,']' ,0x03C7 ,'\t' ,'\t' }, -{'W' ,CAPLOK ,'w' ,'W' ,0x005E ,WCH_NONE ,0x2573 ,0x2573 }, //?Einfg? ,?Einfg? -{'H' ,CAPLOK ,'h' ,'H' ,'<' ,0x03C8 ,'7' ,0x03A8 }, -{'G' ,CAPLOK ,'g' ,'G' ,'>' ,0x03B3 ,'8' ,0x0393 }, -{'F' ,CAPLOK ,'f' ,'F' ,'=' ,0x03C6 ,'9' ,0x03A6 }, -{'Q' ,CAPLOK ,'q' ,'Q' ,'&' ,0x0278 ,'+' ,0x2202 }, -{'U' ,CAPLOK ,'u' ,'U' ,'\\' ,WCH_NONE ,0x2573 ,0x2573 }, //?Pos1? ,?Pos1? -{'I' ,CAPLOK ,'i' ,'I' ,'/' ,0x03B9 ,0x2573 ,0x2573 }, //?Pfeil l? ,?Pfeil l? -{'A' ,CAPLOK ,'a' ,'A' ,'{' ,0x03B1 ,0x2573 ,0x2573 }, //?Pfeil u? ,?Pfeil u? -{'E' ,CAPLOK ,'e' ,'E' ,'}' ,0x03B5 ,0x2573 ,0x2573 }, //?Pfeil r? ,?Pfeil r? -{'O' ,CAPLOK ,'o' ,'O' ,'*' ,0x03C9 ,0x2573 ,0x2573 }, //?Ende? ,?Ende? -{'S' ,CAPLOK ,'s' ,'S' ,'?' ,0x03C3 ,0x00BF ,0x03A3 }, -{'D' ,CAPLOK ,'d' ,'D' ,':' ,0x03B4 ,',' ,0x0394 }, -{VK_OEM_6 ,CAPLOK ,0x00F6 ,0x00D6 ,'$' ,WCH_NONE ,0x007f ,0x007f }, -{VK_OEM_7 ,CAPLOK ,0x00E4 ,0x00C4 ,'|' ,0x03B7 ,0x2573 ,0x2573 }, //?PgDn? ,?PgDn? -{'P' ,CAPLOK ,'p' ,'P' ,'~' ,0x03C0 ,'\r' ,0x03A0 }, -{'Z' ,CAPLOK ,'z' ,'Z' ,'`' ,0x03B6 ,WCH_NONE ,0x03A9 }, -{'B' ,CAPLOK ,'b' ,'B' ,'+' ,0x03B2 ,WCH_NONE ,0x221E }, -{'M' ,CAPLOK ,'m' ,'M' ,'%' ,0x00b5 ,'1' ,0x222B }, -{VK_OEM_COMMA ,0 ,',' ,';' ,'\'' ,0x03F1 ,'2' ,0x221A }, -{VK_OEM_PERIOD ,0 ,'.' ,0x2026 ,'\"' ,0x03B8 ,'3' ,0x0398 }, -{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 } -}; - -static ALLOC_SECTION_LDATA VK_TO_WCHARS7 aVkToWch7[] = { -// | | SHIFT | ALT+CTRL | ALT+CTL+S | KANA | KANA+SHFT | Control | -// | |===============|================|===============|===============|================|===============| -{VK_OEM_3 ,CAPLOK ,0x00df ,0x1E9E ,0x017F ,0x03C2 ,0x0259 ,0x018F ,0x001b }, -{VK_OEM_4 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,0x001d }, -{0xff ,0 ,0x0303 ,0x0304 ,0x0308 ,0x030B ,0x0337 ,0x0326 ,0 }, -{'Y' ,CAPLOK ,'y' ,'Y' ,WCH_NONE ,0x03C5 ,0x00FE ,0x00DE ,0x001c }, -{VK_SPACE ,0 ,' ' ,' ' ,0x00A0 ,' ' ,'0' ,0x2009 ,' ' }, -{VK_BACK ,0 ,'\b' ,'\b' ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,0x007f }, -{VK_ESCAPE ,0 ,0x001b ,0x001b ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,0x001b }, -{VK_RETURN ,0 ,'\r' ,'\r' ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,'\n' }, -{VK_CANCEL ,0 ,0x0003 ,0x0003 ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,0x0003 }, -{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 } -}; - -static ALLOC_SECTION_LDATA VK_TO_WCHARS8 aVkToWch8[] = { -// | | SHIFT | ALT+CTRL | ALT+CTL+S | KANA | KANA+SHFT | Control | Control+Shift | -// | |===============|================|===============|===============|================|===============|===============| -{'2' ,CAPLOK ,'2' ,0x2116 ,0x00b2 ,0x26A5 ,0x2023 ,WCH_NONE ,WCH_NONE ,0x0000 }, -{'6' ,CAPLOK ,'6' ,0x0024 ,0x00A3 ,0x00A4 ,WCH_NONE ,0x21D4 ,WCH_NONE ,0x001e }, -{'J' ,CAPLOK ,'j' ,'J' ,';' ,0x03D1 ,'.' ,0x2207 ,WCH_NONE ,0x001f }, -{0 ,0 ,0 ,0 ,0 ,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)aVkToWch5, 5, sizeof(aVkToWch5[0]) }, - { (PVK_TO_WCHARS1)aVkToWch6, 6, sizeof(aVkToWch6[0]) }, - { (PVK_TO_WCHARS1)aVkToWch7, 7, sizeof(aVkToWch7[0]) }, - { (PVK_TO_WCHARS1)aVkToWch8, 8, sizeof(aVkToWch8[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"R\x00DC" L"CK", - 0x0f, L"TABULATOR", - 0x1c, L"EINGABE", - 0x1d, L"STRG", - 0x2a, L"UMSCHALT", - 0x36, L"UMSCHALT RECHTS", - 0x37, L" (ZEHNERTASTATUR)", - 0x38, L"ALT", - 0x39, L"LEER", - 0x3a, L"FESTSTELL", - 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"ROLLEN-FESTSTELL", - 0x47, L"7 (ZEHNERTASTATUR)", - 0x48, L"8 (ZEHNERTASTATUR)", - 0x49, L"9 (ZEHNERTASTATUR)", - 0x4a, L"- (ZEHNERTASTATUR)", - 0x4b, L"4 (ZEHNERTASTATUR)", - 0x4c, L"5 (ZEHNERTASTATUR)", - 0x4d, L"6 (ZEHNERTASTATUR)", - 0x4e, L"+ (ZEHNERTASTATUR)", - 0x4f, L"1 (ZEHNERTASTATUR)", - 0x50, L"2 (ZEHNERTASTATUR)", - 0x51, L"3 (ZEHNERTASTATUR)", - 0x52, L"0 (ZEHNERTASTATUR)", - 0x53, L"KOMMA (ZEHNERTASTATUR)", - 0x57, L"F11", - 0x58, L"F12", - 0 , NULL -}; - -static ALLOC_SECTION_LDATA VSC_LPWSTR aKeyNamesExt[] = { - 0x1c, L"EINGABE (ZEHNERTASTATUR)", - 0x1d, L"STRG-RECHTS", - 0x35, L" (ZEHNERTASTATUR)", - 0x37, L"DRUCK", - 0x38, L"ALT GR", - 0x45, L"NUM-FESTSTELL", - 0x46, L"UNTBR", - 0x47, L"POS1", - 0x48, L"NACH-OBEN", - 0x49, L"BILD-NACH-OBEN", - 0x4b, L"NACH-LINKS", - 0x4d, L"NACH-RECHTS", - 0x4f, L"ENDE", - 0x50, L"NACH-UNTEN", - 0x51, L"BILD-NACH-UNTEN", - 0x52, L"EINFG", - 0x53, L"ENTF", - 0x54, L"<00>", - 0x56, L"HILFE", - 0x5b, L"LINKE WINDOWS", - 0x5c, L"RECHTE WINDOWS", - 0x5d, L"ANWENDUNG", - 0 , NULL -}; - -static ALLOC_SECTION_LDATA DEADKEY_LPWSTR aKeyNamesDead[] = { - L"\x00b4" L"AKUT", - L"`" L"GRAVIS", - L"^" L"ZIRKUMFLEX", - NULL -}; - -static ALLOC_SECTION_LDATA DEADKEY aDeadKey[] = { - DEADTRANS( L'a' , L'^' , 0x00e2 , 0x0000), - DEADTRANS( L'e' , L'^' , 0x00ea , 0x0000), - DEADTRANS( L'i' , L'^' , 0x00ee , 0x0000), - DEADTRANS( L'o' , L'^' , 0x00f4 , 0x0000), - DEADTRANS( L'u' , L'^' , 0x00fb , 0x0000), - DEADTRANS( L'A' , L'^' , 0x00c2 , 0x0000), - DEADTRANS( L'E' , L'^' , 0x00ca , 0x0000), - DEADTRANS( L'I' , L'^' , 0x00ce , 0x0000), - DEADTRANS( L'O' , L'^' , 0x00d4 , 0x0000), - DEADTRANS( L'U' , L'^' , 0x00db , 0x0000), - DEADTRANS( L' ' , L'^' , L'^' , 0x0000), - - DEADTRANS( L'a' , 0x00b4 , 0x00e1 , 0x0000), - DEADTRANS( L'e' , 0x00b4 , 0x00e9 , 0x0000), - DEADTRANS( L'i' , 0x00b4 , 0x00ed , 0x0000), - DEADTRANS( L'o' , 0x00b4 , 0x00f3 , 0x0000), - DEADTRANS( L'u' , 0x00b4 , 0x00fa , 0x0000), - DEADTRANS( L'y' , 0x00b4 , 0x00fd , 0x0000), - DEADTRANS( L'A' , 0x00b4 , 0x00c1 , 0x0000), - DEADTRANS( L'E' , 0x00b4 , 0x00c9 , 0x0000), - DEADTRANS( L'I' , 0x00b4 , 0x00cd , 0x0000), - DEADTRANS( L'O' , 0x00b4 , 0x00d3 , 0x0000), - DEADTRANS( L'U' , 0x00b4 , 0x00da , 0x0000), - DEADTRANS( L'Y' , 0x00b4 , 0x00dd , 0x0000), - DEADTRANS( L' ' , 0x00b4 , 0x00b4 , 0x0000), - - DEADTRANS( L'a' , L'`' , 0x00e0 , 0x0000), - DEADTRANS( L'e' , L'`' , 0x00e8 , 0x0000), - DEADTRANS( L'i' , L'`' , 0x00ec , 0x0000), - DEADTRANS( L'o' , L'`' , 0x00f2 , 0x0000), - DEADTRANS( L'u' , L'`' , 0x00f9 , 0x0000), - DEADTRANS( L'A' , L'`' , 0x00c0 , 0x0000), - DEADTRANS( L'E' , L'`' , 0x00c8 , 0x0000), - DEADTRANS( L'I' , L'`' , 0x00cc , 0x0000), - DEADTRANS( L'O' , L'`' , 0x00d2 , 0x0000), - DEADTRANS( L'U' , L'`' , 0x00d9 , 0x0000), - DEADTRANS( L' ' , L'`' , L'`' , 0x0000), - - 0, 0 -}; - -static ALLOC_SECTION_LDATA KBDTABLES KbdTables = { - /* - * Modifier keys - */ - &CharModifiers, - - /* - * Characters tables - */ - aVkToWcharTable, - - /* - * Diacritics - */ - aDeadKey, - - /* - * Names of Keys - */ - aKeyNames, - aKeyNamesExt, - aKeyNamesDead, - - /* - * Scan codes to Virtual Keys - */ - ausVK, - sizeof(ausVK) / sizeof(ausVK[0]), - aE0VscToVk, - aE1VscToVk, - - /* - * Locale-specific special processing - */ - MAKELONG(KLLF_ALTGR, KBD_VERSION), - - /* - * Ligatures - */ - 0, - 0, - NULL -}; - -PKBDTABLES KbdLayerDescriptor(VOID) -{ - return &KbdTables; -} diff --git a/windows/XP/kbdneo2/kbdneo2.def b/windows/XP/kbdneo2/kbdneo2.def deleted file mode 100644 index 6207414..0000000 --- a/windows/XP/kbdneo2/kbdneo2.def +++ /dev/null @@ -1,4 +0,0 @@ -LIBRARY KBDNEO2 - -EXPORTS - KbdLayerDescriptor @1 diff --git a/windows/XP/kbdneo2/kbdneo2.h b/windows/XP/kbdneo2/kbdneo2.h deleted file mode 100644 index 730f514..0000000 --- a/windows/XP/kbdneo2/kbdneo2.h +++ /dev/null @@ -1,105 +0,0 @@ -/****************************** Module Header ******************************\ -* Module Name: KBDNEO2.H -* -* keyboard layout header for NEO German -* -* Various defines for use by keyboard input code. -* -* History: Ver 0.1 -* -\***************************************************************************/ - -/* - * 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" -#include -/***************************************************************************\ -* 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 T0D -#define T0D _EQ( OEM_2 ) -#undef T10 -#define T10 _EQ( 'X' ) -#undef T11 -#define T11 _EQ( 'V' ) -#undef T12 -#define T12 _EQ( 'L' ) -#undef T13 -#define T13 _EQ( 'C' ) -#undef T14 -#define T14 _EQ( 'W' ) -#undef T15 -#define T15 _EQ( 'K' ) -#undef T16 -#define T16 _EQ( 'H' ) -#undef T17 -#define T17 _EQ( 'G' ) -#undef T18 -#define T18 _EQ( 'F' ) -#undef T19 -#define T19 _EQ( 'Q' ) -#undef T1A -#define T1A _EQ( OEM_3 ) -#undef T1B -#define T1B _EQ( OEM_4 ) -#undef T1E -#define T1E _EQ( 'U' ) -#undef T1F -#define T1F _EQ( 'I' ) -#undef T20 -#define T20 _EQ( 'A' ) -#undef T21 -#define T21 _EQ( 'E' ) -#undef T22 -#define T22 _EQ( 'O' ) -#undef T23 -#define T23 _EQ( 'S' ) -#undef T24 -#define T24 _EQ( 'N' ) -#undef T25 -#define T25 _EQ( 'R' ) -#undef T26 -#define T26 _EQ( 'T' ) -#undef T27 -#define T27 _EQ( 'D' ) -#undef T28 -#define T28 _EQ( 'Y' ) -#undef T29 -#define T29 _EQ( OEM_1 ) -#undef T2B -#define T2B _EQ( RMENU ) -#undef T2C -#define T2C _EQ( OEM_5 ) -#undef T2D -#define T2D _EQ( OEM_6 ) -#undef T2E -#define T2E _EQ( OEM_7 ) -#undef T2F -#define T2F _EQ( 'P' ) -#undef T30 -#define T30 _EQ( 'Z' ) -#undef T31 -#define T31 _EQ( 'B' ) -#undef T35 -#define T35 _EQ( 'J' ) -#undef T3A -#define T3A _EQ( RMENU ) -#undef X38 -#define X38 _EQ( KANA ) -#undef T56 -#define T56 _EQ( KANA ) \ No newline at end of file diff --git a/windows/XP/kbdneo2/kbdneo2.rc b/windows/XP/kbdneo2/kbdneo2.rc deleted file mode 100644 index ec83d64..0000000 --- a/windows/XP/kbdneo2/kbdneo2.rc +++ /dev/null @@ -1,11 +0,0 @@ -#include -#include - -#define VER_FILETYPE VFT_DLL -#define VER_FILESUBTYPE VFT2_DRV_KEYBOARD -#define VER_FILEDESCRIPTION_STR "NEO2 German ergonomic Keyboard Layout" -#define VER_INTERNALNAME_STR "kbdneo2" -#define VER_ORIGINALFILENAME_STR "kbdneo2.dll" - -#define VER_LANGNEUTRAL -#include "common.ver" diff --git a/windows/XP/kbdneo2/makefile b/windows/XP/kbdneo2/makefile deleted file mode 100644 index 23d6985..0000000 --- a/windows/XP/kbdneo2/makefile +++ /dev/null @@ -1,15 +0,0 @@ -# -# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source -# file to this component. This file merely indirects to the real make file -# that is shared by all the components of NT OS/2 -# -!IF DEFINED(_NT_TARGET_VERSION) -! IF $(_NT_TARGET_VERSION)>=0x501 -! INCLUDE $(NTMAKEENV)\makefile.def -! ELSE -! message BUILDMSG: Warning : The sample "$(MAKEDIR)" is not valid for the current OS target. -! ENDIF -!ELSE -! INCLUDE $(NTMAKEENV)\makefile.def -!ENDIF - diff --git a/windows/XP/kbdneo2/makefile.inc b/windows/XP/kbdneo2/makefile.inc deleted file mode 100644 index fdf82aa..0000000 --- a/windows/XP/kbdneo2/makefile.inc +++ /dev/null @@ -1 +0,0 @@ -!INCLUDE ..\..\makefile.inc diff --git a/windows/XP/kbdneo2/objchk_wxp_x86/i386/_objects.mac b/windows/XP/kbdneo2/objchk_wxp_x86/i386/_objects.mac deleted file mode 100644 index 5f103a4..0000000 --- a/windows/XP/kbdneo2/objchk_wxp_x86/i386/_objects.mac +++ /dev/null @@ -1,18 +0,0 @@ - - -386_OBJECTS=\ - $(OBJ_PATH)\$O\kbdneo2.obj \ - - -_RES_FILE=$(OBJ_PATH)\$O\kbdneo2.res - - - -# lowercased -BASEDIR=c:\winddk\6001.17051 -OBJECT_ROOT=c:\winddk\6001.17051 -MAKEDIR_LOWERCASE=c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2 -MAKEDIR_RELATIVE_TO_BASEDIR=src\input\layout\all_kbds\kbdneo2 -OBJ_PATH=c:\winddk\6001.17051\src\input\layout\all_kbds\kbdneo2 -CONCURRENT_MIDL=0 -CONCURRENT_MANIFEST_BUILD=0 diff --git a/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.dll b/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.dll deleted file mode 100644 index eabe715..0000000 Binary files a/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.dll and /dev/null differ diff --git a/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.exp b/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.exp deleted file mode 100644 index a66b0d5..0000000 Binary files a/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.exp and /dev/null differ diff --git a/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.lib b/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.lib deleted file mode 100644 index 0f6c9e9..0000000 Binary files a/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.lib and /dev/null differ diff --git a/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.obj b/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.obj deleted file mode 100644 index 7463f0e..0000000 Binary files a/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.obj and /dev/null differ diff --git a/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.pdb b/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.pdb deleted file mode 100644 index e20572c..0000000 Binary files a/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.pdb and /dev/null differ diff --git a/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.res b/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.res deleted file mode 100644 index b606b74..0000000 Binary files a/windows/XP/kbdneo2/objchk_wxp_x86/i386/kbdneo2.res and /dev/null differ diff --git a/windows/XP/kbdneo2/objchk_wxp_x86/i386/vc80.pdb b/windows/XP/kbdneo2/objchk_wxp_x86/i386/vc80.pdb deleted file mode 100644 index 16af315..0000000 Binary files a/windows/XP/kbdneo2/objchk_wxp_x86/i386/vc80.pdb and /dev/null differ diff --git a/windows/XP/kbdneo2/sources b/windows/XP/kbdneo2/sources deleted file mode 100644 index a4d98f3..0000000 --- a/windows/XP/kbdneo2/sources +++ /dev/null @@ -1,2 +0,0 @@ -TARGETNAME=kbdneo2 -!INCLUDE ..\..\sources.inc -- cgit v1.2.3