Numpad Ebene 2 und 4 zurückgetauscht für die vier Rechenzeichen

Ermöglicht bessere Kompatibilität mit ReNeo bei bestimmten Shortcuts. Zudem entspricht dies nun der Referenz.
Ergänzende Kommentare zur Numpad-Definition.
This commit is contained in:
qwertfisch 2021-05-05 03:55:05 +02:00
parent 5d3878d8f3
commit 2afe424242
3 changed files with 72 additions and 54 deletions

View File

@ -322,31 +322,37 @@ static ALLOC_SECTION_LDATA VK_TO_WCHARS8 aVkToWch8[] = {
{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0} {0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0}
}; };
// Numpad-Belegung muss zum Schluss kommen // Aufgrund der Eigenheit, dass Shift bei aktiviertem Numlock den Cursorblock aktiviert (entspricht Ebene 4)
// Entgegen der neo20.txt vorgesehene Belegung 1,2,3,4,5,6 ist hier 1,4,3,2 umgesetzt, Num ist nicht belegt: // wurden für die Tasten 0-9 und Komma die Ebenen 2 und 4 getauscht. Dies gilt nicht für die Tasten
// VK_ADD, VK_DIVIDE, VK_MULTIPLY and VK_SUBTRACT. Ebenen 5 und 6 fehlen, Num ist nicht belegt.
static ALLOC_SECTION_LDATA VK_TO_WCHARS4 aVkToWch4[] = { static ALLOC_SECTION_LDATA VK_TO_WCHARS4 aVkToWch4[] = {
// | CapsLock | | SHIFT | KANA | NEU | // | CapsLock | | SHIFT | NEU | KANA |
// |===========|===========|===============|=======================|===================| // |===========|===========|===============|=======================|===================|
{VK_ADD ,0 ,'+' ,minusorplus ,plusminus ,'+' }, // Originalbelegung 1, 2, 3, 4
{VK_DIVIDE ,0 ,'/' ,fractionslash ,division ,'/' }, {VK_ADD ,0 ,'+' ,'+' ,plusminus ,minusorplus },
{VK_MULTIPLY ,0 ,'*' ,multiply ,dotoperator ,'*' }, {VK_DIVIDE ,0 ,'/' ,'/' ,division ,fractionslash },
{VK_SUBTRACT ,0 ,'-' ,setminus ,minussign ,'-' }, {VK_MULTIPLY ,0 ,'*' ,'*' ,dotoperator ,multiply },
{VK_DECIMAL ,0 ,',' ,',' ,',' ,'.' }, {VK_SUBTRACT ,0 ,'-' ,'-' ,minussign ,setminus },
{VK_NUMPAD0 ,0 ,'0' ,'0' ,percent ,signifblank }, // Belegung 1, 4, 3, 2 (Windows verwendet bei Shift automatisch den Cursorblock)
{VK_NUMPAD1 ,0 ,'1' ,'1' ,leftrightarrow ,diamond }, {VK_DECIMAL ,0 ,',' ,WCH_NONE ,',' ,'.' },
{VK_NUMPAD2 ,0 ,'2' ,'2' ,downarrow ,heart }, {VK_NUMPAD0 ,0 ,'0' ,WCH_NONE ,percent ,signifblank },
{VK_NUMPAD3 ,0 ,'3' ,'3' ,rightoverleftharpoon ,wordjoiner }, {VK_NUMPAD1 ,0 ,'1' ,WCH_NONE ,leftrightarrow ,diamond },
{VK_NUMPAD4 ,0 ,'4' ,'4' ,leftarrow ,club }, {VK_NUMPAD2 ,0 ,'2' ,WCH_NONE ,downarrow ,heart },
{VK_NUMPAD5 ,0 ,'5' ,'5' ,':' ,EuroSign }, {VK_NUMPAD3 ,0 ,'3' ,WCH_NONE ,rightoverleftharpoon ,wordjoiner },
{VK_NUMPAD6 ,0 ,'6' ,'6' ,rightarrow ,triangularbullets }, {VK_NUMPAD4 ,0 ,'4' ,WCH_NONE ,leftarrow ,club },
{VK_NUMPAD7 ,0 ,'7' ,'7' ,updownarrow ,heavycheckmark }, {VK_NUMPAD5 ,0 ,'5' ,WCH_NONE ,':' ,EuroSign },
{VK_NUMPAD8 ,0 ,'8' ,'8' ,uparrow ,heavyballotx }, {VK_NUMPAD6 ,0 ,'6' ,WCH_NONE ,rightarrow ,triangularbullets },
{VK_NUMPAD9 ,0 ,'9' ,'9' ,circledtimes ,dagger }, {VK_NUMPAD7 ,0 ,'7' ,WCH_NONE ,updownarrow ,heavycheckmark },
{VK_NUMPAD8 ,0 ,'8' ,WCH_NONE ,uparrow ,heavyballotx },
{VK_NUMPAD9 ,0 ,'9' ,WCH_NONE ,circledtimes ,dagger },
{0 ,0 ,0 ,0 ,0 ,0 } {0 ,0 ,0 ,0 ,0 ,0 }
}; };
// Hier müssen die verwendeten WChar_Tables vorkommen; Numpad MUSS letzte Zeile sein. // 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[] = { static ALLOC_SECTION_LDATA VK_TO_WCHAR_TABLE aVkToWcharTable[] = {
{ (PVK_TO_WCHARS1)aVkToWch6, 6, sizeof(aVkToWch6[0]) }, { (PVK_TO_WCHARS1)aVkToWch6, 6, sizeof(aVkToWch6[0]) },
{ (PVK_TO_WCHARS1)aVkToWch7, 7, sizeof(aVkToWch7[0]) }, { (PVK_TO_WCHARS1)aVkToWch7, 7, sizeof(aVkToWch7[0]) },

