summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/multikey/keyboard.cpp57
1 files changed, 33 insertions, 24 deletions
diff --git a/inputmethods/multikey/keyboard.cpp b/inputmethods/multikey/keyboard.cpp
index de3aa52..08318bd 100644
--- a/inputmethods/multikey/keyboard.cpp
+++ b/inputmethods/multikey/keyboard.cpp
@@ -364,7 +364,8 @@ void Keyboard::mousePressEvent(QMouseEvent *e)
364 364
365 // Back accent character support 365 // Back accent character support
366 366
367 if (unicode == 0x60) { 367 //if (unicode == 0x60) { // the keys from 2c6 ~ 2cf should be used instead of the ascii one
368 if (unicode == 0x2cb) {
368 369
369 unicode = 0; 370 unicode = 0;
370 if (shift || lock) { 371 if (shift || lock) {
@@ -381,7 +382,8 @@ void Keyboard::mousePressEvent(QMouseEvent *e)
381 382
382 // Accent character support 383 // Accent character support
383 384
384 if (unicode == 0xb4) { 385 //if (unicode == 0xb4) {
386 if (unicode == 0x2ca) {
385 387
386 unicode = 0; 388 unicode = 0;
387 if (shift || lock) { 389 if (shift || lock) {
@@ -766,6 +768,13 @@ void Keyboard::mouseReleaseEvent(QMouseEvent*)
766 repaint(FALSE); 768 repaint(FALSE);
767 769
768 } 770 }
771 if (ctrl && unicode != 0) {
772
773 *ctrl = 0;
774 ctrl = 0;
775 repaint(FALSE);
776
777 }
769 778
770 /* 779 /*
771 * do not make the meta key release after being pressed 780 * do not make the meta key release after being pressed
@@ -1015,9 +1024,9 @@ void Keyboard::loadKeyboardColors() {
1015 * 1024 *
1016 * all following chars means unicode char value and are in hex 1025 * all following chars means unicode char value and are in hex
1017 * 1026 *
1018 * ĆŹĄ½ = schar (start char) 1027 * ģ“ˆģŒ = schar (start char)
1019 * Įߥ½ = mchar (middle char) 1028 * ģ¤‘ģŒ = mchar (middle char)
1020 * ³”Ą½ = echar (end char) 1029 * ėģŒ = echar (end char)
1021 * 1030 *
1022 * there are 19 schars. unicode position is at 1100 - 1112 1031 * there are 19 schars. unicode position is at 1100 - 1112
1023 * there are 21 mchars. unicode position is at 1161 - 1175 1032 * there are 21 mchars. unicode position is at 1161 - 1175
@@ -1057,49 +1066,49 @@ ushort Keyboard::parseKoreanInput (ushort c) {
1057 } 1066 }
1058 else { // must figure out what the echar is 1067 else { // must figure out what the echar is
1059 1068
1060 if (echar == 0x11a8) { // ¤” 1069 if (echar == 0x11a8) { // 愱
1061 1070
1062 if (c == 0x1100) echar = 0x11a9; // ¤” + ¤” 1071 if (c == 0x1100) echar = 0x11a9; // 愱 + 愱
1063 else if (c == 0x1109) echar = 0x11aa; // ¤” + ¤µ 1072 else if (c == 0x1109) echar = 0x11aa; // 愱 + 慅
1064 else { 1073 else {
1065 schar = c; mchar = 0; echar = 0; 1074 schar = c; mchar = 0; echar = 0;
1066 return c; 1075 return c;
1067 } 1076 }
1068 1077
1069 } else if (echar == 0x11ab) { // ¤¤ 1078 } else if (echar == 0x11ab) { // ć„“
1070 1079
1071 if (c == 0x110c) echar = 0x11ac; // ¤¤ + ¤ø 1080 if (c == 0x110c) echar = 0x11ac; // ć„“ + 慈
1072 else if (c == 0x1112) echar = 0x11ad; // ¤¤ + ¤¾ 1081 else if (c == 0x1112) echar = 0x11ad; // ć„“ + 慎
1073 else { 1082 else {
1074 schar = c; mchar = 0; echar = 0; 1083 schar = c; mchar = 0; echar = 0;
1075 return c; 1084 return c;
1076 } 1085 }
1077 1086
1078 } else if (echar == 0x11af) { // ¤© 1087 } else if (echar == 0x11af) { // ć„¹
1079 1088
1080 if (c == 0x1100) echar = 0x11b0; // ¤© + ¤” 1089 if (c == 0x1100) echar = 0x11b0; // ć„¹ + 愱
1081 else if (c == 0x1106) echar = 0x11b1; // ¤© + ¤± 1090 else if (c == 0x1106) echar = 0x11b1; // ć„¹ + 慁
1082 else if (c == 0x1107) echar = 0x11b2; // ¤© + ¤² 1091 else if (c == 0x1107) echar = 0x11b2; // ć„¹ + 慂
1083 else if (c == 0x1109) echar = 0x11b3; // ¤© + ¤µ 1092 else if (c == 0x1109) echar = 0x11b3; // ć„¹ + 慅
1084 else if (c == 0x1110) echar = 0x11b4; // ¤© + ¤¼ 1093 else if (c == 0x1110) echar = 0x11b4; // ć„¹ + 慌
1085 else if (c == 0x1111) echar = 0x11b5; // ¤© + ¤½ 1094 else if (c == 0x1111) echar = 0x11b5; // ć„¹ + 慍
1086 else if (c == 0x1112) echar = 0x11b6; // ¤© + ¤¾ 1095 else if (c == 0x1112) echar = 0x11b6; // ć„¹ + 慎
1087 else { 1096 else {
1088 schar = c; mchar = 0; echar = 0; 1097 schar = c; mchar = 0; echar = 0;
1089 return c; 1098 return c;
1090 } 1099 }
1091 1100
1092 } else if (echar == 0x11b8) { // ¤² 1101 } else if (echar == 0x11b8) { // 慂
1093 1102
1094 if (c == 0x1109) echar = 0x11b9; // ¤² + ¤µ 1103 if (c == 0x1109) echar = 0x11b9; // 慂 + 慅
1095 else { 1104 else {
1096 schar = c; mchar = 0; echar = 0; 1105 schar = c; mchar = 0; echar = 0;
1097 return c; 1106 return c;
1098 } 1107 }
1099 1108
1100 } else if (echar == 0x11ba) { // ¤µ 1109 } else if (echar == 0x11ba) { // 慅
1101 1110
1102 if (c == 0x1109) echar = 0x11bb; // ¤µ + ¤µ 1111 if (c == 0x1109) echar = 0x11bb; // 慅 + 慅
1103 else { 1112 else {
1104 schar = c; mchar = 0; echar = 0; 1113 schar = c; mchar = 0; echar = 0;
1105 return c; 1114 return c;
@@ -1462,7 +1471,7 @@ void Keys::setKeysFromFile(const char * filename) {
1462 1471
1463 baccentMap.insert(lower, shift); 1472 baccentMap.insert(lower, shift);
1464 1473
1465 qDebug ("Estoy ańadiendo %i con %i", lower, shift); 1474 qDebug ("Estoy aadiendo %i con %i", lower, shift);
1466 buf = t.readLine(); 1475 buf = t.readLine();
1467 } 1476 }
1468 // accent 1477 // accent