[LyX/master] Define keyboard codes for Cyrillic letters, enable shortcuts using them
Yuriy Skalko
yuriy.skalko at gmail.com
Mon Jan 4 10:01:34 UTC 2021
commit a0b65e9bf830c5e46020fd6993474b1508245819
Author: Yuriy Skalko <yuriy.skalko at gmail.com>
Date: Tue Sep 15 20:21:54 2020 +0300
Define keyboard codes for Cyrillic letters, enable shortcuts using them
---
src/frontends/qt/GuiKeySymbol.cpp | 112 +++++++++++++++++++++++++++++++++++++
1 files changed, 112 insertions(+), 0 deletions(-)
diff --git a/src/frontends/qt/GuiKeySymbol.cpp b/src/frontends/qt/GuiKeySymbol.cpp
index 2cd2f61..c1882f7 100644
--- a/src/frontends/qt/GuiKeySymbol.cpp
+++ b/src/frontends/qt/GuiKeySymbol.cpp
@@ -354,6 +354,80 @@ static int string_to_qkey(std::string const & str)
if (str == "Help") return Qt::Key_Help;
if (str == "BackTab") return Qt::Key_Backtab;
+ // Keyboard codes for Cyrillic letters
+ if (str == "А") return 1040;
+ if (str == "Б") return 1041;
+ if (str == "В") return 1042;
+ if (str == "Г") return 1043;
+ if (str == "Д") return 1044;
+ if (str == "Е") return 1045;
+ if (str == "Є") return 1028;
+ if (str == "Ё") return 1025;
+ if (str == "Ж") return 1046;
+ if (str == "З") return 1047;
+ if (str == "И") return 1048;
+ if (str == "І") return 1030;
+ if (str == "Ї") return 1031;
+ if (str == "Й") return 1049;
+ if (str == "К") return 1050;
+ if (str == "Л") return 1051;
+ if (str == "М") return 1052;
+ if (str == "Н") return 1053;
+ if (str == "О") return 1054;
+ if (str == "П") return 1055;
+ if (str == "Р") return 1056;
+ if (str == "С") return 1057;
+ if (str == "Т") return 1058;
+ if (str == "У") return 1059;
+ if (str == "Ф") return 1060;
+ if (str == "Х") return 1061;
+ if (str == "Ц") return 1062;
+ if (str == "Ч") return 1063;
+ if (str == "Ш") return 1064;
+ if (str == "Щ") return 1065;
+ if (str == "Ъ") return 1066;
+ if (str == "Ы") return 1067;
+ if (str == "Ь") return 1068;
+ if (str == "Э") return 1069;
+ if (str == "Ю") return 1070;
+ if (str == "Я") return 1071;
+ if (str == "а") return 1040;
+ if (str == "б") return 1041;
+ if (str == "в") return 1042;
+ if (str == "г") return 1043;
+ if (str == "д") return 1044;
+ if (str == "е") return 1045;
+ if (str == "є") return 1028;
+ if (str == "ё") return 1025;
+ if (str == "ж") return 1046;
+ if (str == "з") return 1047;
+ if (str == "и") return 1048;
+ if (str == "і") return 1030;
+ if (str == "ї") return 1031;
+ if (str == "й") return 1049;
+ if (str == "к") return 1050;
+ if (str == "л") return 1051;
+ if (str == "м") return 1052;
+ if (str == "н") return 1053;
+ if (str == "о") return 1054;
+ if (str == "п") return 1055;
+ if (str == "р") return 1056;
+ if (str == "с") return 1057;
+ if (str == "т") return 1058;
+ if (str == "у") return 1059;
+ if (str == "ф") return 1060;
+ if (str == "х") return 1061;
+ if (str == "ц") return 1062;
+ if (str == "ч") return 1063;
+ if (str == "ш") return 1064;
+ if (str == "щ") return 1065;
+ if (str == "ъ") return 1066;
+ if (str == "ы") return 1067;
+ if (str == "ь") return 1068;
+ if (str == "э") return 1069;
+ if (str == "ю") return 1070;
+ if (str == "я") return 1071;
+
return Qt::Key_unknown;
}
@@ -574,6 +648,44 @@ static std::string const qkey_to_string(int lkey)
case Qt::Key_Help: return "Help";
case Qt::Key_Backtab: return "BackTab";
+ // Cyrillic
+ case 1040: return "а";
+ case 1041: return "б";
+ case 1042: return "в";
+ case 1043: return "г";
+ case 1044: return "д";
+ case 1045: return "е";
+ case 1028: return "є";
+ case 1025: return "ё";
+ case 1046: return "ж";
+ case 1047: return "з";
+ case 1048: return "и";
+ case 1030: return "і";
+ case 1031: return "ї";
+ case 1049: return "й";
+ case 1050: return "к";
+ case 1051: return "л";
+ case 1052: return "м";
+ case 1053: return "н";
+ case 1054: return "о";
+ case 1055: return "п";
+ case 1056: return "р";
+ case 1057: return "с";
+ case 1058: return "т";
+ case 1059: return "у";
+ case 1060: return "ф";
+ case 1061: return "х";
+ case 1062: return "ц";
+ case 1063: return "ч";
+ case 1064: return "ш";
+ case 1065: return "щ";
+ case 1066: return "ъ";
+ case 1067: return "ы";
+ case 1068: return "ь";
+ case 1069: return "э";
+ case 1070: return "ю";
+ case 1071: return "я";
+
default:
case Qt::Key_unknown: return "";
}
More information about the lyx-cvs
mailing list