summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--windows/kbdneo2/Quelldateien/1st_README.txt16
-rw-r--r--windows/kbdneo2/Quelldateien/kbdneo2.c611
-rw-r--r--windows/kbdneo2/Quelldateien/kbdneo2.h10
-rw-r--r--windows/kbdneo2/Treiber/32bit_Windows/kbdneo2.dllbin20480 -> 20992 bytes
-rw-r--r--windows/kbdneo2/Treiber/64bit_Windows/kbdneo2.dllbin21504 -> 22016 bytes
-rw-r--r--windows/kbdneo2/Treiber/AHK_für_kbdneo2/kbdneo2.ahk15
6 files changed, 357 insertions, 295 deletions
diff --git a/windows/kbdneo2/Quelldateien/1st_README.txt b/windows/kbdneo2/Quelldateien/1st_README.txt
index d664ab2..a74f554 100644
--- a/windows/kbdneo2/Quelldateien/1st_README.txt
+++ b/windows/kbdneo2/Quelldateien/1st_README.txt
@@ -5,15 +5,19 @@
3. Alle Quelldateien in diesen Ordner kopieren.
4. Die Datei 'dirs' im Ordner \src\input\layout\all_kbds\ des WinnDDKs um die Zeile 'kbdneo2' erweitern. Die Datei könnte nun so aussehen:
-> DIRS= \
-> kbdfr \
-> kbdgr \
-> kbdneo2
+
+***Anfang der Datei***
+ DIRS= \
+ kbdfr \
+ kbdgr \
+ kbdneo2
+***Ende der Datei***
Bei der neusten Version des WDKs ist dies anscheinend nicht mehr nötig
5. Mit einem normalem Texteditor können nun die Quelldateien bearbeitet werden. Kommentare befinden sich in den jeweiligen Dateien.
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
+
+cd src\input\layout\all_kbds\kbdneo2
+build
diff --git a/windows/kbdneo2/Quelldateien/kbdneo2.c b/windows/kbdneo2/Quelldateien/kbdneo2.c
index 8bb1e75..e16ee79 100644
--- a/windows/kbdneo2/Quelldateien/kbdneo2.c
+++ b/windows/kbdneo2/Quelldateien/kbdneo2.c
@@ -135,8 +135,8 @@ static ALLOC_SECTION_LDATA VK_TO_BIT aVkToBits[] = {
{ VK_SHIFT , KBDSHIFT },
{ VK_CONTROL , KBDCTRL },
{ VK_MENU , KBDALT },
- { VK_KANA , KBDKANA }, //Mod 3
- { VK_OEM_102 , 16 }, //Mod 4
+ { VK_OEM_8 , KBDKANA }, //Mod 4
+ { VK_OEM_102 , 16 }, //Mod 3
{ 0 , 0 }
};
@@ -154,13 +154,13 @@ static ALLOC_SECTION_LDATA MODIFIERS CharModifiers = {
// Modifier NEO
// Ebene 0 - nix
// Ebene 1 - Shift
- // Ebene 2 - Kana = Mod 3
- // Ebene 3 - Neu = Mod 4
- // Ebene 4 - Kana+Shift
- // Ebene 5 - Neu+Kana
+ // Ebene 2 - Neu = Mod 3
+ // Ebene 3 - Kana = Mod 4
+ // Ebene 4 - Neu+Shift
+ // Ebene 5 - Kasa+Neu
//
// Modification# // Keys Pressed
- // ============= //===========
+ // =============== //=======================================
// Neu Kana Alt Strg Shift
0, // 0 0 0 0 0
1, // 0 0 0 0 1
@@ -170,16 +170,16 @@ static ALLOC_SECTION_LDATA MODIFIERS CharModifiers = {
SHFT_INVALID, // 0 0 1 0 1
SHFT_INVALID, // 0 0 1 1 0
SHFT_INVALID, // 0 0 1 1 1
- 2, // 0 1 0 0 0
- 4, // 0 1 0 0 1
+ 3, // 0 1 0 0 0
+ 8, // 0 1 0 0 1
SHFT_INVALID, // 0 1 0 1 0
SHFT_INVALID, // 0 1 0 1 1
SHFT_INVALID, // 0 1 1 0 0
SHFT_INVALID, // 0 1 1 0 1
SHFT_INVALID, // 0 1 1 1 0
SHFT_INVALID, // 0 1 1 1 1
- 3, // 1 0 0 0 0
- 8, // 1 0 0 0 1
+ 2, // 1 0 0 0 0
+ 4, // 1 0 0 0 1
SHFT_INVALID, // 1 0 0 1 0
SHFT_INVALID, // 1 0 0 1 1
SHFT_INVALID, // 1 0 1 0 0
@@ -222,63 +222,63 @@ static ALLOC_SECTION_LDATA MODIFIERS CharModifiers = {
static ALLOC_SECTION_LDATA VK_TO_WCHARS6 aVkToWch6[] = {
// Reihenfolge der Ebene wie oben ( ALLOC_SECTION_LDATA MODIFIERS CharModifiers = { &aVkToBits[0],)… festgelegt
-// | CapsLock | | SHIFT | KANA | NEU | KANA+Shift| NEU+Kana |
-// |===========|===========|===========|===========|===========|===========|===========|
+// | CapsLock | | SHIFT | NEU | KANA | NEU+Shift | KANA+NEU |
+// |===================|===========|===========|===========|===========|===========|===========|
{VK_OEM_1 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD }, //Tote Taste 1
{0xff ,0 ,'^' ,'~' ,0x02da ,0x02c7 ,0x02d8 ,0x00af },
-{'1' ,0 ,'1' ,0x00b0 ,0x00B9 ,0x2022 ,0x2081 ,0x00ac },
-{'3' ,0 ,'3' ,0x2113 ,0x00b3 ,0x2116 ,0x2083 ,0x2227 },
-{'4' ,0 ,'4' ,0x00bb ,0x203A ,WCH_NONE ,0x2020 ,0x22a5 }, //WCH_NONE sollte »Bild auf« sein (AHK?)
-{'5' ,0 ,'5' ,0x00ab ,0x2039 ,0x00b7 ,0x2640 ,0x2221 },
-{'7' ,0 ,'7' ,0x0024 ,0x00a5 ,0x00a4 ,0x03ba ,0x2192 },
-{'8' ,0 ,'8' ,0x201E ,0x201A ,WCH_NONE ,0x27E8 ,0x221e },
-{'9' ,0 ,'9' ,0x201C ,0x2018 ,'/' ,0x27E9 ,0x220b },
-{'0' ,0 ,'0' ,0x201D ,0x2019 ,'*' ,0x2080 ,0x2205 },
-{VK_OEM_MINUS ,0 ,'-' ,0x2014 ,WCH_DEAD ,'-' ,0x0011 ,0x00ad },
-{VK_OEM_2 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD }, //Tote Taste 2
+{'1' ,KANALOK ,'1' ,0x00b0 ,0x00B9 ,0x2022 ,0x2081 ,0x00ac },
+{'3' ,KANALOK ,'3' ,0x2113 ,0x00b3 ,0x2116 ,0x2083 ,0x2227 },
+{'4' ,KANALOK ,'4' ,0x00bb ,0x203A ,WCH_NONE ,0x2020 ,0x22a5 }, //WCH_NONE sollte »Bild auf« sein (AHK?)
+{'5' ,KANALOK ,'5' ,0x00ab ,0x2039 ,0x00b7 ,0x2640 ,0x2221 },
+{'7' ,KANALOK ,'7' ,0x0024 ,0x00a5 ,0x00a4 ,0x03ba ,0x2192 },
+{'8' ,KANALOK ,'8' ,0x201E ,0x201A ,WCH_NONE ,0x27E8 ,0x221e },
+{'9' ,KANALOK ,'9' ,0x201C ,0x2018 ,'/' ,0x27E9 ,0x220b },
+{'0' ,KANALOK ,'0' ,0x201D ,0x2019 ,'*' ,0x2080 ,0x2205 },
+{VK_OEM_MINUS ,KANALOK ,'-' ,0x2014 ,WCH_DEAD ,'-' ,0x0011 ,0x00ad },
+{VK_OEM_2 ,0 ,WCH_DEAD ,WCH_NONE ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_NONE }, //Tote Taste 2
{0xff ,0 ,0x0060 ,WCH_NONE ,0x00a8 ,0x030f ,0x1ffe ,WCH_NONE },
{VK_TAB ,0 ,'\t' ,'\t' ,WCH_DEAD ,'\t' ,'\t' ,'\t' },
{0xff ,0 ,WCH_NONE ,WCH_NONE ,0x266b ,WCH_NONE ,WCH_NONE ,WCH_NONE },
-{'X' ,CAPLOK ,'x' ,'X' ,WCH_NONE ,WCH_NONE ,0x03BE ,0x039E },
-{'V' ,CAPLOK ,'v' ,'V' ,'_' ,'\b' ,WCH_NONE ,0x2259 },
-{'L' ,CAPLOK ,'l' ,'L' ,'[' ,WCH_NONE ,0x03BB ,0x039b }, //WCH_NONE sollte »Pfeil hoch« sein (AHK?)
-{'C' ,CAPLOK ,'c' ,'C' ,']' ,0x007f ,0x03C7 ,0x2102 }, //0x007f sollte »Entfernen« sein (AHK?)
-{'W' ,CAPLOK ,'w' ,'W' ,0x005E ,WCH_NONE ,0x03c9 ,0x03a9 }, //WCH_NONE sollte »Einfügen« sein (AHK?)
-{'K' ,CAPLOK ,'k' ,'K' ,'!' ,0x00A1 ,0x03f0 ,0x221a },
-{'H' ,CAPLOK ,'h' ,'H' ,'<' ,'7' ,0x03C8 ,0x03A8 },
-{'G' ,CAPLOK ,'g' ,'G' ,'>' ,'8' ,0x03B3 ,0x0393 },
-{'F' ,CAPLOK ,'f' ,'F' ,'=' ,'9' ,0x03C6 ,0x03A6 },
-{'Q' ,CAPLOK ,'q' ,'Q' ,'&' ,'+' ,0x03d5 ,0x211a },
-{'U' ,CAPLOK ,'u' ,'U' ,'\\' ,WCH_NONE ,WCH_NONE ,0x222e }, //WCH_NONE sollte »Pos 1« sein (AHK?)
-{'I' ,CAPLOK ,'i' ,'I' ,'/' ,WCH_NONE ,0x03B9 ,0x222b }, //WCH_NONE sollte »Pfeil links« sein (AHK?)
-{'A' ,CAPLOK ,'a' ,'A' ,'{' ,WCH_NONE ,0x03B1 ,0x2200 }, //WCH_NONE sollte »Pfeil runter« sein (AHK?)
-{'E' ,CAPLOK ,'e' ,'E' ,'}' ,WCH_NONE ,0x03B5 ,0x2203 }, //WCH_NONE sollte »Pfeil rechts« sein (AHK?)
-{'O' ,CAPLOK ,'o' ,'O' ,'*' ,WCH_NONE ,0x03bf ,0x2208 }, //WCH_NONE sollte »Ende« sein (AHK?)
-{'S' ,CAPLOK ,'s' ,'S' ,'?' ,0x00BF ,0x03C3 ,0x03A3 },
-{'N' ,CAPLOK ,'n' ,'N' ,'(' ,'4' ,0x03BD ,0x2115 },
-{'R' ,CAPLOK ,'r' ,'R' ,')' ,'5' ,0x03f1 ,0x211d },
-{'T' ,CAPLOK ,'t' ,'T' ,'-' ,'6' ,0x03C4 ,0x2202 },
-{'D' ,CAPLOK ,'d' ,'D' ,':' ,',' ,0x03B4 ,0x0394 },
-{VK_OEM_5 ,CAPLOK ,0x00FC ,0x00DC ,'#' ,0x001b ,WCH_NONE ,0x211c },
-{VK_OEM_7 ,CAPLOK ,0x00E4 ,0x00C4 ,'|' ,WCH_NONE ,0x03B7 ,0x2135 }, //WCH_NONE sollte »Bild runter« sein (AHK?)
-{'P' ,CAPLOK ,'p' ,'P' ,'~' ,'\r' ,0x03C0 ,0x03A0 },
-{'Z' ,CAPLOK ,'z' ,'Z' ,'`' ,WCH_NONE ,0x03B6 ,0x2124 },
-{'B' ,CAPLOK ,'b' ,'B' ,'+' ,':' ,0x03B2 ,0x21d0 },
-{'M' ,CAPLOK ,'m' ,'M' ,'%' ,'1' ,0x00b5 ,0x21d4 },
-{VK_OEM_COMMA ,0 ,',' ,0x2013 ,'\"' ,'2' ,0x03c1 ,0x21d2 },
-{VK_OEM_PERIOD ,0 ,'.' ,0x2026 ,'\'' ,'3' ,0x03d1 ,0x0398 },
+{'X' ,CAPLOK | KANALOK ,'x' ,'X' ,WCH_NONE ,WCH_NONE ,0x03BE ,0x039E },
+{'V' ,CAPLOK | KANALOK ,'v' ,'V' ,'_' ,'\b' ,WCH_NONE ,0x2259 },
+{'L' ,CAPLOK | KANALOK ,'l' ,'L' ,'[' ,WCH_NONE ,0x03BB ,0x039b }, //WCH_NONE sollte »Pfeil hoch« sein (AHK?)
+{'C' ,CAPLOK | KANALOK ,'c' ,'C' ,']' ,0x007f ,0x03C7 ,0x2102 }, //0x007f sollte »Entfernen« sein (AHK?)
+{'W' ,CAPLOK | KANALOK ,'w' ,'W' ,0x005E ,WCH_NONE ,0x03c9 ,0x03a9 }, //WCH_NONE sollte »Einfügen« sein (AHK?)
+{'K' ,CAPLOK | KANALOK ,'k' ,'K' ,'!' ,0x00A1 ,0x03f0 ,0x221a },
+{'H' ,CAPLOK | KANALOK ,'h' ,'H' ,'<' ,'7' ,0x03C8 ,0x03A8 },
+{'G' ,CAPLOK | KANALOK ,'g' ,'G' ,'>' ,'8' ,0x03B3 ,0x0393 },
+{'F' ,CAPLOK | KANALOK ,'f' ,'F' ,'=' ,'9' ,0x03C6 ,0x03A6 },
+{'Q' ,CAPLOK | KANALOK ,'q' ,'Q' ,'&' ,'+' ,0x03d5 ,0x211a },
+{'U' ,CAPLOK | KANALOK ,'u' ,'U' ,'\\' ,WCH_NONE ,WCH_NONE ,0x222e }, //WCH_NONE sollte »Pos 1« sein (AHK?)
+{'I' ,CAPLOK | KANALOK ,'i' ,'I' ,'/' ,WCH_NONE ,0x03B9 ,0x222b }, //WCH_NONE sollte »Pfeil links« sein (AHK?)
+{'A' ,CAPLOK | KANALOK ,'a' ,'A' ,'{' ,WCH_NONE ,0x03B1 ,0x2200 }, //WCH_NONE sollte »Pfeil runter« sein (AHK?)
+{'E' ,CAPLOK | KANALOK ,'e' ,'E' ,'}' ,WCH_NONE ,0x03B5 ,0x2203 }, //WCH_NONE sollte »Pfeil rechts« sein (AHK?)
+{'O' ,CAPLOK | KANALOK ,'o' ,'O' ,'*' ,WCH_NONE ,0x03bf ,0x2208 }, //WCH_NONE sollte »Ende« sein (AHK?)
+{'S' ,CAPLOK | KANALOK ,'s' ,'S' ,'?' ,0x00BF ,0x03C3 ,0x03A3 },
+{'N' ,CAPLOK | KANALOK ,'n' ,'N' ,'(' ,'4' ,0x03BD ,0x2115 },
+{'R' ,CAPLOK | KANALOK ,'r' ,'R' ,')' ,'5' ,0x03f1 ,0x211d },
+{'T' ,CAPLOK | KANALOK ,'t' ,'T' ,'-' ,'6' ,0x03C4 ,0x2202 },
+{'D' ,CAPLOK | KANALOK ,'d' ,'D' ,':' ,',' ,0x03B4 ,0x0394 },
+{VK_OEM_5 ,CAPLOK | KANALOK ,0x00FC ,0x00DC ,'#' ,0x001b ,WCH_NONE ,0x211c },
+{VK_OEM_7 ,CAPLOK | KANALOK ,0x00E4 ,0x00C4 ,'|' ,WCH_NONE ,0x03B7 ,0x2135 }, //WCH_NONE sollte »Bild runter« sein (AHK?)
+{'P' ,CAPLOK | KANALOK ,'p' ,'P' ,'~' ,'\r' ,0x03C0 ,0x03A0 },
+{'Z' ,CAPLOK | KANALOK ,'z' ,'Z' ,'`' ,WCH_NONE ,0x03B6 ,0x2124 },
+{'B' ,CAPLOK | KANALOK ,'b' ,'B' ,'+' ,':' ,0x03B2 ,0x21d0 },
+{'M' ,CAPLOK | KANALOK ,'m' ,'M' ,'%' ,'1' ,0x00b5 ,0x21d4 },
+{VK_OEM_COMMA ,KANALOK ,',' ,0x2013 ,'\"' ,'2' ,0x03c1 ,0x21d2 },
+{VK_OEM_PERIOD ,KANALOK ,'.' ,0x2026 ,'\'' ,'3' ,0x03d1 ,0x0398 },
{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 }
};
static ALLOC_SECTION_LDATA VK_TO_WCHARS7 aVkToWch7[] = {
-// | CapsLock | | SHIFT | KANA | NEU | KANA+Shift| NEU+Kana | Control |
-// |===========|===========|===========|===========|===========|===========|===========|===========|
-{VK_OEM_3 ,CAPLOK ,0x00df ,0x1E9E ,0x017F ,WCH_NONE ,0x03C2 ,0x2218 ,0x2218 },
+// | CapsLock | | SHIFT | NEU | KANA | NEU+Shift | KANA+NEU | Control |
+// |===================|===========|===========|===========|===========|===========|===========|===========|
+{VK_OEM_3 ,CAPLOK | KANALOK ,0x00df ,0x1E9E ,0x017F ,WCH_NONE ,0x03C2 ,0x2218 ,0x2218 },
{VK_OEM_4 ,0 ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,WCH_DEAD ,0x001d }, //Tote Taste 3
{0xff ,0 ,0x00b4 ,0x00b8 ,'-' ,0x02dd ,0x1fbf ,0x02d9 ,WCH_NONE },
-{'Y' ,CAPLOK ,'y' ,'Y' ,'@' ,'.' ,0x03C5 ,0x2207 ,0x001c },
-{VK_OEM_6 ,CAPLOK ,0x00F6 ,0x00D6 ,'$' ,'\t' ,WCH_NONE ,0x2111 ,WCH_NONE },
-{VK_SPACE ,0 ,' ' ,' ' ,' ' ,'0' ,0x00a0 ,0x202f ,' ' },
+{'Y' ,CAPLOK | KANALOK ,'y' ,'Y' ,'@' ,'.' ,0x03C5 ,0x2207 ,0x001c },
+{VK_OEM_6 ,CAPLOK | KANALOK ,0x00F6 ,0x00D6 ,'$' ,'\t' ,WCH_NONE ,0x2111 ,WCH_NONE },
+{VK_SPACE ,KANALOK ,' ' ,' ' ,' ' ,'0' ,0x00a0 ,0x202f ,' ' },
{VK_BACK ,0 ,'\b' ,'\b' ,'\b' ,'\b' ,'\b' ,'\b' ,0x007f },
{VK_ESCAPE ,0 ,0x001b ,0x001b ,0x001b ,0x001b ,0x001b ,0x001b ,0x001b },
{VK_RETURN ,0 ,'\r' ,'\r' ,WCH_NONE ,WCH_NONE ,WCH_NONE ,WCH_NONE ,'\n' },
@@ -287,11 +287,11 @@ static ALLOC_SECTION_LDATA VK_TO_WCHARS7 aVkToWch7[] = {
};
static ALLOC_SECTION_LDATA VK_TO_WCHARS8 aVkToWch8[] = {
-// | CapsLock | | SHIFT | KANA | NEU | KANA+Shift| NEU+Kana | Control | Control+Shift|
-// |===========|===========|===========|===========|===========|===========|===========|===========|==============|
-{'2' ,0 ,'2' ,0x00a7 ,0x00b2 ,0x2023 ,0x2082 ,0x2228 ,WCH_NONE ,0x0000 },
-{'6' ,0 ,'6' ,0x20ac ,0x00A2 ,0x00a3 ,0x2642 ,0x2225 ,WCH_NONE ,0x001e },
-{'J' ,CAPLOK ,'j' ,'J' ,';' ,';' ,0x03b8 ,0x221d ,WCH_NONE ,0x001f },
+// | CapsLock | | SHIFT | NEU | KANA | NEU+Shift | KANA+NEU | Control | Control+Shift|
+// |===================|===========|===========|===========|===========|===========|===========|===========|==============|
+{'2' ,KANALOK ,'2' ,0x00a7 ,0x00b2 ,0x2023 ,0x2082 ,0x2228 ,WCH_NONE ,0x0000 },
+{'6' ,KANALOK ,'6' ,0x20ac ,0x00A2 ,0x00a3 ,0x2642 ,0x2225 ,WCH_NONE ,0x001e },
+{'J' ,CAPLOK | KANALOK ,'j' ,'J' ,';' ,';' ,0x03b8 ,0x221d ,WCH_NONE ,0x001f },
{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 }
};
@@ -299,24 +299,12 @@ static ALLOC_SECTION_LDATA VK_TO_WCHARS8 aVkToWch8[] = {
// as coming from the main section of the kbd before considering
// the numpad.
-/*
-Entgegen der neo20.txt vorgesehene Belegung 1,2,3,5 ist hier 1,2,3,4 umgesetzt:
-
-== Vier Ebenen – Ziffernblock ==
- +-----+
-¦ 1 4 ¦
-¦ 2 3 ¦
- +-----+
-1. Ebene (kein Mod) (Ziffern)
-2. Ebene (Umschalt) (Steuertasten)
-3. Ebene (Mod3) (Pfeile u.ä.)
-4. Ebene (Mod4) (anderes Zeug)
-*/
+// Entgegen der neo20.txt vorgesehene Belegung 1,2,3,4,5,6 ist hier 1,4,3,2 umgesetzt:
static ALLOC_SECTION_LDATA VK_TO_WCHARS4 aVkToWch4[] = {
-// | | SHIFT | KANA | NEU |
-// | |===============|================|===============|
+// | CapsLock | | SHIFT | KANA | NEU |
+// |===========|===========|===========|===========|===========|
{VK_ADD ,0 ,'+' ,'+' ,0x00b1 ,0x2213 },
{VK_DIVIDE ,0 ,'/' ,'/' ,0x00f7 ,0x2215 },
{VK_MULTIPLY ,0 ,'*' ,'*' ,0x00d7 ,0x2219 },
@@ -1697,7 +1685,8 @@ DEADTRANS( 0x06C1 , 0x0027 , 0 ,0x0000 ),
//Deadkeys
-// Anfang der Taste links neben der 1
+// T1: Taste links neben der 1
+// Zirkumflex, Tilde, Ring Above, Caron, Brevis, Macron
DEADTRANS( L' ' , L'^' , L'^' , 0x0000), //Zirkumflex
DEADTRANS( L'^' , L'^' , 0x0302 , 0x0000), //2x für Combining
DEADTRANS( L'1' , L'^' , 0x00b9 , 0x0000),
@@ -1743,6 +1732,66 @@ DEADTRANS( 0x06C1 , 0x0027 , 0 ,0x0000 ),
DEADTRANS( L'Z' , L'^' , 0x1e90 , 0x0000),
DEADTRANS( L'z' , L'^' , 0x1e91 , 0x0000),
+ DEADTRANS( L' ' , L'~' , L'~' , 0x0000), //Tilde
+ DEADTRANS( L'~' , L'~' , 0x0303 , 0x0000), //2x für Combining
+ DEADTRANS( L'A' , L'~' , 0x00c3 , 0x0000),
+ DEADTRANS( L'N' , L'~' , 0x00d1 , 0x0000),
+ DEADTRANS( L'O' , L'~' , 0x00d5 , 0x0000),
+ DEADTRANS( L'a' , L'~' , 0x00e3 , 0x0000),
+ DEADTRANS( L'n' , L'~' , 0x00f1 , 0x0000),
+ DEADTRANS( L'o' , L'~' , 0x00f5 , 0x0000),
+ DEADTRANS( L'I' , L'~' , 0x0128 , 0x0000),
+ DEADTRANS( L'i' , L'~' , 0x0129 , 0x0000),
+ DEADTRANS( L'U' , L'~' , 0x0168 , 0x0000),
+ DEADTRANS( L'u' , L'~' , 0x0169 , 0x0000),
+ DEADTRANS( L'V' , L'~' , 0x1e7c , 0x0000),
+ DEADTRANS( L'v' , L'~' , 0x1e7d , 0x0000),
+ DEADTRANS( L'E' , L'~' , 0x1ebc , 0x0000),
+ DEADTRANS( L'e' , L'~' , 0x1ebd , 0x0000),
+ DEADTRANS( L'Y' , L'~' , 0x1ef8 , 0x0000),
+ DEADTRANS( L'y' , L'~' , 0x1ef9 , 0x0000),
+
+ DEADTRANS( L' ' , 0x02DA , 0x02DA , 0x0000), //Ring
+ DEADTRANS( 0x02DA , 0x02DA , 0x030A , 0x0000), //2x für Combining
+ DEADTRANS( L'E' , 0x02DA , 0x0116 , 0x0000),
+ DEADTRANS( L'e' , 0x02DA , 0x0117 , 0x0000),
+ DEADTRANS( L'G' , 0x02DA , 0x0120 , 0x0000),
+ DEADTRANS( L'g' , 0x02DA , 0x0121 , 0x0000),
+ DEADTRANS( L'I' , 0x02DA , 0x0130 , 0x0000),
+ DEADTRANS( L'i' , 0x02DA , 0x0131 , 0x0000),
+ DEADTRANS( L'Z' , 0x02DA , 0x017B , 0x0000),
+ DEADTRANS( L'z' , 0x02DA , 0x017C , 0x0000),
+ DEADTRANS( L'A' , 0x02DA , 0x0226 , 0x0000),
+ DEADTRANS( L'a' , 0x02DA , 0x0227 , 0x0000),
+ DEADTRANS( L'O' , 0x02DA , 0x022e , 0x0000),
+ DEADTRANS( L'o' , 0x02DA , 0x022f , 0x0000),
+ DEADTRANS( L'B' , 0x02DA , 0x1e02 , 0x0000),
+ DEADTRANS( L'b' , 0x02DA , 0x1e03 , 0x0000),
+ DEADTRANS( L'D' , 0x02DA , 0x1e0a , 0x0000),
+ DEADTRANS( L'd' , 0x02DA , 0x1e0b , 0x0000),
+ DEADTRANS( L'F' , 0x02DA , 0x1e1e , 0x0000),
+ DEADTRANS( L'f' , 0x02DA , 0x1e1f , 0x0000),
+ DEADTRANS( L'H' , 0x02DA , 0x1e22 , 0x0000),
+ DEADTRANS( L'h' , 0x02DA , 0x1e23 , 0x0000),
+ DEADTRANS( L'M' , 0x02DA , 0x1e40 , 0x0000),
+ DEADTRANS( L'm' , 0x02DA , 0x1e41 , 0x0000),
+ DEADTRANS( L'N' , 0x02DA , 0x1e44 , 0x0000),
+ DEADTRANS( L'n' , 0x02DA , 0x1e45 , 0x0000),
+ DEADTRANS( L'P' , 0x02DA , 0x1e56 , 0x0000),
+ DEADTRANS( L'p' , 0x02DA , 0x1e57 , 0x0000),
+ DEADTRANS( L'R' , 0x02DA , 0x1e58 , 0x0000),
+ DEADTRANS( L'r' , 0x02DA , 0x1e59 , 0x0000),
+ DEADTRANS( L'S' , 0x02DA , 0x1e60 , 0x0000),
+ DEADTRANS( L's' , 0x02DA , 0x1e61 , 0x0000),
+ DEADTRANS( L'T' , 0x02DA , 0x1e6a , 0x0000),
+ DEADTRANS( L't' , 0x02DA , 0x1e6b , 0x0000),
+ DEADTRANS( L'W' , 0x02DA , 0x1e86 , 0x0000),
+ DEADTRANS( L'w' , 0x02DA , 0x1e87 , 0x0000),
+ DEADTRANS( L'X' , 0x02DA , 0x1e8a , 0x0000),
+ DEADTRANS( L'x' , 0x02DA , 0x1e8b , 0x0000),
+ DEADTRANS( L'Y' , 0x02DA , 0x1e8e , 0x0000),
+ DEADTRANS( L'y' , 0x02DA , 0x1e8f , 0x0000),
+
DEADTRANS( L' ' , 0x02c7 , 0x02c7 , 0x0000), //Caron
DEADTRANS( 0x02c7 , 0x02c7 , 0x030C , 0x0000), //2x für Combining
DEADTRANS( L'C' , 0x02c7 , 0x010c , 0x0000),
@@ -1796,70 +1845,112 @@ DEADTRANS( 0x06C1 , 0x0027 , 0 ,0x0000 ),
DEADTRANS( L'U' , 0x02D8 , 0x016c , 0x0000),
DEADTRANS( L'u' , 0x02D8 , 0x016d , 0x0000),
- DEADTRANS( L' ' , 0x00b7 , 0x00b7 , 0x0000), //Dot Middle
- DEADTRANS( 0x00b7 , 0x00b7 , 0x00b7 , 0x0000), //kein Combining vorhanden
- DEADTRANS( L'L' , 0x00b7 , 0x013F , 0x0000),
- DEADTRANS( L'l' , 0x00b7 , 0x0140 , 0x0000),
+ DEADTRANS( L' ' , 0x00AF , 0x00AF , 0x0000), //Makron
+ DEADTRANS( 0x00AF , 0x00AF , 0x0304 , 0x0000), //2x für Combining
+ DEADTRANS( L'A' , 0x00AF , 0x0100 , 0x0000),
+ DEADTRANS( L'a' , 0x00AF , 0x0101 , 0x0000),
+ DEADTRANS( L'E' , 0x00AF , 0x0112 , 0x0000),
+ DEADTRANS( L'e' , 0x00AF , 0x0113 , 0x0000),
+ DEADTRANS( L'I' , 0x00AF , 0x012a , 0x0000),
+ DEADTRANS( L'i' , 0x00AF , 0x012b , 0x0000),
+ DEADTRANS( L'O' , 0x00AF , 0x014c , 0x0000),
+ DEADTRANS( L'o' , 0x00AF , 0x014d , 0x0000),
+ DEADTRANS( L'U' , 0x00AF , 0x016a , 0x0000),
+ DEADTRANS( L'u' , 0x00AF , 0x016b , 0x0000),
+ DEADTRANS( L'Y' , 0x00AF , 0x0232 , 0x0000),
+ DEADTRANS( L'y' , 0x00AF , 0x0233 , 0x0000),
+ DEADTRANS( L'G' , 0x00AF , 0x1e20 , 0x0000),
+ DEADTRANS( L'g' , 0x00AF , 0x1e21 , 0x0000),
+// Ende von T1 (links neben der 1)
- DEADTRANS( L' ' , '-' , '-' , 0x0000), //Querstrich
- DEADTRANS( L'-' , '-' , 0x0335 , 0x0000), //2x für Combining
- DEADTRANS( L'1' , '-' , 0x2081 , 0x0000),
- DEADTRANS( L'2' , '-' , 0x2082 , 0x0000),
- DEADTRANS( L'3' , '-' , 0x2083 , 0x0000),
- DEADTRANS( L'4' , '-' , 0x2084 , 0x0000),
- DEADTRANS( L'5' , '-' , 0x2085 , 0x0000),
- DEADTRANS( L'6' , '-' , 0x2086 , 0x0000),
- DEADTRANS( L'7' , '-' , 0x2087 , 0x0000),
- DEADTRANS( L'8' , '-' , 0x2088 , 0x0000),
- DEADTRANS( L'9' , '-' , 0x2089 , 0x0000),
- DEADTRANS( L'0' , '-' , 0x2080 , 0x0000),
- DEADTRANS( L'+' , '-' , 0x208a , 0x0000),
- DEADTRANS( L'-' , '-' , 0x208b , 0x0000),
- DEADTRANS( L'=' , '-' , 0x208c , 0x0000),
- DEADTRANS( L'(' , '-' , 0x208d , 0x0000),
- DEADTRANS( L')' , '-' , 0x208e , 0x0000),
- DEADTRANS( L'x' , '-' , 0x2093 , 0x0000),
-
- DEADTRANS( L' ' , '.' , '.' , 0x0000), //Dot Below
- DEADTRANS( L'.' , '.' , 0x0323 , 0x0000), //2x für Combining
- DEADTRANS( L'B' , '.' , 0x1e04 , 0x0000),
- DEADTRANS( L'b' , '.' , 0x1e05 , 0x0000),
- DEADTRANS( L'D' , '.' , 0x1e0c , 0x0000),
- DEADTRANS( L'd' , '.' , 0x1e0d , 0x0000),
- DEADTRANS( L'H' , '.' , 0x1e24 , 0x0000),
- DEADTRANS( L'h' , '.' , 0x1e25 , 0x0000),
- DEADTRANS( L'K' , '.' , 0x1e32 , 0x0000),
- DEADTRANS( L'k' , '.' , 0x1e33 , 0x0000),
- DEADTRANS( L'L' , '.' , 0x1e36 , 0x0000),
- DEADTRANS( L'l' , '.' , 0x1e37 , 0x0000),
- DEADTRANS( L'M' , '.' , 0x1e42 , 0x0000),
- DEADTRANS( L'm' , '.' , 0x1e43 , 0x0000),
- DEADTRANS( L'N' , '.' , 0x1e46 , 0x0000),
- DEADTRANS( L'n' , '.' , 0x1e47 , 0x0000),
- DEADTRANS( L'R' , '.' , 0x1e5a , 0x0000),
- DEADTRANS( L'r' , '.' , 0x1e5b , 0x0000),
- DEADTRANS( L'S' , '.' , 0x1e62 , 0x0000),
- DEADTRANS( L's' , '.' , 0x1e63 , 0x0000),
- DEADTRANS( L'T' , '.' , 0x1e6c , 0x0000),
- DEADTRANS( L't' , '.' , 0x1e6d , 0x0000),
- DEADTRANS( L'V' , '.' , 0x1e7e , 0x0000),
- DEADTRANS( L'v' , '.' , 0x1e7f , 0x0000),
- DEADTRANS( L'W' , '.' , 0x1e88 , 0x0000),
- DEADTRANS( L'w' , '.' , 0x1e89 , 0x0000),
- DEADTRANS( L'Z' , '.' , 0x1e92 , 0x0000),
- DEADTRANS( L'z' , '.' , 0x1e93 , 0x0000),
- DEADTRANS( L'A' , '.' , 0x1ea0 , 0x0000),
- DEADTRANS( L'a' , '.' , 0x1ea1 , 0x0000),
- DEADTRANS( L'E' , '.' , 0x1eb8 , 0x0000),
- DEADTRANS( L'e' , '.' , 0x1eb9 , 0x0000),
- DEADTRANS( L'I' , '.' , 0x1eca , 0x0000),
- DEADTRANS( L'i' , '.' , 0x1ecb , 0x0000),
- DEADTRANS( L'O' , '.' , 0x1ecc , 0x0000),
- DEADTRANS( L'o' , '.' , 0x1ecd , 0x0000),
- DEADTRANS( L'Y' , '.' , 0x1ef4 , 0x0000),
- DEADTRANS( L'y' , '.' , 0x1ef5 , 0x0000),
-// Ende der Taste links neben der 1
-// Anfang der Tasten zwei rechts neben der 0
+// T2: zwei rechts neben der 0
+// Gravis, , Trema, Doppelgravis, Spiritus asper,
+ DEADTRANS( L' ' , 0x0060 , 0x0060 , 0x0000), //Gravis
+ DEADTRANS( 0x0060 , 0x0060 , 0x0300 , 0x0000), //2x für Combining
+ DEADTRANS( L'a' , 0x0060 , 0x00e0 , 0x0000),
+ DEADTRANS( L'e' , 0x0060 , 0x00e8 , 0x0000),
+ DEADTRANS( L'i' , 0x0060 , 0x00ec , 0x0000),
+ DEADTRANS( L'o' , 0x0060 , 0x00f2 , 0x0000),
+ DEADTRANS( L'u' , 0x0060 , 0x00f9 , 0x0000),
+ DEADTRANS( L'A' , 0x0060 , 0x00c0 , 0x0000),
+ DEADTRANS( L'E' , 0x0060 , 0x00c8 , 0x0000),
+ DEADTRANS( L'I' , 0x0060 , 0x00cc , 0x0000),
+ DEADTRANS( L'O' , 0x0060 , 0x00d2 , 0x0000),
+ DEADTRANS( L'U' , 0x0060 , 0x00d9 , 0x0000),
+ DEADTRANS( 0x00dc , 0x0060 , 0x01db , 0x0000),
+ DEADTRANS( 0x00fc , 0x0060 , 0x01dc , 0x0000),
+ DEADTRANS( L'N' , 0x0060 , 0x01f8 , 0x0000),
+ DEADTRANS( L'n' , 0x0060 , 0x01f9 , 0x0000),
+ DEADTRANS( L'W' , 0x0060 , 0x1e80 , 0x0000),
+ DEADTRANS( L'w' , 0x0060 , 0x1e81 , 0x0000),
+ DEADTRANS( L'Y' , 0x0060 , 0x1ef2 , 0x0000),
+ DEADTRANS( L'y' , 0x0060 , 0x1ef3 , 0x0000),
+
+//nicht belegt
+//2x für Combining
+
+ DEADTRANS( L' ' , 0x00A8 , 0x00A8 , 0x0000), //Trema
+ DEADTRANS( 0x00A8 , 0x00A8 , 0x0308 , 0x0000), //2x für Combining
+ DEADTRANS( L'A' , 0x00A8 , 0x00c4 , 0x0000),
+ DEADTRANS( L'E' , 0x00A8 , 0x00cb , 0x0000),
+ DEADTRANS( L'I' , 0x00A8 , 0x00cf , 0x0000),
+ DEADTRANS( L'O' , 0x00A8 , 0x00d6 , 0x0000),
+ DEADTRANS( L'U' , 0x00A8 , 0x00dc , 0x0000),
+ DEADTRANS( L'a' , 0x00A8 , 0x00e4 , 0x0000),
+ DEADTRANS( L'e' , 0x00A8 , 0x00eb , 0x0000),
+ DEADTRANS( L'i' , 0x00A8 , 0x00ef , 0x0000),
+ DEADTRANS( L'o' , 0x00A8 , 0x00f6 , 0x0000),
+ DEADTRANS( L'u' , 0x00A8 , 0x00fc , 0x0000),
+ DEADTRANS( L'y' , 0x00A8 , 0x0177 , 0x0000),
+ DEADTRANS( L'Y' , 0x00A8 , 0x0178 , 0x0000),
+ DEADTRANS( L'H' , 0x00A8 , 0x1e26 , 0x0000),
+ DEADTRANS( L'h' , 0x00A8 , 0x1e27 , 0x0000),
+ DEADTRANS( L'W' , 0x00A8 , 0x1e84 , 0x0000),
+ DEADTRANS( L'w' , 0x00A8 , 0x1e85 , 0x0000),
+ DEADTRANS( L'X' , 0x00A8 , 0x1e8c , 0x0000),
+ DEADTRANS( L'x' , 0x00A8 , 0x1e8d , 0x0000),
+ DEADTRANS( L't' , 0x00A8 , 0x1e97 , 0x0000),
+
+ DEADTRANS( L' ' , 0x030f , 0x02F5 , 0x0000), //Doppelgravis
+ DEADTRANS( 0x030f , 0x030f , 0x030f , 0x0000), //2x für Combining
+ DEADTRANS( L'A' , 0x030f , 0x0200 , 0x0000),
+ DEADTRANS( L'E' , 0x030f , 0x0204 , 0x0000),
+ DEADTRANS( L'I' , 0x030f , 0x0208 , 0x0000),
+ DEADTRANS( L'O' , 0x030f , 0x020c , 0x0000),
+ DEADTRANS( L'R' , 0x030f , 0x0210 , 0x0000),
+ DEADTRANS( L'U' , 0x030f , 0x0214 , 0x0000),
+ DEADTRANS( L'a' , 0x030f , 0x0201 , 0x0000),
+ DEADTRANS( L'e' , 0x030f , 0x0205 , 0x0000),
+ DEADTRANS( L'i' , 0x030f , 0x0209 , 0x0000),
+ DEADTRANS( L'o' , 0x030f , 0x020d , 0x0000),
+ DEADTRANS( L'r' , 0x030f , 0x0211 , 0x0000),
+ DEADTRANS( L'u' , 0x030f , 0x0215 , 0x0000),
+
+ DEADTRANS( L' ' , 0x1ffe , 0x1ffe , 0x0000), //Spiritus asper
+ DEADTRANS( 0x1ffe , 0x1ffe , 0x0314 , 0x0000), //2x für Combining
+ DEADTRANS( 0x03b1 , 0x1ffe , 0x1f01 , 0x0000),
+ DEADTRANS( 0x03b5 , 0x1ffe , 0x1f11 , 0x0000),
+ DEADTRANS( 0x03b7 , 0x1ffe , 0x1f21 , 0x0000),
+ DEADTRANS( 0x03b9 , 0x1ffe , 0x1f31 , 0x0000),
+ DEADTRANS( 0x03bf , 0x1ffe , 0x1f41 , 0x0000),
+ DEADTRANS( 0x03c5 , 0x1ffe , 0x1f51 , 0x0000),
+ DEADTRANS( 0x03c9 , 0x1ffe , 0x1f61 , 0x0000),
+ DEADTRANS( 0x03c1 , 0x1ffe , 0x1fe5 , 0x0000),
+ DEADTRANS( 0x0391 , 0x1ffe , 0x1f09 , 0x0000),
+ DEADTRANS( 0x0395 , 0x1ffe , 0x1f19 , 0x0000),
+ DEADTRANS( 0x0397 , 0x1ffe , 0x1f29 , 0x0000),
+ DEADTRANS( 0x0399 , 0x1ffe , 0x1f39 , 0x0000),
+ DEADTRANS( 0x039f , 0x1ffe , 0x1f49 , 0x0000),
+ DEADTRANS( 0x03a5 , 0x1ffe , 0x1f59 , 0x0000),
+ DEADTRANS( 0x03a9 , 0x1ffe , 0x1f69 , 0x0000),
+ DEADTRANS( 0x03a1 , 0x1ffe , 0x1fec , 0x0000),
+
+//nicht belegt
+//2x für Combining
+// Ende von T2
+
+// T3: rechts nebem ›ß‹
+// Akut, Cedille, Quer-/Schrägstrich, Doppelakut, Spiritus lenis, Punkt darüber
DEADTRANS( L' ' , 0x00B4 , 0x00B4 , 0x0000), //Akut
DEADTRANS( 0x00B4 , 0x00B4 , 0x0301 , 0x0000), //2x für Combining
DEADTRANS( L'a' , 0x00B4 , 0x00e1 , 0x0000),
@@ -1899,27 +1990,6 @@ DEADTRANS( 0x06C1 , 0x0027 , 0 ,0x0000 ),
DEADTRANS( L'W' , 0x00B4 , 0x1e82 , 0x0000),
DEADTRANS( L'w' , 0x00B4 , 0x1e83 , 0x0000),
- DEADTRANS( L' ' , 0x0060 , 0x0060 , 0x0000), //Gravis
- DEADTRANS( 0x0060 , 0x0060 , 0x0300 , 0x0000),
- DEADTRANS( L'a' , 0x0060 , 0x00e0 , 0x0000),
- DEADTRANS( L'e' , 0x0060 , 0x00e8 , 0x0000),
- DEADTRANS( L'i' , 0x0060 , 0x00ec , 0x0000),
- DEADTRANS( L'o' , 0x0060 , 0x00f2 , 0x0000),
- DEADTRANS( L'u' , 0x0060 , 0x00f9 , 0x0000),
- DEADTRANS( L'A' , 0x0060 , 0x00c0 , 0x0000),
- DEADTRANS( L'E' , 0x0060 , 0x00c8 , 0x0000),
- DEADTRANS( L'I' , 0x0060 , 0x00cc , 0x0000),
- DEADTRANS( L'O' , 0x0060 , 0x00d2 , 0x0000),
- DEADTRANS( L'U' , 0x0060 , 0x00d9 , 0x0000),
- DEADTRANS( 0x00dc , 0x0060 , 0x01db , 0x0000),
- DEADTRANS( 0x00fc , 0x0060 , 0x01dc , 0x0000),
- DEADTRANS( L'N' , 0x0060 , 0x01f8 , 0x0000),
- DEADTRANS( L'n' , 0x0060 , 0x01f9 , 0x0000),
- DEADTRANS( L'W' , 0x0060 , 0x1e80 , 0x0000),
- DEADTRANS( L'w' , 0x0060 , 0x1e81 , 0x0000),
- DEADTRANS( L'Y' , 0x0060 , 0x1ef2 , 0x0000),
- DEADTRANS( L'y' , 0x0060 , 0x1ef3 , 0x0000),
-
DEADTRANS( L' ' , 0x00b8 , 0x00b8 , 0x0000), //Cedilla
DEADTRANS( 0x00b8 , 0x00b8 , 0x0327 , 0x0000), //2x für Combining
DEADTRANS( L'C' , 0x00b8 , 0x00c7 , 0x0000),
@@ -1938,12 +2008,56 @@ DEADTRANS( 0x06C1 , 0x0027 , 0 ,0x0000 ),
DEADTRANS( L's' , 0x00b8 , 0x015f , 0x0000),
DEADTRANS( L'T' , 0x00b8 , 0x0162 , 0x0000),
DEADTRANS( L't' , 0x00b8 , 0x0163 , 0x0000),
- DEADTRANS( L'E' , 0x00b8 , 0x0228 , 0x0000),
- DEADTRANS( L'e' , 0x00b8 , 0x0229 , 0x0000),
DEADTRANS( L'D' , 0x00b8 , 0x1e10 , 0x0000),
DEADTRANS( L'd' , 0x00b8 , 0x1e11 , 0x0000),
DEADTRANS( L'H' , 0x00b8 , 0x1e28 , 0x0000),
DEADTRANS( L'h' , 0x00b8 , 0x1e29 , 0x0000),
+ DEADTRANS( L'A' , 0x00b8 , 0x0104 , 0x0000), //Ogonek
+ DEADTRANS( L'a' , 0x00b8 , 0x0105 , 0x0000),
+ DEADTRANS( L'E' , 0x00b8 , 0x0118 , 0x0000),
+ DEADTRANS( L'e' , 0x00b8 , 0x0119 , 0x0000),
+ DEADTRANS( L'I' , 0x00b8 , 0x012e , 0x0000),
+ DEADTRANS( L'i' , 0x00b8 , 0x012f , 0x0000),
+ DEADTRANS( L'U' , 0x00b8 , 0x0172 , 0x0000),
+ DEADTRANS( L'u' , 0x00b8 , 0x0173 , 0x0000),
+ DEADTRANS( L'O' , 0x00b8 , 0x01ea , 0x0000),
+ DEADTRANS( L'o' , 0x00b8 , 0x01eb , 0x0000),
+
+ DEADTRANS( L' ' , L'-' , 0x2212 , 0x0000), //Quer-/Schrägstrich; mit Space wird echter Hyphen erzeugt
+ DEADTRANS( L'-' , L'-' , 0x0335 , 0x0000), //2x für Combining (Combining Short Stroke)
+ DEADTRANS( L'1' , L'-' , 0x2081 , 0x0000),
+ DEADTRANS( L'2' , L'-' , 0x2082 , 0x0000),
+ DEADTRANS( L'3' , L'-' , 0x2083 , 0x0000),
+ DEADTRANS( L'4' , L'-' , 0x2084 , 0x0000),
+ DEADTRANS( L'5' , L'-' , 0x2085 , 0x0000),
+ DEADTRANS( L'6' , L'-' , 0x2086 , 0x0000),
+ DEADTRANS( L'7' , L'-' , 0x2087 , 0x0000),
+ DEADTRANS( L'8' , L'-' , 0x2088 , 0x0000),
+ DEADTRANS( L'9' , L'-' , 0x2089 , 0x0000),
+ DEADTRANS( L'0' , L'-' , 0x2080 , 0x0000),
+ DEADTRANS( L'+' , L'-' , 0x208a , 0x0000),
+ DEADTRANS( L'-' , L'-' , 0x208b , 0x0000),
+ DEADTRANS( L'=' , L'-' , 0x208c , 0x0000),
+ DEADTRANS( L'(' , L'-' , 0x208d , 0x0000),
+ DEADTRANS( L')' , L'-' , 0x208e , 0x0000),
+ DEADTRANS( L'a' , L'-' , 0x2090 , 0x0000),
+ DEADTRANS( L'e' , L'-' , 0x2091 , 0x0000),
+ DEADTRANS( L'x' , L'-' , 0x2093 , 0x0000),
+ DEADTRANS( L'O' , L'-' , 0x00d8 , 0x0000), //Schrägstrich
+ DEADTRANS( L'o' , L'-' , 0x00f8 , 0x0000),
+ DEADTRANS( L'L' , L'-' , 0x0141 , 0x0000),
+ DEADTRANS( L'l' , L'-' , 0x0142 , 0x0000),
+
+ DEADTRANS( L' ' , 0x02DD , 0x02DD , 0x0000), //Doppelakut
+ DEADTRANS( 0x02DD , 0x02DD , 0x030B , 0x0000), //2x für Combining
+ DEADTRANS( L'O' , 0x02DD , 0x0150 , 0x0000),
+ DEADTRANS( L'o' , 0x02DD , 0x0151 , 0x0000),
+ DEADTRANS( L'U' , 0x02DD , 0x0170 , 0x0000),
+ DEADTRANS( L'u' , 0x02DD , 0x0171 , 0x0000),
+
+
+
+
DEADTRANS( L' ' , 0x02d9 , 0x02d9 , 0x0000), //Dot Above
DEADTRANS( 0x02d9 , 0x02d9 , 0x0307 , 0x0000), //2x für Combining
@@ -1988,125 +2102,68 @@ DEADTRANS( 0x06C1 , 0x0027 , 0 ,0x0000 ),
DEADTRANS( L'Y' , 0x02d9 , 0x1e8e , 0x0000),
DEADTRANS( L'y' , 0x02d9 , 0x1e8f , 0x0000),
- DEADTRANS( L' ' , 0x02DB , 0x02DB , 0x0000), //Ogonek
- DEADTRANS( 0x02DB , 0x02DB , 0x0328 , 0x0000), //2x für Combining
- DEADTRANS( L'A' , 0x02DB , 0x0104 , 0x0000),
- DEADTRANS( L'a' , 0x02DB , 0x0105 , 0x0000),
- DEADTRANS( L'E' , 0x02DB , 0x0118 , 0x0000),
- DEADTRANS( L'e' , 0x02DB , 0x0119 , 0x0000),
- DEADTRANS( L'I' , 0x02DB , 0x012e , 0x0000),
- DEADTRANS( L'i' , 0x02DB , 0x012f , 0x0000),
- DEADTRANS( L'U' , 0x02DB , 0x0172 , 0x0000),
- DEADTRANS( L'u' , 0x02DB , 0x0173 , 0x0000),
- DEADTRANS( L'O' , 0x02DB , 0x01ea , 0x0000),
- DEADTRANS( L'o' , 0x02DB , 0x01eb , 0x0000),
- DEADTRANS( L' ' , 0x02DA , 0x02DA , 0x0000), //Ring
- DEADTRANS( 0x02DA , 0x02DA , 0x030A , 0x0000), //2x für Combining
- DEADTRANS( L'E' , 0x02DA , 0x0116 , 0x0000),
- DEADTRANS( L'e' , 0x02DA , 0x0117 , 0x0000),
- DEADTRANS( L'G' , 0x02DA , 0x0120 , 0x0000),
- DEADTRANS( L'g' , 0x02DA , 0x0121 , 0x0000),
- DEADTRANS( L'I' , 0x02DA , 0x0130 , 0x0000),
- DEADTRANS( L'i' , 0x02DA , 0x0131 , 0x0000),
- DEADTRANS( L'Z' , 0x02DA , 0x017B , 0x0000),
- DEADTRANS( L'z' , 0x02DA , 0x017C , 0x0000),
- DEADTRANS( L'A' , 0x02DA , 0x0226 , 0x0000),
- DEADTRANS( L'a' , 0x02DA , 0x0227 , 0x0000),
- DEADTRANS( L'O' , 0x02DA , 0x022e , 0x0000),
- DEADTRANS( L'o' , 0x02DA , 0x022f , 0x0000),
- DEADTRANS( L'B' , 0x02DA , 0x1e02 , 0x0000),
- DEADTRANS( L'b' , 0x02DA , 0x1e03 , 0x0000),
- DEADTRANS( L'D' , 0x02DA , 0x1e0a , 0x0000),
- DEADTRANS( L'd' , 0x02DA , 0x1e0b , 0x0000),
- DEADTRANS( L'F' , 0x02DA , 0x1e1e , 0x0000),
- DEADTRANS( L'f' , 0x02DA , 0x1e1f , 0x0000),
- DEADTRANS( L'H' , 0x02DA , 0x1e22 , 0x0000),
- DEADTRANS( L'h' , 0x02DA , 0x1e23 , 0x0000),
- DEADTRANS( L'M' , 0x02DA , 0x1e40 , 0x0000),
- DEADTRANS( L'm' , 0x02DA , 0x1e41 , 0x0000),
- DEADTRANS( L'N' , 0x02DA , 0x1e44 , 0x0000),
- DEADTRANS( L'n' , 0x02DA , 0x1e45 , 0x0000),
- DEADTRANS( L'P' , 0x02DA , 0x1e56 , 0x0000),
- DEADTRANS( L'p' , 0x02DA , 0x1e57 , 0x0000),
- DEADTRANS( L'R' , 0x02DA , 0x1e58 , 0x0000),
- DEADTRANS( L'r' , 0x02DA , 0x1e59 , 0x0000),
- DEADTRANS( L'S' , 0x02DA , 0x1e60 , 0x0000),
- DEADTRANS( L's' , 0x02DA , 0x1e61 , 0x0000),
- DEADTRANS( L'T' , 0x02DA , 0x1e6a , 0x0000),
- DEADTRANS( L't' , 0x02DA , 0x1e6b , 0x0000),
- DEADTRANS( L'W' , 0x02DA , 0x1e86 , 0x0000),
- DEADTRANS( L'w' , 0x02DA , 0x1e87 , 0x0000),
- DEADTRANS( L'X' , 0x02DA , 0x1e8a , 0x0000),
- DEADTRANS( L'x' , 0x02DA , 0x1e8b , 0x0000),
- DEADTRANS( L'Y' , 0x02DA , 0x1e8e , 0x0000),
- DEADTRANS( L'y' , 0x02DA , 0x1e8f , 0x0000),
+
+ DEADTRANS( L' ' , 0x00b7 , 0x00b7 , 0x0000), //Dot Middle
+ DEADTRANS( 0x00b7 , 0x00b7 , 0x00b7 , 0x0000), //kein Combining vorhanden
+ DEADTRANS( L'L' , 0x00b7 , 0x013F , 0x0000),
+ DEADTRANS( L'l' , 0x00b7 , 0x0140 , 0x0000),
+
+
+
+ DEADTRANS( L' ' , L'.' , L'.' , 0x0000), //Dot Below
+ DEADTRANS( L'.' , L'.' , 0x0323 , 0x0000), //2x für Combining
+ DEADTRANS( L'B' , L'.' , 0x1e04 , 0x0000),
+ DEADTRANS( L'b' , L'.' , 0x1e05 , 0x0000),
+ DEADTRANS( L'D' , L'.' , 0x1e0c , 0x0000),
+ DEADTRANS( L'd' , L'.' , 0x1e0d , 0x0000),
+ DEADTRANS( L'H' , L'.' , 0x1e24 , 0x0000),
+ DEADTRANS( L'h' , L'.' , 0x1e25 , 0x0000),
+ DEADTRANS( L'K' , L'.' , 0x1e32 , 0x0000),
+ DEADTRANS( L'k' , L'.' , 0x1e33 , 0x0000),
+ DEADTRANS( L'L' , L'.' , 0x1e36 , 0x0000),
+ DEADTRANS( L'l' , L'.' , 0x1e37 , 0x0000),
+ DEADTRANS( L'M' , L'.' , 0x1e42 , 0x0000),
+ DEADTRANS( L'm' , L'.' , 0x1e43 , 0x0000),
+ DEADTRANS( L'N' , L'.' , 0x1e46 , 0x0000),
+ DEADTRANS( L'n' , L'.' , 0x1e47 , 0x0000),
+ DEADTRANS( L'R' , L'.' , 0x1e5a , 0x0000),
+ DEADTRANS( L'r' , L'.' , 0x1e5b , 0x0000),
+ DEADTRANS( L'S' , L'.' , 0x1e62 , 0x0000),
+ DEADTRANS( L's' , L'.' , 0x1e63 , 0x0000),
+ DEADTRANS( L'T' , L'.' , 0x1e6c , 0x0000),
+ DEADTRANS( L't' , L'.' , 0x1e6d , 0x0000),
+ DEADTRANS( L'V' , L'.' , 0x1e7e , 0x0000),
+ DEADTRANS( L'v' , L'.' , 0x1e7f , 0x0000),
+ DEADTRANS( L'W' , L'.' , 0x1e88 , 0x0000),
+ DEADTRANS( L'w' , L'.' , 0x1e89 , 0x0000),
+ DEADTRANS( L'Z' , L'.' , 0x1e92 , 0x0000),
+ DEADTRANS( L'z' , L'.' , 0x1e93 , 0x0000),
+ DEADTRANS( L'A' , L'.' , 0x1ea0 , 0x0000),
+ DEADTRANS( L'a' , L'.' , 0x1ea1 , 0x0000),
+ DEADTRANS( L'E' , L'.' , 0x1eb8 , 0x0000),
+ DEADTRANS( L'e' , L'.' , 0x1eb9 , 0x0000),
+ DEADTRANS( L'I' , L'.' , 0x1eca , 0x0000),
+ DEADTRANS( L'i' , L'.' , 0x1ecb , 0x0000),
+ DEADTRANS( L'O' , L'.' , 0x1ecc , 0x0000),
+ DEADTRANS( L'o' , L'.' , 0x1ecd , 0x0000),
+ DEADTRANS( L'Y' , L'.' , 0x1ef4 , 0x0000),
+ DEADTRANS( L'y' , L'.' , 0x1ef5 , 0x0000),
+
+
+
+
+
+
+
+
// Ende der Taste zwei rechts neben der 0
// Anfang der Taste rechts neben dem »ß«
- DEADTRANS( L' ' , 0x007E , 0x007E , 0x0000), //Tilde
- DEADTRANS( 0x007E , 0x007E , 0x0303 , 0x0000), //2x für Combining
- DEADTRANS( L'A' , 0x007E , 0x00c3 , 0x0000),
- DEADTRANS( L'N' , 0x007E , 0x00d1 , 0x0000),
- DEADTRANS( L'O' , 0x007E , 0x00d5 , 0x0000),
- DEADTRANS( L'a' , 0x007E , 0x00e3 , 0x0000),
- DEADTRANS( L'n' , 0x007E , 0x00f1 , 0x0000),
- DEADTRANS( L'o' , 0x007E , 0x00f5 , 0x0000),
- DEADTRANS( L'I' , 0x007E , 0x0128 , 0x0000),
- DEADTRANS( L'i' , 0x007E , 0x0129 , 0x0000),
- DEADTRANS( L'U' , 0x007E , 0x0168 , 0x0000),
- DEADTRANS( L'u' , 0x007E , 0x0169 , 0x0000),
- DEADTRANS( L'V' , 0x007E , 0x1e7c , 0x0000),
- DEADTRANS( L'v' , 0x007E , 0x1e7d , 0x0000),
- DEADTRANS( L'E' , 0x007E , 0x1ebc , 0x0000),
- DEADTRANS( L'e' , 0x007E , 0x1ebd , 0x0000),
- DEADTRANS( L'Y' , 0x007E , 0x1ef8 , 0x0000),
- DEADTRANS( L'y' , 0x007E , 0x1ef9 , 0x0000),
- DEADTRANS( L' ' , 0x00AF , 0x00AF , 0x0000), //Makron
- DEADTRANS( 0x00AF , 0x00AF , 0x0304 , 0x0000), //2x für Combining
- DEADTRANS( L'A' , 0x00AF , 0x0100 , 0x0000),
- DEADTRANS( L'a' , 0x00AF , 0x0101 , 0x0000),
- DEADTRANS( L'E' , 0x00AF , 0x0112 , 0x0000),
- DEADTRANS( L'e' , 0x00AF , 0x0113 , 0x0000),
- DEADTRANS( L'I' , 0x00AF , 0x012a , 0x0000),
- DEADTRANS( L'i' , 0x00AF , 0x012b , 0x0000),
- DEADTRANS( L'O' , 0x00AF , 0x014c , 0x0000),
- DEADTRANS( L'o' , 0x00AF , 0x014d , 0x0000),
- DEADTRANS( L'U' , 0x00AF , 0x016a , 0x0000),
- DEADTRANS( L'u' , 0x00AF , 0x016b , 0x0000),
- DEADTRANS( L'Y' , 0x00AF , 0x0232 , 0x0000),
- DEADTRANS( L'y' , 0x00AF , 0x0233 , 0x0000),
- DEADTRANS( L'G' , 0x00AF , 0x1e20 , 0x0000),
- DEADTRANS( L'g' , 0x00AF , 0x1e21 , 0x0000),
- DEADTRANS( L' ' , 0x00A8 , 0x00A8 , 0x0000), //Diaräse
- DEADTRANS( 0x00A8 , 0x00A8 , 0x0308 , 0x0000), //2x für Combining
- DEADTRANS( L'A' , 0x00A8 , 0x00c4 , 0x0000),
- DEADTRANS( L'E' , 0x00A8 , 0x00cb , 0x0000),
- DEADTRANS( L'I' , 0x00A8 , 0x00cf , 0x0000),
- DEADTRANS( L'O' , 0x00A8 , 0x00d6 , 0x0000),
- DEADTRANS( L'U' , 0x00A8 , 0x00dc , 0x0000),
- DEADTRANS( L'a' , 0x00A8 , 0x00e4 , 0x0000),
- DEADTRANS( L'e' , 0x00A8 , 0x00eb , 0x0000),
- DEADTRANS( L'i' , 0x00A8 , 0x00ef , 0x0000),
- DEADTRANS( L'o' , 0x00A8 , 0x00f6 , 0x0000),
- DEADTRANS( L'u' , 0x00A8 , 0x00fc , 0x0000),
- DEADTRANS( L'y' , 0x00A8 , 0x0177 , 0x0000),
- DEADTRANS( L'Y' , 0x00A8 , 0x0178 , 0x0000),
- DEADTRANS( L'H' , 0x00A8 , 0x1e26 , 0x0000),
- DEADTRANS( L'h' , 0x00A8 , 0x1e27 , 0x0000),
- DEADTRANS( L'W' , 0x00A8 , 0x1e84 , 0x0000),
- DEADTRANS( L'w' , 0x00A8 , 0x1e85 , 0x0000),
- DEADTRANS( L'X' , 0x00A8 , 0x1e8c , 0x0000),
- DEADTRANS( L'x' , 0x00A8 , 0x1e8d , 0x0000),
- DEADTRANS( L't' , 0x00A8 , 0x1e97 , 0x0000),
- DEADTRANS( L' ' , 0x002F , 0x002F , 0x0000), //Schrägstrich
- DEADTRANS( 0x002F , 0x002F , 0x0337 , 0x0000), //2x für Combining
- DEADTRANS( L'O' , 0x002F , 0x00d8 , 0x0000),
- DEADTRANS( L'o' , 0x002F , 0x00f8 , 0x0000),
- DEADTRANS( L'L' , 0x002F , 0x0141 , 0x0000),
- DEADTRANS( L'l' , 0x002F , 0x0142 , 0x0000),
+
+
DEADTRANS( L' ' , 0x02DD , 0x02DD , 0x0000), //Doppel Akut
DEADTRANS( 0x02DD , 0x02DD , 0x030B , 0x0000), //2x für Combining
diff --git a/windows/kbdneo2/Quelldateien/kbdneo2.h b/windows/kbdneo2/Quelldateien/kbdneo2.h
index 55df595..abf0517 100644
--- a/windows/kbdneo2/Quelldateien/kbdneo2.h
+++ b/windows/kbdneo2/Quelldateien/kbdneo2.h
@@ -80,7 +80,7 @@
#undef T29
#define T29 _EQ( OEM_1 )
#undef T2B
-#define T2B _EQ( KANA ) // Mod 3
+#define T2B _EQ( OEM_102 ) // Mod 3
#undef T2C
#define T2C _EQ( OEM_5 )
#undef T2D
@@ -96,10 +96,8 @@
#undef T35
#define T35 _EQ( 'J' )
#undef T3A
-#define T3A _EQ( KANA )// Mod 3
+#define T3A _EQ( OEM_102 ) // Mod 3
#undef X38
-//#define X38 _EQ( RMENU )// Mod 4
-#define X38 _EQ( OEM_102 )
+#define X38 _EQ( OEM_8 ) // Mod 4
#undef T56
-//#define T56 _EQ( RMENU )// Mod 4
-#define T56 _EQ( OEM_102 ) \ No newline at end of file
+#define T56 _EQ( OEM_8 ) // Mod 4 \ No newline at end of file
diff --git a/windows/kbdneo2/Treiber/32bit_Windows/kbdneo2.dll b/windows/kbdneo2/Treiber/32bit_Windows/kbdneo2.dll
index 2c055af..6934d19 100644
--- a/windows/kbdneo2/Treiber/32bit_Windows/kbdneo2.dll
+++ b/windows/kbdneo2/Treiber/32bit_Windows/kbdneo2.dll
Binary files differ
diff --git a/windows/kbdneo2/Treiber/64bit_Windows/kbdneo2.dll b/windows/kbdneo2/Treiber/64bit_Windows/kbdneo2.dll
index 6cd162b..497d480 100644
--- a/windows/kbdneo2/Treiber/64bit_Windows/kbdneo2.dll
+++ b/windows/kbdneo2/Treiber/64bit_Windows/kbdneo2.dll
Binary files differ
diff --git a/windows/kbdneo2/Treiber/AHK_für_kbdneo2/kbdneo2.ahk b/windows/kbdneo2/Treiber/AHK_für_kbdneo2/kbdneo2.ahk
index ac0ef42..dca73c0 100644
--- a/windows/kbdneo2/Treiber/AHK_für_kbdneo2/kbdneo2.ahk
+++ b/windows/kbdneo2/Treiber/AHK_für_kbdneo2/kbdneo2.ahk
@@ -149,9 +149,15 @@ ToggleMod2Lock() {
ToggleMod4Lock() {
global
if (isMod4Locked)
+ {
isMod4Locked := 0
+ send {vk15}
+ }
else
+ {
isMod4Locked := 1
+ send {vk15}
+ }
}
doMod4() {
@@ -180,8 +186,7 @@ return
~*v::
if (isMod4Active and !isMod3Pressed)
-Ifwinactive ahk_class Notepad++
-Sendinput {Blind}{BACKSPACE}{BACKSPACE}
+Sendinput {Blind}{BACKSPACE}
return
~*l::
@@ -226,8 +231,7 @@ return
~*ö::
if (isMod4Active and !isMod3Pressed)
-Ifwinactive ahk_class Notepad++
-Sendinput {Blind}{BACKSPACE}{TAB}
+Sendinput {Blind}{TAB}
return
~*ä::
@@ -237,8 +241,7 @@ return
~*p::
if (isMod4Active and !isMod3Pressed)
-Ifwinactive ahk_class Notepad++
-Sendinput {Blind}{BACKSPACE}{ENTER}
+Send {Blind}{ENTER}
return