From 6ae7927abf1bc8e1c6e671f43f8f8dd67486359e Mon Sep 17 00:00:00 2001 From: Sabine Date: Fri, 3 May 2024 16:23:57 +0200 Subject: [PATCH] feat(mac): Arrays for mapping VK<->SC --- mac/mcompile/keymap.h | 191 +++++++++++++++---------------- mac/mcompile/mc_import_rules.cpp | 67 +++++++++-- 2 files changed, 150 insertions(+), 108 deletions(-) diff --git a/mac/mcompile/keymap.h b/mac/mcompile/keymap.h index edd6244049..1177221de3 100644 --- a/mac/mcompile/keymap.h +++ b/mac/mcompile/keymap.h @@ -519,7 +519,10 @@ const UINT ScanCodeToUSVirtualKey[128] = { 0x00 // 0x7f => No match }; -// _S2 many keys still need to be defined !! +// _S2 many keys still need to be defined !! +//( on x. place there is key e.g. +// on (US) position 24 we find key xBB ( = + ) +// on (US) position 0 we find key x41 ( A a ) const UINT mac_ScanCodeToUSVirtualKey[128] = { 0x41 ,// L"K_A", // &H41 0x53 ,// L"K_S", // &H53 @@ -531,7 +534,7 @@ const UINT mac_ScanCodeToUSVirtualKey[128] = { 0x58 ,// L"K_X", // &H58 0x43 ,// L"K_C", // &H43 0x56 ,// L"K_V", // &H56 - 0x00, +0xC0, // ^° // 10 0x42 ,// L"K_B", // &H42 0x51 ,// L"K_Q", // &H51 0x57 ,// L"K_W", // &H57 @@ -541,28 +544,27 @@ const UINT mac_ScanCodeToUSVirtualKey[128] = { 0x54 ,// L"K_T", // &H54 0x31 ,// L"K_1", // &H31 0x32 ,// L"K_2", // &H32 - 0x33 ,// L"K_3", // &H33 +0x33 ,// L"K_3", // &H33 // 20 0x34 ,// L"K_4", // &H34 0x36 ,// L"K_6", // &H36 0x35 ,// L"K_5", // &H35 - 187 ,// L"K_?00", // &HB8 + 0xBB ,// L"K_?00",// &HB8 0x39 ,// L"K_9", // &H39 0x37 ,// L"K_7", // &H37 - 189 ,// L"K_?00", // &HBA + 0xBD ,// L"K_?00",// &HBA 0x38 ,// L"K_8", // &H38 0x30 ,// L"K_0", // &H30 - 221 ,// 0 // &HD9 +0xDD ,// 0 // &HD9 // 30 0x4F ,// L"K_O", // &H4F - 0x55 ,// L"K_U", // &H55 - 219 ,// 0 // &HD7 + 0xDB , // 0 // &HD7 0x49 ,// L"K_I", // &H49 0x50 ,// L"K_P", // &H50 0x00, 0x4C ,// L"K_L", // &H4C 0x4A ,// L"K_J", // &H4A - 222, //222 ,// 0 // &HDA - 0x4B ,// L"K_K", // &H4B + 0xDE, //222 ,// 0 // &HDA +0x4B ,// L"K_K", // &H4B // 40 186 ,// L"K_?00", // &HB7 220 ,// 0 // &HD8 188 ,// L"K_?00", // &HB9 @@ -572,7 +574,7 @@ const UINT mac_ScanCodeToUSVirtualKey[128] = { 190 ,// L"K_?00", // L", 0 ,// L"K_?00", // &H0 // 0x77 => No match 32 ,// L"K_?00", // &H1 - 2 ,// L"K_?00", // &H2 +0xE2 ,// L"K_?00", // &H2 // 50 // NEU xxx 3 ,// L"K_?00", // &H3 4 ,// L"K_?00", // &H4 5 ,// L"K_?00", // &H5 @@ -582,7 +584,7 @@ const UINT mac_ScanCodeToUSVirtualKey[128] = { 9 ,// L"K_?00", // &H9 10 ,// L"K_?00", // &HA 11 ,// L"K_?00", // &HB - 12 ,// L"K_?00", // &HC +12 ,// L"K_?00", // &HC // 60 13 ,// L"K_?00", // &HD 14 ,// L"K_?00", // &HE 15 ,// L"K_?00", // &HF @@ -652,7 +654,16 @@ const UINT mac_ScanCodeToUSVirtualKey[128] = { 115 // L"K_?00", // &H73 }; + + + + // _S2 what instead x999? +//( on character-.st index we find the keycode e.g. +// for character A (65) we look at pos 65 and find keycode 0 +// for character X (87) we look at pos 87 and find keycode 7 +// for character + (187) we look at pos 187 and find keycode 24 + const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, // L"K_?00", // &H0 ................................................... 0 ........................................... 0x999, // L"K_LBUTTON", // &H1 @@ -664,9 +675,8 @@ const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, // L"K_?07", // &H7 0x999, // 0x0E, // L"K_BKSP", // &H8 0x999, // 0x0F, // L"K_TAB", // &H9 - 0x999, // L"K_?0A", // &HA - - 0x999, // L"K_?0B", // &HB................................................... 10 ........................................... + 0x999, // L"K_?0A", // &HA + 0x999, // L"K_?0B", // &HB................................................... 11 ........................................... 0x999, // 0x4C, // L"K_KP5", // &HC 0x999, // 0x1C, // L"K_ENTER", // &HD 0x999, // L"K_?0E", // &HE @@ -675,8 +685,7 @@ const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, // 0x1D, // L"K_CONTRO 0x999, // L", // &H11 0x999, // 0x38, // L"K_ALT", // &H12 0x999, // L"K_PAUSE", // &H13 - 0x999, // 0x3A, // L"K_CAPS", // &H14 - + 0x999, // 0x3A, // L"K_CAPS", // &H14 0x999, // L"K_KANJI?15", // &H15 0x999, // L"K_KANJI?16", // &H16 0x999, // L"K_KANJI?17", // &H17 @@ -686,10 +695,9 @@ const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, // L"K_ESC", // &H1B 0x999, // L"K_KANJI?1C", // &H1C 0x999, // L"K_KANJI?1D", // &H1D - 0x999, // L"K_KANJI?1E", // &H1E - - 0x999, // L"K_KANJI?1F", // &H1F................................................... 30 ........................................... -0x31, // L"K_SPACE", // &H20 +0x999, // L"K_KANJI?1E", // &H1E + 0x999, // L"K_KANJI?1F", // &H1F................................................... 31 ........................................... + 0x31, // L"K_SPACE", // &H20 0x999, // 0x49, // L"K_PGUP", // &H21 0x999, // 0x51, // L"K_PGDN", // &H22 0x999, // 0x4F, // L"K_END", // &H23 @@ -697,8 +705,7 @@ const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, // 0x4B, // L"K_LEFT", // &H25 0x999, // 0x48, // L"K_UP", // &H26 0x999, // 0x4D, // L"K_RIGHT", // &H27 - 0x999, // 0x50, // L"K_DOWN", // &H28 - +0x999, // 0x50, // L"K_DOWN", // &H28 0x999, // L"K_SEL", // &H29 0x999, // L"K_PRINT", // &H2A 0x999, // L"K_EXEC", // &H2B @@ -706,55 +713,49 @@ const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, // 0x52, // L"K_INS", // &H2D 0x999, // 0x53, // L"K_DEL", // &H2E 0x999, // 0x63, // L"K_HELP", // &H2F -0x1D, // L"K_0", // &H30 -0x12, // L"K_1", // &H31 + 0x1D, // L"K_0", // &H30 + 0x12, // L"K_1", // &H31 0x13, // L"K_2", // &H32 - -0x14, // L"K_3", // &H33................................................... 50 ........................................... -0x15, // L"K_4", // &H34 -0x17, // L"K_5", // &H35 -0x16, // L"K_6", // &H36 -0x1A, // L"K_7", // &H37 -0x1C, // L"K_8", // &H38 -0x19, // L"K_9", // &H39 + 0x14, // L"K_3", // &H33................................................... 51 ........................................... + 0x15, // L"K_4", // &H34 + 0x17, // L"K_5", // &H35 + 0x16, // L"K_6", // &H36 + 0x1A, // L"K_7", // &H37 + 0x1C, // L"K_8", // &H38 + 0x19, // L"K_9", // &H39 0x999, // L"K_?3A", // &H3A 0x999, // L"K_?3B", // &H3B - 0x999, // L"K_?3C", // &H3C - +0x999, // L"K_?3C", // &H3C 0x999, // L"K_?3D", // &H3D 0x999, // L"K_?3E", // &H3E 0x999, // L"K_?3F", // &H3F 0x999, // L"K_?40", // &H40 -0x00, // L"K_A", // &H41 -0x0B, // L"K_B", // &H42 -0x08, // L"K_C", // &H43 -0x02, // L"K_D", // &H44 -0x0E, // L"K_E", // &H45 + 0x00, // L"K_A", // &H41 + 0x0B, // L"K_B", // &H42 + 0x08, // L"K_C", // &H43 + 0x02, // L"K_D", // &H44 + 0x0E, // L"K_E", // &H45 0x03, // L"K_F", // &H46 - -0x05, // L"K_G", // &H47................................................... 70 ........................................... -0x04, // L"K_H", // &H48 -0x22, // L"K_I", // &H49 -0x26, // L"K_J", // &H4A -0x28, // L"K_K", // &H4B -0x25, // L"K_L", // &H4C -0x2E, // L"K_M", // &H4D -0x2D, // L"K_N", // &H4E -0x1F, // L"K_O", // &H4F - + 0x05, // L"K_G", // &H47................................................... 71 ........................................... + 0x04, // L"K_H", // &H48 + 0x22, // L"K_I", // &H49 + 0x26, // L"K_J", // &H4A + 0x28, // L"K_K", // &H4B + 0x25, // L"K_L", // &H4C + 0x2E, // L"K_M", // &H4D + 0x2D, // L"K_N", // &H4E + 0x1F, // L"K_O", // &H4F 0x23, // L"K_P", // &H50 -0x0C, // L"K_Q", // &H51 -0x0F, // L"K_R", // &H52 -0x01, // L"K_S", // &H53 -0x11, // L"K_T", // &H54 -0x20, // L"K_U", // &H55 -0x09, // L"K_V", // &H56 -0x0D, // L"K_W", // &H57 -0x07, // L"K_X", // &H58 - -0x10, // L"K_Y", // &H59................................................... 90 ........................................... + 0x0C, // L"K_Q", // &H51 + 0x0F, // L"K_R", // &H52 + 0x01, // L"K_S", // &H53 + 0x11, // L"K_T", // &H54 + 0x20, // L"K_U", // &H55 + 0x09, // L"K_V", // &H56 + 0x0D, // L"K_W", // &H57 + 0x07, // L"K_X", // &H58 + 0x10, // L"K_Y", // &H59................................................... 89 ........................................... 0x06, // L"K_Z", // &H5A - 0x999, //0x5B, // L"K_?5B", // &H5B 0x999, //0x5C, // L"K_?5C", // &H5C 0x999, //0x5D, // L"K_?5D", // &H5D @@ -764,7 +765,7 @@ const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, //0x4F, // L"K_NP1", // &H61 0x999, //0x50, // L"K_NP2", // &H62 0x999, //0x51, // L"K_NP3", // &H63 - 0x999, //0x4B, // L"K_NP4", // &H64 + 0x999, //0x4B, // L"K_NP4", // &H64 0x999, //0x4C, // L"K_NP5", // &H65 0x999, //0x4D, // L"K_NP6", // &H66 0x999, //0x47, // L"K_NP7", // &H67 @@ -772,9 +773,9 @@ const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, //0x49, // L"K_NP9", // &H69 0x999, //0x37, // L"K_NPSTAR", // &H6A 0x999, //0x4E, // L"K_NPPLUS", // &H6B - 0x999, //0x7E, // L"K_SEPARATOR", // &H6C // MCD 01-11-02: Brazilian Fix, 00 -> 7E................................................... 110 ........................................... + 0x999, //0x7E, // L"K_SEPARATOR", // &H6C // MCD 01-11-02: Brazilian Fix, 00 -> 7E 0x999, //0x4A, // L"K_NPMINUS", // &H6D - 0x999, //0x53, // L"K_NPDOT", // &H6E + 0x999, //0x53, // L"K_NPDOT", // &H6E // ................................................. 110 ........... 0x999, //0x135, // L"K_NPSLASH", // &H6F 0x999, //0x3B, // L"K_F1", // &H70 0x999, //0x3C, // L"K_F2", // &H71 @@ -784,7 +785,7 @@ const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, //0x40, // L"K_F6", // &H75 0x999, //0x41, // L"K_F7", // &H76 0x999, //0x42, // L"K_F8", // &H77 - 0x999, //0x43, // L"K_F9", // &H78 + 0x999, //0x43, // L"K_F9", // &H78 0x999, //0x44, // L"K_F10", // &H79 0x999, //0x57, // L"K_F11", // &H7A 0x999, //0x58, // L"K_F12", // &H7B @@ -792,9 +793,9 @@ const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, //0x65, // L"K_F14", // &H7D 0x999, //0x66, // L"K_F15", // &H7E 0x999, //0x67, // L"K_F16", // &H7F - 0x999, //0x68, // L"K_F17", // &H80................................................... 130 ........................................... + 0x999, //0x68, // L"K_F17", // &H80..... 0x999, //0x69, // L"K_F18", // &H81 - 0x999, //0x6A, // L"K_F19", // &H82 + 0x999, //0x6A, // L"K_F19", // &H82.................................................. 130 ....................................... 0x999, //0x6B, // L"K_F20", // &H83 0x999, //0x6C, // L"K_F21", // &H84 0x999, //0x6D, // L"K_F22", // &H85 @@ -804,7 +805,7 @@ const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, //0x00, // L"K_?89", // &H89 0x999, //0x00, // L"K_?8A", // &H8A 0x999, //0x00, // L"K_?8B", // &H8B - 0x999, //0x00, // L"K_?8C", // &H8C + 0x999, //0x00, // L"K_?8C", // &H8C 0x999, //0x00, // L"K_?8D", // &H8D 0x999, //0x00, // L"K_?8E", // &H8E 0x999, //0x00, // L"K_?8F", // &H8F ----- @@ -812,9 +813,9 @@ const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, //0x46, // L"K_SCROL 0x999, //0x00, // L", // &H91 ----- 0x999, //0x00, // L"K_?92", // &H92 0x999, //0x00, // L"K_?93", // &H93 - 0x999, //0x00, // L"K_?94", // &H94................................................... 150 ........................................... + 0x999, //0x00, // L"K_?94", // &H94................. 0x999, //0x00, // L"K_?95", // &H95 - 0x999, //0x00, // L"K_?96", // &H96 + 0x999, //0x00, // L"K_?96", // &H96............................................. 150 ................................ 0x999, //0x00, // L"K_?97", // &H97 0x999, //0x00, // L"K_?98", // &H98 0x999, //0x00, // L"K_?99", // &H99 @@ -824,7 +825,7 @@ const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, //0x00, // L"K_?9D", // &H9D 0x999, //0x00, // L"K_?9E", // &H9E 0x999, //0x00, // L"K_?9F", // &H9F - 0x999, //0x2A, // L"K_?A0", // &HA0 + 0x999, //0x2A, // L"K_?A0", // &HA0 0x999, //0x36, // L"K_?A1", // &HA1 0x999, //0x1D, // L"K_?A2", // &HA2 0x999, //0x1D, // L"K_?A3", // &HA3 @@ -832,9 +833,9 @@ const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, //0x38, // L"K_?A5", // &HA5 0x999, //0x6A, // L"K_?A6", // &HA6 0x999, //0x69, // L"K_?A7", // &HA7 - 0x999, //0x67, // L"K_?A8", // &HA8................................................... 170 ........................................... + 0x999, //0x67, // L"K_?A8", // &HA8...................... 0x999, //0x68, // L"K_?A9", // &HA9 - 0x999, //0x65, // L"K_?AA", // &HAA + 0x999, //0x65, // L"K_?AA", // &HAA....................................... 170 ................................. 0x999, //0x66, // L"K_?AB", // &HAB 0x999, //0x32, // L"K_?AC", // &HAC 0x999, //0x20, // L"K_?AD", // &HAD @@ -844,27 +845,27 @@ const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, //0x10, // L"K_?B1", // &HB1 0x999, //0x24, // L"K_?B2", // &HB2 0x999, //0x22, // L"K_?B3", // &HB3 - 0x999, //0x6C, // L"K_?B4", // &HB4 + 0x999, //0x6C, // L"K_?B4", // &HB4 0x999, //0x6D, // L"K_?B5", // &HB5 0x999, //0x6B, // L"K_?B6", // &HB6 0x999, //0x21, // L"K_?B7", // &HB7 0x999, //0x00, // L"K_?B8", // &HB8 0x999, //0x00, // L"K_?B9", // &HB9 ----- 0x29, // L"K_COLON", // &HBA - 0x999, // 0x0D, // L"K_EQUA0x00, // L", // &HBB - 0x2B, // L"K_COMMA", // &HBC ................................................... 190 ........................................... + 24, // 0x0D, // L"K_EQUA0x00, // L", // &HBB 187 + 0x2B, // L"K_COMMA", // &HBC ........ 0x1B, // L"K_HYPHEN", // &HBD - 0x2F, // L"K_PERIOD", // &HBE +0x2F, // L"K_PERIOD", // &HBE................................................ 190 ...................................... 0x2C, // L"K_SLASH", // &HBF - 0x999, //0x77, // L"K_BKQUOTE", // &HC0 ----- + 0x0A, //0x77, // L"K_BKQUOTE", // &HC0 ----- 0x999, //0x73, // L"K_?C1", // &HC1 0x999, //0x7E, // L"K_?C2", // &HC2 0x999, //0x00, // L"K_?C3", // &HC3 - 0x999, //0x00, // L"K_?C4", // &HC4 + 0x999, //0x00, // L"K_?C4", // &HC4 196 0x999, //0x00, // L"K_?C5", // &HC5 0x999, //0x00, // L"K_?C6", // &HC6 0x999, //0x00, // L"K_?C7", // &HC7 - 0x999, //0x00, // L"K_?C8", // &HC8 + 0x999, //0x00, // L"K_?C8", // &HC8 0x999, //0x00, // L"K_?C9", // &HC9 0x999, //0x00, // L"K_?CA", // &HCA 0x999, //0x00, // L"K_?CB", // &HCB @@ -872,9 +873,9 @@ const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, //0x00, // L"K_?CD", // &HCD 0x999, //0x00, // L"K_?CE", // &HCE 0x999, //0x00, // L"K_?CF", // &HCF - 0x999, //0x00, // L"K_?D0", // &HD0................................................... 210 ........................................... + 0x999, //0x00, // L"K_?D0", // &HD0............... 0x999, //0x00, // L"K_?D1", // &HD1 - 0x999, //0x00, // L"K_?D2", // &HD2 + 0x999, //0x00, // L"K_?D2", // &HD2............................................... 210 ................................ 0x999, //0x00, // L"K_?D3", // &HD3 0x999, //0x00, // L"K_?D4", // &HD4 0x999, //0x00, // L"K_?D5", // &HD5 @@ -883,30 +884,28 @@ const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, //0x00, // L"K_?D8", // &HD8 0x999, //0x00, // L"K_?D9", // &HD9 0x999, //0x00, // L"K_?DA", // &HDA - - 0x21, // L"K_LBRKT", // &HDB + 0x21, // L"K_LBRKT", // &HDB 0x2A, // L"K_BKSLASH", // &HDC - 0x1E, // L"K_RBRKT", // &HDD - 0x27, // L"K_QUOTE", // &HDE - 0x73, // L"K_oDF", // &HDF // MCD 01-11-02: Brazilian fix: 00 -> 73 + 0x1E, // L"K_RBRKT", // &HDD + 0x27, // L"K_QUOTE", // &HDE + 0x32, // L"K_oDF", // &HDF // MCD 01-11-02: Brazilian fix: 00 -> 73 0x999, //0x00, // L"K_oE0", // &HE0 0x999, //0x00, // L"K_oE1", // &HE1 - 0x999, //0x56, // L"K_oE2", // &HE2 + 50, //0x56, // L"K_oE2", // &HE2 0x999, //0x00, // L"K_oE3", // &HE3 - 0x999, //0x00, // L"K_oE4", // &HE4................................................... 220 ........................................... - + 0x999, //0x00, // L"K_oE4", // &HE4..... 0x999, //0x00, // L"K_?E5", // &HE5 - 0x999, //0x00, // L"K_oE6", // &HE6 +0x999, //0x00, // L"K_oE6", // &HE6.................................................. 230 ....................................... 0x999, //0x00, // L"K_?E7", // &HE7 - 0x999, //0x00, // L"K_?E8", // &HE8 + 0x999, //0x00, // L"K_?E8", // &HE8 222 0x999, //0x71, // L"K_oE9", // &HE9 0x999, //0x5C, // L"K_oEA", // &HEA 0x999, //0x7B, // L"K_oEB", // &HEB - 0x999, //0x00, // L"K_oEC", // &HEC + 0x999, //0x00, // L"K_oEC", // &HEC 226 0x999, //0x6F, // L"K_oED", // &HED 0x999, //0x5A, // L"K_oEE", // &HEE 0x999, //0x00, // L"K_oEF", // &HEF - 0x999, //0x00, // L"K_oF0", // &HF0 + 0x999, //0x00, // L"K_oF0", // &HF0 0x999, //0x5B, // L"K_oF1", // &HF1 0x999, //0x00, // L"K_oF2", // &HF2 0x999, //0x5F, // L"K_oF3", // &HF3 @@ -916,7 +915,7 @@ const UINT mac_USVirtualKeyToScanCode[256] = { 0x999, //0x00, // L"K_?F7", // &HF7 0x999, //0x00, // L"K_?F8", // &HF8 0x999, //0x5D, // L"K_?F9", // &HF9 - 0x999, //0x00, // L"K_?FA", // &HFA + 0x999, //0x00, // L"K_?FA", // &HFA 0x999, //0x62, // L"K_?FB", // &HFB 0x999, //0x00, // L"K_?FC", // &HFC 0x999, //0x00, // L"K_?FD", // &HFD diff --git a/mac/mcompile/mc_import_rules.cpp b/mac/mcompile/mc_import_rules.cpp index 2e00e03d92..7498872940 100755 --- a/mac/mcompile/mc_import_rules.cpp +++ b/mac/mcompile/mc_import_rules.cpp @@ -386,6 +386,7 @@ public: return n; }*/ +void print_All_Entries(std::vector rgKey); bool run_verify_S2(std::vector rgKey); bool mac_KMX_ImportRules( LPKMX_KEYBOARD kp,v_dw_3D &All_Vector, const UCKeyboardLayout **keyboard_layout,std::vector *KMX_FDeadkeys, KMX_BOOL bDeadkeyConversion) { // I4353 // I4327 @@ -480,11 +481,12 @@ bool mac_KMX_ImportRules( LPKMX_KEYBOARD kp,v_dw_3D &All_Vector, const UCKeyboar // Now that we've collected the key data, we need to // translate it to kmx and append to the existing keyboard //------------------------------------------------------------- + print_All_Entries(rgKey); if ( ! run_verify_S2(rgKey)) - printf(" ::::::::::::::::::::::::::::::::::::::::::::::::::: THERE ARE SOME WRONG ENTRIES ::::::::::::::::::::::::::::::::::::::::::::::::::: \n"); + printf(" \n::::::::::::::::::::::::::::::::::::::::::::::::::: THERE ARE SOME WRONG ENTRIES ::::::::::::::::::::::::::::::::::::::::::::::::::: \n"); else - printf(" ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :) :) :) ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: \n"); + printf("\n ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :) :) :) ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: \n"); int nDeadkey = 0; LPKMX_GROUP gp = new KMX_GROUP[kp->cxGroupArray+4]; // leave space for old @@ -695,6 +697,14 @@ const int CODE__SIZE[] = { +void print_entries_S2(int i, std::vector rgKey , std::string comp1,std::string comp2,std::string erg) { + std::string b0 =string_from_u16string(rgKey[i]->mac_KMX_GetShiftState(Base, 0 )); + std::string b1 =string_from_u16string(rgKey[i]->mac_KMX_GetShiftState(Base, 1 )); + std::string s0 =string_from_u16string(rgKey[i]->mac_KMX_GetShiftState(Shft, 0 )); + std::string s1 =string_from_u16string(rgKey[i]->mac_KMX_GetShiftState(Shft, 1 )); + printf("\n entry nr %i has characters %-30s:(%s|%s|%s|%s)",i, erg.c_str(), (const char * ) b0.c_str(),(const char * ) b1.c_str(),(const char * ) s0.c_str(),(const char * ) s1.c_str()); +} + bool verify_entries_S2(int i, std::vector rgKey, int res1,int res2,int res3,int res4 ,int res5=0, int res6=0, int res7=0, int res8=0 ) { std::vector st_vec; std::vector r_vec; @@ -722,6 +732,28 @@ bool verify_entries_S2(int i, std::vector rgKey, int res1,i return all_OK; } +void print_All_Entries( std::vector rgKey) { + for ( int i=48; i<58; i++) + print_entries_S2(i, rgKey," ","",""); + + for ( int i=65; i<91; i++) + print_entries_S2(i, rgKey, " ","", "" ); + + print_entries_S2(186, rgKey, "ö", "Ö", "xc3 xb6"); + print_entries_S2(187, rgKey, "´", ";", "´ ´ ` `"); + print_entries_S2(188, rgKey, ".", ":", ", , ; ;"); + print_entries_S2(189, rgKey, "ß", "?", "ß ß ? ?"); + print_entries_S2(190, rgKey, ".", ":", ". . : :"); + print_entries_S2(191, rgKey, "-", "_", "- - _ _"); + print_entries_S2(192, rgKey, "^", "°", "^ ^ ° °"); + + print_entries_S2(219, rgKey, "ü", "Ü", "ü,Ü;Ü;Ü"); + print_entries_S2(220, rgKey, "#", "'", "# # ' '"); + print_entries_S2(221, rgKey, "+", "*", "+ + * *"); + print_entries_S2(222, rgKey, "ä", "Ä", "ä Ä Ä Ä"); + print_entries_S2(226, rgKey, "<", ">", "< < > >"); +} + bool run_verify_S2(std::vector rgKey) { bool allOK= true; @@ -737,8 +769,6 @@ bool run_verify_S2(std::vector rgKey) { allOK = verify_entries_S2(56, rgKey, 56,56,40,40) && allOK; allOK = verify_entries_S2(57, rgKey, 57,57,41,41) && allOK; - allOK = verify_entries_S2(65, rgKey,97,65,65,65, 0x263A, 0xC5, 0, 0) && allOK; - for( int i=65; i<89;i++) allOK = verify_entries_S2(i, rgKey,i+32,i,i,i) && allOK; @@ -746,18 +776,31 @@ bool run_verify_S2(std::vector rgKey) { allOK = verify_entries_S2(90, rgKey, 89+32,89,89,89) && allOK; allOK = verify_entries_S2(186, rgKey, 246,214,214,214) && allOK; - //allOK = verify_entries_S2(187, rgKey, 48,48,61,61) && allOK; // dk ´ ` - allOK = verify_entries_S2(188, rgKey,44,44,59,59) && allOK; + //allOK = verify_entries_S2(187, rgKey, 180,180,96,96) && allOK; // dk ´ ` + allOK = verify_entries_S2(187, rgKey, 0,0,0,0) && allOK; // dk ´ ` + allOK = verify_entries_S2(188, rgKey, 44,44,59,59) && allOK; allOK = verify_entries_S2(189, rgKey, 223,223,63,63) && allOK; allOK = verify_entries_S2(190, rgKey, 46,46,58,58) && allOK; allOK = verify_entries_S2(191, rgKey, 45,45,95,95) && allOK; - //allOK = verify_entries_S2(192, rgKey, 48,48,61,61) && allOK; // dk ^ ° - allOK = verify_entries_S2(219, rgKey, 252,220,220,220) && allOK; - allOK = verify_entries_S2(220, rgKey, 35,35,39,39) && allOK; - allOK = verify_entries_S2(221, rgKey, 43,43,42,42) && allOK; - allOK = verify_entries_S2(222, rgKey, 228,196,196,196) && allOK; - //allOK = verify_entries_S2(226, rgKey, 48,48,61,61) && allOK; // < > + //allOK = verify_entries_S2(192, rgKey, 94,94,176,176) && allOK; // dk ^ ° + allOK = verify_entries_S2(192, rgKey, 0,0,176,176) && allOK; // dk ^ ° + allOK = verify_entries_S2(219, rgKey, 252,220,220,220) && allOK; + allOK = verify_entries_S2(220, rgKey, 35,35,39,39) && allOK; + allOK = verify_entries_S2(221, rgKey, 43,43,42,42) && allOK; + allOK = verify_entries_S2(222, rgKey, 228,196,196,196) && allOK; + allOK = verify_entries_S2(226, rgKey, 60,60,62,62) && allOK; // < > +// ------------------------------------------- + allOK = verify_entries_S2(48, rgKey, 48,48,61,61,L'}',0,0,0) && allOK; + allOK = verify_entries_S2(49, rgKey, 49,49,33,33,L'’',0,0,0) && allOK; + allOK = verify_entries_S2(50, rgKey, 50,50,34,34,L'²',0,0,0) && allOK; + allOK = verify_entries_S2(51, rgKey, 51,51,167,167,L'³',0,0,0) && allOK; + allOK = verify_entries_S2(52, rgKey, 52,52,36,36,L'—',0,0,0) && allOK; + allOK = verify_entries_S2(53, rgKey, 53,53,37,37,L'¡',0,0,0) && allOK; + allOK = verify_entries_S2(54, rgKey, 54,54,38,38,L'¿',0,0,0) && allOK; + allOK = verify_entries_S2(55, rgKey, 55,55,47,47,L'{',0,0,0) && allOK; + allOK = verify_entries_S2(56, rgKey, 56,56,40,40,L'[',0,0,0) && allOK; + allOK = verify_entries_S2(57, rgKey, 57,57,41,41,L']',0,0,0) && allOK; return allOK; }