Compare commits
No commits in common. 'master' and 'master' have entirely different histories.
@ -1,95 +0,0 @@ |
||||
@echo off |
||||
|
||||
set buildtools=2022 |
||||
|
||||
echo Baue alle Layouts (Neo, NeoQwertz, Bone, Mine, Koy, Noted) ... |
||||
echo. |
||||
|
||||
pushd ..\source |
||||
|
||||
REM Zuerst die x64-Varianten bauen |
||||
|
||||
pushd "C:\Program Files (x86)\Microsoft Visual Studio\%buildtools%\BuildTools\" |
||||
call "C:\Program Files (x86)\Microsoft Visual Studio\%buildtools%\BuildTools\VC\Auxiliary\Build\vcvarsx86_amd64.bat" |
||||
popd |
||||
|
||||
cd kbdbone |
||||
IF NOT EXIST x64 mkdir x64 |
||||
call ..\..\build\build_variant_x64.cmd bone |
||||
cd .. |
||||
|
||||
cd kbdneo2 |
||||
IF NOT EXIST x64 mkdir x64 |
||||
call ..\..\build\build_variant_x64.cmd neo2 |
||||
cd .. |
||||
|
||||
cd kbdgr2 |
||||
IF NOT EXIST x64 mkdir x64 |
||||
call ..\..\build\build_variant_x64.cmd gr2 |
||||
cd .. |
||||
|
||||
cd kbdmine |
||||
IF NOT EXIST x64 mkdir x64 |
||||
call ..\..\build\build_variant_x64.cmd mine |
||||
cd .. |
||||
|
||||
cd kbdkoy |
||||
IF NOT EXIST x64 mkdir x64 |
||||
call ..\..\build\build_variant_x64.cmd koy |
||||
cd .. |
||||
|
||||
cd kbdnoted |
||||
IF NOT EXIST x64 mkdir x64 |
||||
call ..\..\build\build_variant_x64.cmd noted |
||||
cd .. |
||||
|
||||
|
||||
REM x86 und x86_wow64 bauen |
||||
|
||||
pushd "C:\Program Files (x86)\Microsoft Visual Studio\%buildtools%\BuildTools\" |
||||
call "C:\Program Files (x86)\Microsoft Visual Studio\%buildtools%\BuildTools\VC\Auxiliary\Build\vcvars32.bat" |
||||
popd |
||||
|
||||
cd kbdbone |
||||
IF NOT EXIST x86 mkdir x86 |
||||
IF NOT EXIST x86-wow64 mkdir x86-wow64 |
||||
call ..\..\build\build_variant_x86.cmd bone |
||||
call ..\..\build\build_variant_x86_wow64.cmd bone |
||||
cd .. |
||||
|
||||
cd kbdneo2 |
||||
IF NOT EXIST x86 mkdir x86 |
||||
IF NOT EXIST x86-wow64 mkdir x86-wow64 |
||||
call ..\..\build\build_variant_x86.cmd neo2 |
||||
call ..\..\build\build_variant_x86_wow64.cmd neo2 |
||||
cd .. |
||||
|
||||
cd kbdgr2 |
||||
IF NOT EXIST x86 mkdir x86 |
||||
IF NOT EXIST x86-wow64 mkdir x86-wow64 |
||||
call ..\..\build\build_variant_x86.cmd gr2 |
||||
call ..\..\build\build_variant_x86_wow64.cmd gr2 |
||||
cd .. |
||||
|
||||
cd kbdmine |
||||
IF NOT EXIST x86 mkdir x86 |
||||
IF NOT EXIST x86-wow64 mkdir x86-wow64 |
||||
call ..\..\build\build_variant_x86.cmd mine |
||||
call ..\..\build\build_variant_x86_wow64.cmd mine |
||||
cd .. |
||||
|
||||
cd kbdkoy |
||||
IF NOT EXIST x86 mkdir x86 |
||||
IF NOT EXIST x86-wow64 mkdir x86-wow64 |
||||
call ..\..\build\build_variant_x86.cmd koy |
||||
call ..\..\build\build_variant_x86_wow64.cmd koy |
||||
cd .. |
||||
|
||||
cd kbdnoted |
||||
IF NOT EXIST x86 mkdir x86 |
||||
IF NOT EXIST x86-wow64 mkdir x86-wow64 |
||||
call ..\..\build\build_variant_x86.cmd noted |
||||
call ..\..\build\build_variant_x86_wow64.cmd noted |
||||
cd .. |
||||
|
||||
popd |
@ -1,32 +0,0 @@ |
||||
@echo off |
||||
|
||||
if "%1"=="" ( |
||||
echo Bitte das entsprechende Layout angeben, so benannt wie das Quellverzeichnis ^(ohne "kbd"^). |
||||
exit /b |
||||
) |
||||
|
||||
IF NOT EXIST ..\source\kbd%1 ( |
||||
echo Das Layoutverzeichnis kbd%1 existiert nicht. |
||||
exit /b |
||||
) |
||||
|
||||
set buildtools=2022 |
||||
|
||||
pushd ..\source\kbd%1 |
||||
|
||||
IF NOT EXIST x64 mkdir x64 |
||||
IF NOT EXIST x86 mkdir x86 |
||||
IF NOT EXIST x86-wow64 mkdir x86-wow64 |
||||
|
||||
pushd "C:\Program Files (x86)\Microsoft Visual Studio\%buildtools%\BuildTools\" |
||||
call "C:\Program Files (x86)\Microsoft Visual Studio\%buildtools%\BuildTools\VC\Auxiliary\Build\vcvarsx86_amd64.bat" |
||||
popd |
||||
call ..\..\build\build_variant_x64.cmd %1 |
||||
|
||||
pushd "C:\Program Files (x86)\Microsoft Visual Studio\%buildtools%\BuildTools\" |
||||
call "C:\Program Files (x86)\Microsoft Visual Studio\%buildtools%\BuildTools\VC\Auxiliary\Build\vcvars32.bat" |
||||
popd |
||||
call ..\..\build\build_variant_x86.cmd %1 |
||||
call ..\..\build\build_variant_x86_wow64.cmd %1 |
||||
|
||||
popd |
@ -0,0 +1,32 @@ |
||||
@echo off |
||||
|
||||
pushd ..\source |
||||
|
||||
REM Build Bone, Neo, Qwertz, Mine |
||||
|
||||
cd kbdbone |
||||
IF NOT EXIST x64 mkdir x64 |
||||
call ..\..\build\build_variant_x64.cmd bone |
||||
cd .. |
||||
|
||||
cd kbdneo2 |
||||
IF NOT EXIST x64 mkdir x64 |
||||
call ..\..\build\build_variant_x64.cmd neo2 |
||||
cd .. |
||||
|
||||
cd kbdgr2 |
||||
IF NOT EXIST x64 mkdir x64 |
||||
call ..\..\build\build_variant_x64.cmd gr2 |
||||
cd .. |
||||
|
||||
cd kbdmine |
||||
IF NOT EXIST x64 mkdir x64 |
||||
call ..\..\build\build_variant_x64.cmd mine |
||||
cd .. |
||||
|
||||
cd kbdkoy |
||||
IF NOT EXIST x64 mkdir x64 |
||||
call ..\..\build\build_variant_x64.cmd koy |
||||
cd .. |
||||
|
||||
popd |
@ -0,0 +1,42 @@ |
||||
@echo off |
||||
|
||||
pushd ..\source |
||||
|
||||
REM Build Bone, Neo, Qwertz, Mine |
||||
|
||||
cd kbdbone |
||||
IF NOT EXIST x86 mkdir x86 |
||||
IF NOT EXIST x86-wow64 mkdir x86-wow64 |
||||
call ..\..\build\build_variant_x86.cmd bone |
||||
call ..\..\build\build_variant_x86_wow64.cmd bone |
||||
cd .. |
||||
|
||||
cd kbdneo2 |
||||
IF NOT EXIST x86 mkdir x86 |
||||
IF NOT EXIST x86-wow64 mkdir x86-wow64 |
||||
call ..\..\build\build_variant_x86.cmd neo2 |
||||
call ..\..\build\build_variant_x86_wow64.cmd neo2 |
||||
cd .. |
||||
|
||||
cd kbdgr2 |
||||
IF NOT EXIST x86 mkdir x86 |
||||
IF NOT EXIST x86-wow64 mkdir x86-wow64 |
||||
call ..\..\build\build_variant_x86.cmd gr2 |
||||
call ..\..\build\build_variant_x86_wow64.cmd gr2 |
||||
cd .. |
||||
|
||||
cd kbdmine |
||||
IF NOT EXIST x86 mkdir x86 |
||||
IF NOT EXIST x86-wow64 mkdir x86-wow64 |
||||
call ..\..\build\build_variant_x86.cmd mine |
||||
call ..\..\build\build_variant_x86_wow64.cmd mine |
||||
cd .. |
||||
|
||||
cd kbdkoy |
||||
IF NOT EXIST x86 mkdir x86 |
||||
IF NOT EXIST x86-wow64 mkdir x86-wow64 |
||||
call ..\..\build\build_variant_x86.cmd koy |
||||
call ..\..\build\build_variant_x86_wow64.cmd koy |
||||
cd .. |
||||
|
||||
popd |
Binary file not shown.
Binary file not shown.
@ -1,8 +0,0 @@ |
||||
@echo off |
||||
|
||||
call zip_layout neo2 neo |
||||
call zip_layout gr2 qwertz |
||||
call zip_layout bone |
||||
call zip_layout mine |
||||
call zip_layout koy |
||||
call zip_layout noted |
@ -1,47 +0,0 @@ |
||||
@echo off |
||||
|
||||
IF [%~1]==[] ( |
||||
echo Bitte das entsprechende Layout angeben, so benannt wie das Quellverzeichnis ^(ohne "kbd"^). |
||||
exit /b |
||||
) |
||||
|
||||
IF NOT EXIST ..\source\kbd%1 ( |
||||
echo Das Layoutverzeichnis kbd%1 existiert nicht. |
||||
exit /b |
||||
) |
||||
|
||||
REM Falls notwendig, vollständigen Pfad zur (7z) Executable angeben |
||||
SET zipcmd=7z |
||||
REM Switches: Ziparchiv, normale Kompression, rekursiv |
||||
SET zipswitches=a -tzip -mx5 -r |
||||
|
||||
SET layout=kbd%1 |
||||
IF NOT [%~2]==[] SET layout=kbd%2 |
||||
|
||||
pushd ..\source\kbd%1 |
||||
|
||||
IF EXIST %layout%64 rmdir /S /Q %layout%64 |
||||
IF EXIST %layout%32 rmdir /S /Q %layout%32 |
||||
|
||||
echo Kopiere Dateien ... |
||||
|
||||
mkdir %layout%64\System32 |
||||
mkdir %layout%64\SysWOW64 |
||||
copy x64\kbd%1.dll %layout%64\System32\ >NUL |
||||
copy x86-wow64\kbd%1.dll %layout%64\SysWOW64\ >NUL |
||||
copy ..\..\build\%layout%_win10_install.reg %layout%64\ >NUL |
||||
copy ..\..\build\%layout%_win10_uninstall.reg %layout%64\ >NUL |
||||
|
||||
mkdir %layout%32\System32 |
||||
copy x86\kbd%1.dll %layout%32\System32\ >NUL |
||||
copy ..\..\build\%layout%_win10_install.reg %layout%32\ >NUL |
||||
copy ..\..\build\%layout%_win10_uninstall.reg %layout%32\ >NUL |
||||
|
||||
echo Erstelle Zip-Archive ... |
||||
|
||||
%zipcmd% %zipswitches% %layout%64.zip %layout%64\ >NUL |
||||
IF %errorlevel% EQU 0 rmdir /S /Q %layout%64 |
||||
%zipcmd% %zipswitches% %layout%32.zip %layout%32\ >NUL |
||||
IF %errorlevel% EQU 0 rmdir /S /Q %layout%32 |
||||
|
||||
popd |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,268 +0,0 @@ |
||||
/****************************************************************************\
|
||||
* Module Name: KBDNOTED.C |
||||
* Noted-Layout, basierend auf Neo2 |
||||
\****************************************************************************/ |
||||
|
||||
#include <windows.h> |
||||
#include "kbd.h" |
||||
#include "../kbd_mod.h" |
||||
#include "../keysym4utf16.h" |
||||
#include "kbdnoted.h" |
||||
#include "../kbd_base.c" |
||||
|
||||
|
||||
/* **************************************************************************\
|
||||
* Spezielle Werte für den VK (Spalte 1) |
||||
* 0xff - Tote Zeichen für obige Zeile |
||||
* 0 - Beendet die gesamte Liste |
||||
* |
||||
* Spezielle Werte für Attributes (Spalte 2) |
||||
* CAPLOK - CAPS-LOCK wirkt auf diese Taste wie SHIFT |
||||
* KANALOK - Mod4-LOCK wirkt auf diese Taste wie Mod4 |
||||
* |
||||
* Spezielle Werte für wch[*] |
||||
* WCH_NONE - Keine Belegung |
||||
* WCH_DEAD - Totes Zeichen |
||||
* WCH_LGTR - Ligatur |
||||
\************************************************************************** */ |
||||
|
||||
static ALLOC_SECTION_LDATA VK_TO_WCHARS6 aVkToWch6[] = { |
||||
// Reihenfolge der Ebene wie oben ( ALLOC_SECTION_LDATA MODIFIERS CharModifiers = { &aVkToBits[0],)… festgelegt
|
||||
// | CapsLock | | SHIFT | NEU | KANA | NEU+Shift | KANA+NEU |
|
||||
// |===================|===========|=======================|=======================|===============|===================|===================|
|
||||
// Zeile 1
|
||||
{VK_OEM_1 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD }, //Tote Taste 1
|
||||
{0xff ,0 ,'^' ,caron ,totdreh ,abovedot ,rhotichook ,'.' },
|
||||
{'1' ,KANALOK ,'1' ,degree ,onesuperior ,ordfeminine ,onesubscript ,notsign }, |
||||
{'3' ,KANALOK ,'3' ,litersign ,threesuperior ,numerosign ,threesubscript ,logicaland }, |
||||
{'4' ,KANALOK ,'4' ,guillemotright ,guillemotright2 ,WCH_NONE ,femalesymbol ,uptack },
|
||||
{'5' ,KANALOK ,'5' ,guillemotleft ,guillemotleft2 ,periodcentered ,malesymbol ,measuredangle }, |
||||
{'7' ,KANALOK ,'7' ,EuroSign ,yen ,currency ,scriptkappa ,rightarrow }, |
||||
{'8' ,KANALOK ,'8' ,doublelowquotemark ,singlelowquotemark ,WCH_NONE ,leftanglebracket ,infinity }, |
||||
{'9' ,KANALOK ,'9' ,leftdoublequotemark ,leftsinglequotemark ,'/' ,rightanglebracket ,variation }, |
||||
{'0' ,KANALOK ,'0' ,rightdoublequotemark ,rightsinglequotemark ,'*' ,zerosubscript ,emptyset }, |
||||
{VK_OEM_MINUS ,KANALOK ,'-' ,emdash ,WCH_NONE ,'-' ,nobreakhyphen ,hyphen }, |
||||
{VK_OEM_2 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD }, //Tote Taste 2
|
||||
{0xff ,0 ,grave ,cedilla ,ringabove ,diaeresis ,greek_dasia ,macron }, |
||||
{VK_TAB ,0 ,'\t' ,'\t' ,WCH_DEAD ,'\t' ,'\t' ,'\t' }, |
||||
{0xff ,0 ,WCH_NONE ,WCH_NONE ,Multi_key ,WCH_NONE ,WCH_NONE ,WCH_NONE }, |
||||
{'Z' ,CAPLOK | KANALOK ,'z' ,'Z' ,ellipsis ,WCH_NONE ,Greek_zeta ,doublestruck_z }, |
||||
{'U' ,CAPLOK | KANALOK ,'u' ,'U' ,'[' ,WCH_NONE ,WCH_NONE ,multiply }, |
||||
{'A' ,CAPLOK | KANALOK ,'a' ,'A' ,']' ,WCH_NONE ,Greek_alpha ,forall }, |
||||
{'Q' ,CAPLOK | KANALOK ,'q' ,'Q' ,asciicircum ,WCH_NONE ,scriptphi ,doublestruck_q }, |
||||
{'P' ,CAPLOK | KANALOK ,'p' ,'P' ,'!' ,exclamdown ,Greek_pi ,Greek_PI }, |
||||
{'B' ,CAPLOK | KANALOK ,'b' ,'B' ,'<' ,'7' ,Greek_beta ,partialderivative }, |
||||
{'M' ,CAPLOK | KANALOK ,'m' ,'M' ,'>' ,'8' ,Greek_mu ,arrowfrombarright }, |
||||
{'L' ,CAPLOK | KANALOK ,'l' ,'L' ,'=' ,'9' ,Greek_lamda ,Greek_LAMDA }, |
||||
{'F' ,CAPLOK | KANALOK ,'f' ,'F' ,'&' ,'+' ,Greek_phi ,Greek_PHI }, |
||||
{'C' ,CAPLOK | KANALOK ,'c' ,'C' ,backslash ,WCH_NONE ,Greek_chi ,doublestruck_c }, |
||||
{'S' ,CAPLOK | KANALOK ,'s' ,'S' ,'/' ,WCH_NONE ,Greek_sigma ,Greek_SIGMA }, |
||||
{'I' ,CAPLOK | KANALOK ,'i' ,'I' ,'{' ,WCH_NONE ,Greek_iota ,integral }, |
||||
{'E' ,CAPLOK | KANALOK ,'e' ,'E' ,'}' ,WCH_NONE ,Greek_epsilon ,thereexists }, |
||||
{'O' ,CAPLOK | KANALOK ,'o' ,'O' ,'*' ,WCH_NONE ,Greek_omicron ,elementof }, |
||||
{'D' ,CAPLOK | KANALOK ,'d' ,'D' ,'?' ,questiondown ,Greek_delta ,Greek_DELTA }, |
||||
{'T' ,CAPLOK | KANALOK ,'t' ,'T' ,'(' ,'4' ,Greek_tau ,nabla }, |
||||
{'N' ,CAPLOK | KANALOK ,'n' ,'N' ,')' ,'5' ,Greek_nu ,doublestruck_n }, |
||||
{'R' ,CAPLOK | KANALOK ,'r' ,'R' ,'-' ,'6' ,Greek_rho ,doublestruck_r }, |
||||
{'H' ,CAPLOK | KANALOK ,'h' ,'H' ,':' ,'.' ,Greek_psi ,Greek_PSI }, |
||||
{'V' ,CAPLOK | KANALOK ,'v' ,'V' ,'#' ,WCH_NONE ,WCH_NONE ,radical }, |
||||
{'X' ,CAPLOK | KANALOK ,'x' ,'X' ,'$' ,WCH_NONE ,Greek_xi ,Greek_XI }, |
||||
{VK_OEM_5 /*ü*/ ,CAPLOK | KANALOK ,udiaeresis ,Udiaeresis ,'|' ,WCH_NONE ,WCH_NONE ,union }, |
||||
{VK_OEM_7 /*ä*/ ,CAPLOK | KANALOK ,adiaeresis ,Adiaeresis ,'~' ,WCH_NONE ,Greek_eta ,intersection }, |
||||
{VK_OEM_6 /*ö*/ ,CAPLOK | KANALOK ,odiaeresis ,Odiaeresis ,'`' ,WCH_NONE ,straightepsilon ,includedin }, |
||||
{'W' ,CAPLOK | KANALOK ,'w' ,'W' ,'+' ,':' ,Greek_omega ,Greek_OMEGA }, |
||||
{'G' ,CAPLOK | KANALOK ,'g' ,'G' ,'%' ,'1' ,Greek_gamma ,Greek_GAMMA }, |
||||
{VK_OEM_COMMA ,KANALOK ,',' ,endash ,quotedbl ,'2' ,scriptrho ,doublearrowleft }, |
||||
{VK_OEM_PERIOD ,KANALOK ,'.' ,enfilledcircbullet ,apostrophe ,'3' ,scripttheta ,ifonlyif }, |
||||
{'K' ,CAPLOK | KANALOK ,'k' ,'K' ,';' ,',' ,Greek_kappa ,implies }, |
||||
{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 } |
||||
};
|
||||
|
||||
static ALLOC_SECTION_LDATA VK_TO_WCHARS7 aVkToWch7[] = { |
||||
// | CapsLock | | SHIFT | NEU | KANA | NEU+Shift | KANA+NEU | Control |
|
||||
// |===================|===========|===========|===========|===========|=======================|===============|===============|
|
||||
{VK_OEM_3 /*ß*/ ,CAPLOK | KANALOK ,ssharp ,Ssharp ,slong ,';' ,Greek_finalsmallsigma ,jot ,escape }, |
||||
{VK_OEM_4 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,infoseparator3 }, //Tote Taste 3
|
||||
{0xff ,0 ,acute ,'~' ,'-' ,doubleacute,greek_psili ,breve ,WCH_NONE }, |
||||
{'Y' ,CAPLOK | KANALOK ,'y' ,'Y' ,'_' ,WCH_NONE ,Greek_upsilon ,alefsymbol ,infoseparator4 }, |
||||
{VK_SPACE ,KANALOK ,space ,space ,space ,'0' ,nobreakspace ,nnobreakspace ,space }, |
||||
{VK_BACK ,0 ,'\b' ,'\b' ,'\b' ,'\b' ,'\b' ,'\b' ,delete }, |
||||
{VK_ESCAPE ,0 ,escape ,escape ,escape ,escape ,escape ,escape ,escape }, |
||||
{VK_RETURN ,0 ,'\r' ,'\r' ,'\r' ,'\r' ,'\r' ,'\r' ,'\n' }, |
||||
{VK_CANCEL ,0 ,endoftext ,endoftext ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,endoftext }, |
||||
{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 } |
||||
}; |
||||
|
||||
static ALLOC_SECTION_LDATA VK_TO_WCHARS8 aVkToWch8[] = { |
||||
// | CapsLock | | SHIFT | NEU | KANA | NEU+Shift | KANA+NEU | Control | Control+Shift |
|
||||
// |===================|===========|===========|===========|===========|===================|===============|===========|===============|
|
||||
{'2' ,KANALOK ,'2' ,section ,twosuperior,masculine ,twosubscript ,logicalor ,WCH_NONE ,0x0000 }, |
||||
{'6' ,KANALOK ,'6' ,dollar ,cent ,sterling ,maleandfemalesign ,parallelto ,WCH_NONE ,infoseparator2 }, |
||||
{'J' ,CAPLOK | KANALOK ,'j' ,'J' ,'@' ,minussign ,Greek_theta ,Greek_THETA,WCH_NONE ,infoseparator1 }, |
||||
{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0} |
||||
}; |
||||
|
||||
|
||||
// Hier müssen die verwendeten WChar_Tables vorkommen; Numpad MUSS letzte Zeile sein.
|
||||
// Die Funktion VkKeyScan() versucht, zu einem Zeichen den zugehörigen Virtual Key
|
||||
// und Modifier zu finden. Die Numpad-Definition muss zum Schluss kommen, damit Zeichen
|
||||
// wie '0' als vom Hauptfeld kommend interpretiert werden, falls dort vorhanden.
|
||||
static ALLOC_SECTION_LDATA VK_TO_WCHAR_TABLE aVkToWcharTable[] = { |
||||
{ (PVK_TO_WCHARS1)aVkToWch8, 8, sizeof(aVkToWch8[0]) }, |
||||
{ (PVK_TO_WCHARS1)aVkToWch6, 6, sizeof(aVkToWch6[0]) }, |
||||
{ (PVK_TO_WCHARS1)aVkToWch7, 7, sizeof(aVkToWch7[0]) }, |
||||
{ (PVK_TO_WCHARS1)aVkToWch4, 4, sizeof(aVkToWch4[0]) }, |
||||
{ NULL, 0, 0 }, |
||||
}; |
||||
|
||||
|
||||
/* **************************************************************************\
|
||||
* aKeyNames[], aKeyNamesExt[] - Virtual Scancode to Key Name tables |
||||
* |
||||
* Table attributes: Ordered Scan (by scancode), null-terminated |
||||
* |
||||
* Nur für Tasten, die keine Zeichen erzeugen, Tasten die Zeichen erzeugen |
||||
* werden danach benannt |
||||
\************************************************************************** */ |
||||
|
||||
static ALLOC_SECTION_LDATA VSC_LPWSTR aKeyNames[] = { |
||||
0x01, L"ESC", |
||||
0x0e, L"R\x00DC" L"CKTASTE", |
||||
0x0f, L"TABULATOR", |
||||
0x1c, L"EINGABE", |
||||
0x1d, L"STRG", |
||||
0x28, L"MOD 3 RECHTS", |
||||
0x2a, L"UMSCHALT", |
||||
0x36, L"UMSCHALT RECHTS", |
||||
0x37, L"* (ZEHNERTASTATUR)", |
||||
0x38, L"ALT", |
||||
0x39, L"LEER", |
||||
0x3a, L"MOD 3 LINKS", |
||||
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)", |
||||
0x56, L"MOD 4 LINKS", |
||||
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"MOD 4 RECHTS", |
||||
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[] = { |
||||
//Tottaste 1 (links neben 1)
|
||||
L"^" L"ZIRKUMFLEX", |
||||
L"\x02C7" L"HATSCHEK", |
||||
L"\x21bb" L"DREHEN",
|
||||
L"\x02d9" L"PUNKT_DARUEBER",
|
||||
L"\x02de" L"RHOTIC_HOOK",
|
||||
L"\x002E" L"PUNKT_DARUNTER", |
||||
|
||||
//Tottaste 2 (links neben Rücktaste)
|
||||
L"\x0060" L"GRAVIS", |
||||
L"\x00B8" L"CEDILLE", |
||||
L"\x02DA" L"RING", |
||||
L"\x00A8" L"TREMA", |
||||
L"\x1ffe" L"SPIRITUS_ASPER", |
||||
L"\x00AF" L"MAKRON", |
||||
|
||||
//Tottaste 3 (rechts neben „ß“)
|
||||
L"\x00B4" L"AKUT", |
||||
L"\x007E" L"TILDE", |
||||
L"\x002D" L"QUERSTRICH", |
||||
L"\x02DD" L"DOPPEL_AKUT",
|
||||
L"\x1fbf" L"SPIRITUS_LENIS", |
||||
L"\x02D8" L"BREVE",
|
||||
NULL |
||||
}; |
||||
|
||||
|
||||
static ALLOC_SECTION_LDATA KBDTABLES KbdTables = { |
||||
// Modifier keys
|
||||
&CharModifiers, |
||||
|
||||
|
||||
// Characters tables
|
||||
aVkToWcharTable, |
||||
|
||||
|
||||
// Diakritika vorhanden
|
||||
aDeadKey, |
||||
|
||||
|
||||
// Namen der Keys
|
||||
aKeyNames, |
||||
aKeyNamesExt, |
||||
aKeyNamesDead, |
||||
|
||||
|
||||
// Scancodes zu Virtual Keys
|
||||
ausVK, |
||||
sizeof(ausVK) / sizeof(ausVK[0]), |
||||
aE0VscToVk, |
||||
aE1VscToVk, |
||||
|
||||
|
||||
// Kein Rechtes Alt daher AltGr auskommentiert
|
||||
// MAKELONG(KLLF_ALTGR, KBD_VERSION),
|
||||
0, |
||||
|
||||
// keine Ligaturen
|
||||
0, |
||||
0, |
||||
NULL |
||||
}; |
||||
|
||||
|
||||
PKBDTABLES KbdLayerDescriptor(VOID) |
||||
{ |
||||
return &KbdTables; |
||||
} |