View File

@ -330,31 +330,37 @@ static ALLOC_SECTION_LDATA VK_TO_WCHARS8 aVkToWch8[] = {
{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 } {0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 }
}; };
// Numpad-Belegung muss zum Schluss kommen // Aufgrund der Eigenheit, dass Shift bei aktiviertem Numlock den Cursorblock aktiviert (entspricht Ebene 4)
// Entgegen der neo20.txt vorgesehene Belegung 1,2,3,4,5,6 ist hier 1,4,3,2 umgesetzt, Num ist nicht belegt: // wurden für die Tasten 0-9 und Komma die Ebenen 2 und 4 getauscht. Dies gilt nicht für die Tasten
// VK_ADD, VK_DIVIDE, VK_MULTIPLY and VK_SUBTRACT. Ebenen 5 und 6 fehlen, Num ist nicht belegt.
static ALLOC_SECTION_LDATA VK_TO_WCHARS4 aVkToWch4[] = { static ALLOC_SECTION_LDATA VK_TO_WCHARS4 aVkToWch4[] = {
// | CapsLock | | SHIFT | KANA | NEU | // | CapsLock | | SHIFT | NEU | KANA |
// |===========|===========|===============|=======================|===================| // |===========|===========|===============|=======================|===================|
{VK_ADD ,0 ,'+' ,minusorplus ,plusminus ,'+' }, // Originalbelegung 1, 2, 3, 4
{VK_DIVIDE ,0 ,'/' ,fractionslash ,division ,'/' }, {VK_ADD ,0 ,'+' ,'+' ,plusminus ,minusorplus },
{VK_MULTIPLY ,0 ,'*' ,multiply ,dotoperator ,'*' }, {VK_DIVIDE ,0 ,'/' ,'/' ,division ,fractionslash },
{VK_SUBTRACT ,0 ,'-' ,setminus ,minussign ,'-' }, {VK_MULTIPLY ,0 ,'*' ,'*' ,dotoperator ,multiply },
{VK_DECIMAL ,0 ,',' ,',' ,',' ,'.' }, {VK_SUBTRACT ,0 ,'-' ,'-' ,minussign ,setminus },
{VK_NUMPAD0 ,0 ,'0' ,'0' ,percent ,signifblank }, // Belegung 1, 4, 3, 2 (Windows verwendet bei Shift automatisch den Cursorblock)
{VK_NUMPAD1 ,0 ,'1' ,'1' ,leftrightarrow ,diamond }, {VK_DECIMAL ,0 ,',' ,WCH_NONE ,',' ,'.' },
{VK_NUMPAD2 ,0 ,'2' ,'2' ,downarrow ,heart }, {VK_NUMPAD0 ,0 ,'0' ,WCH_NONE ,percent ,signifblank },
{VK_NUMPAD3 ,0 ,'3' ,'3' ,rightoverleftharpoon ,wordjoiner }, {VK_NUMPAD1 ,0 ,'1' ,WCH_NONE ,leftrightarrow ,diamond },
{VK_NUMPAD4 ,0 ,'4' ,'4' ,leftarrow ,club }, {VK_NUMPAD2 ,0 ,'2' ,WCH_NONE ,downarrow ,heart },
{VK_NUMPAD5 ,0 ,'5' ,'5' ,':' ,EuroSign }, {VK_NUMPAD3 ,0 ,'3' ,WCH_NONE ,rightoverleftharpoon ,wordjoiner },
{VK_NUMPAD6 ,0 ,'6' ,'6' ,rightarrow ,triangularbullets }, {VK_NUMPAD4 ,0 ,'4' ,WCH_NONE ,leftarrow ,club },
{VK_NUMPAD7 ,0 ,'7' ,'7' ,updownarrow ,checkmark }, {VK_NUMPAD5 ,0 ,'5' ,WCH_NONE ,':' ,EuroSign },
{VK_NUMPAD8 ,0 ,'8' ,'8' ,uparrow ,ballotcross }, {VK_NUMPAD6 ,0 ,'6' ,WCH_NONE ,rightarrow ,triangularbullets },
{VK_NUMPAD9 ,0 ,'9' ,'9' ,circledtimes ,dagger }, {VK_NUMPAD7 ,0 ,'7' ,WCH_NONE ,updownarrow ,heavycheckmark },
{VK_NUMPAD8 ,0 ,'8' ,WCH_NONE ,uparrow ,heavyballotx },
{VK_NUMPAD9 ,0 ,'9' ,WCH_NONE ,circledtimes ,dagger },
{0 ,0 ,0 ,0 ,0 ,0 } {0 ,0 ,0 ,0 ,0 ,0 }
}; };
// Hier müssen die verwendeten WChar_Tables vorkommen; Numpad MUSS letzte Zeile sein. // 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[] = { static ALLOC_SECTION_LDATA VK_TO_WCHAR_TABLE aVkToWcharTable[] = {
{ (PVK_TO_WCHARS1)aVkToWch6, 6, sizeof(aVkToWch6[0]) }, { (PVK_TO_WCHARS1)aVkToWch6, 6, sizeof(aVkToWch6[0]) },
{ (PVK_TO_WCHARS1)aVkToWch7, 7, sizeof(aVkToWch7[0]) }, { (PVK_TO_WCHARS1)aVkToWch7, 7, sizeof(aVkToWch7[0]) },

View File

@ -322,31 +322,37 @@ static ALLOC_SECTION_LDATA VK_TO_WCHARS8 aVkToWch8[] = {
{0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 } {0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 }
}; };
// Numpad-Belegung muss zum Schluss kommen // Aufgrund der Eigenheit, dass Shift bei aktiviertem Numlock den Cursorblock aktiviert (entspricht Ebene 4)
// Entgegen der neo20.txt vorgesehene Belegung 1,2,3,4,5,6 ist hier 1,4,3,2 umgesetzt, Num ist nicht belegt: // wurden für die Tasten 0-9 und Komma die Ebenen 2 und 4 getauscht. Dies gilt nicht für die Tasten
// VK_ADD, VK_DIVIDE, VK_MULTIPLY and VK_SUBTRACT. Ebenen 5 und 6 fehlen, Num ist nicht belegt.
static ALLOC_SECTION_LDATA VK_TO_WCHARS4 aVkToWch4[] = { static ALLOC_SECTION_LDATA VK_TO_WCHARS4 aVkToWch4[] = {
// | CapsLock | | SHIFT | KANA | NEU | // | CapsLock | | SHIFT | NEU | KANA |
// |===========|===========|===============|=======================|===================| // |===========|===========|===============|=======================|===================|
{VK_ADD ,0 ,'+' ,minusorplus ,plusminus ,'+' }, // Originalbelegung 1, 2, 3, 4
{VK_DIVIDE ,0 ,'/' ,fractionslash ,division ,'/' }, {VK_ADD ,0 ,'+' ,'+' ,plusminus ,minusorplus },
{VK_MULTIPLY ,0 ,'*' ,multiply ,dotoperator ,'*' }, {VK_DIVIDE ,0 ,'/' ,'/' ,division ,fractionslash },
{VK_SUBTRACT ,0 ,'-' ,setminus ,minussign ,'-' }, {VK_MULTIPLY ,0 ,'*' ,'*' ,dotoperator ,multiply },
{VK_DECIMAL ,0 ,',' ,',' ,',' ,'.' }, {VK_SUBTRACT ,0 ,'-' ,'-' ,minussign ,setminus },
{VK_NUMPAD0 ,0 ,'0' ,'0' ,percent ,signifblank }, // Belegung 1, 4, 3, 2 (Windows verwendet bei Shift automatisch den Cursorblock)
{VK_NUMPAD1 ,0 ,'1' ,'1' ,leftrightarrow ,diamond }, {VK_DECIMAL ,0 ,',' ,WCH_NONE ,',' ,'.' },
{VK_NUMPAD2 ,0 ,'2' ,'2' ,downarrow ,heart }, {VK_NUMPAD0 ,0 ,'0' ,WCH_NONE ,percent ,signifblank },
{VK_NUMPAD3 ,0 ,'3' ,'3' ,rightoverleftharpoon ,wordjoiner }, {VK_NUMPAD1 ,0 ,'1' ,WCH_NONE ,leftrightarrow ,diamond },
{VK_NUMPAD4 ,0 ,'4' ,'4' ,leftarrow ,club }, {VK_NUMPAD2 ,0 ,'2' ,WCH_NONE ,downarrow ,heart },
{VK_NUMPAD5 ,0 ,'5' ,'5' ,':' ,EuroSign }, {VK_NUMPAD3 ,0 ,'3' ,WCH_NONE ,rightoverleftharpoon ,wordjoiner },
{VK_NUMPAD6 ,0 ,'6' ,'6' ,rightarrow ,triangularbullets }, {VK_NUMPAD4 ,0 ,'4' ,WCH_NONE ,leftarrow ,club },
{VK_NUMPAD7 ,0 ,'7' ,'7' ,updownarrow ,heavycheckmark }, {VK_NUMPAD5 ,0 ,'5' ,WCH_NONE ,':' ,EuroSign },
{VK_NUMPAD8 ,0 ,'8' ,'8' ,uparrow ,heavyballotx }, {VK_NUMPAD6 ,0 ,'6' ,WCH_NONE ,rightarrow ,triangularbullets },
{VK_NUMPAD9 ,0 ,'9' ,'9' ,circledtimes ,dagger }, {VK_NUMPAD7 ,0 ,'7' ,WCH_NONE ,updownarrow ,heavycheckmark },
{VK_NUMPAD8 ,0 ,'8' ,WCH_NONE ,uparrow ,heavyballotx },
{VK_NUMPAD9 ,0 ,'9' ,WCH_NONE ,circledtimes ,dagger },
{0 ,0 ,0 ,0 ,0 ,0 } {0 ,0 ,0 ,0 ,0 ,0 }
}; };
// Hier müssen die verwendeten WChar_Tables vorkommen; Numpad MUSS letzte Zeile sein. // 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[] = { static ALLOC_SECTION_LDATA VK_TO_WCHAR_TABLE aVkToWcharTable[] = {
{ (PVK_TO_WCHARS1)aVkToWch6, 6, sizeof(aVkToWch6[0]) }, { (PVK_TO_WCHARS1)aVkToWch6, 6, sizeof(aVkToWch6[0]) },
{ (PVK_TO_WCHARS1)aVkToWch7, 7, sizeof(aVkToWch7[0]) }, { (PVK_TO_WCHARS1)aVkToWch7, 7, sizeof(aVkToWch7[0]) },