termux-x11/app/src/main/jni/lorie/backend/android/keymaps.h

246 lines
10 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <stdint.h>
#define SYM_LENGTH 7
#define KEYCODE_MIN 8
#define KEYCODE_MAX 255
#define NOSYM {{0}, {0}}
struct lorie_keymap {
char *name;
struct keysym {
char normal[SYM_LENGTH];
char shift[SYM_LENGTH];
} keysyms[KEYCODE_MAX - KEYCODE_MIN];
};
struct lorie_keymap lorie_keymap_ru = {
.name = (char*) "ru",
.keysyms = {
NOSYM, // eventCode: 0
NOSYM, // eventCode: 1
{{49, 0, 0, 0, 0, 0, 0}, {33, 0, 0, 0, 0, 0, 0}}, // eventCode: 2; normal: "1"; shift: "!";
{{50, 0, 0, 0, 0, 0, 0}, {34, 0, 0, 0, 0, 0, 0}}, // eventCode: 3; normal: "2"; shift: """;
{{51, 0, 0, 0, 0, 0, 0}, {-30, -124, -106, 0, 0, 0, 0}}, // eventCode: 4; normal: "3"; shift: "№";
{{52, 0, 0, 0, 0, 0, 0}, {59, 0, 0, 0, 0, 0, 0}}, // eventCode: 5; normal: "4"; shift: ";";
{{53, 0, 0, 0, 0, 0, 0}, {37, 0, 0, 0, 0, 0, 0}}, // eventCode: 6; normal: "5"; shift: "%";
{{54, 0, 0, 0, 0, 0, 0}, {58, 0, 0, 0, 0, 0, 0}}, // eventCode: 7; normal: "6"; shift: ":";
{{55, 0, 0, 0, 0, 0, 0}, {63, 0, 0, 0, 0, 0, 0}}, // eventCode: 8; normal: "7"; shift: "?";
{{56, 0, 0, 0, 0, 0, 0}, {42, 0, 0, 0, 0, 0, 0}}, // eventCode: 9; normal: "8"; shift: "*";
{{57, 0, 0, 0, 0, 0, 0}, {40, 0, 0, 0, 0, 0, 0}}, // eventCode: 10; normal: "9"; shift: "(";
{{48, 0, 0, 0, 0, 0, 0}, {41, 0, 0, 0, 0, 0, 0}}, // eventCode: 11; normal: "0"; shift: ")";
{{45, 0, 0, 0, 0, 0, 0}, {95, 0, 0, 0, 0, 0, 0}}, // eventCode: 12; normal: "-"; shift: "_";
{{61, 0, 0, 0, 0, 0, 0}, {43, 0, 0, 0, 0, 0, 0}}, // eventCode: 13; normal: "="; shift: "+";
{{8, 0, 0, 0, 0, 0, 0}, {8, 0, 0, 0, 0, 0, 0}}, // eventCode: 14;
NOSYM, // eventCode: 15; normal: " ";
{{-48, -71, 0, 0, 0, 0, 0}, {-48, -103, 0, 0, 0, 0, 0}}, // eventCode: 16; normal: "й"; shift: "Й";
{{-47, -122, 0, 0, 0, 0, 0}, {-48, -90, 0, 0, 0, 0, 0}}, // eventCode: 17; normal: "ц"; shift: "Ц";
{{-47, -125, 0, 0, 0, 0, 0}, {-48, -93, 0, 0, 0, 0, 0}}, // eventCode: 18; normal: "у"; shift: "У";
{{-48, -70, 0, 0, 0, 0, 0}, {-48, -102, 0, 0, 0, 0, 0}}, // eventCode: 19; normal: "к"; shift: "К";
{{-48, -75, 0, 0, 0, 0, 0}, {-48, -107, 0, 0, 0, 0, 0}}, // eventCode: 20; normal: "е"; shift: "Е";
{{-48, -67, 0, 0, 0, 0, 0}, {-48, -99, 0, 0, 0, 0, 0}}, // eventCode: 21; normal: "н"; shift: "Н";
{{-48, -77, 0, 0, 0, 0, 0}, {-48, -109, 0, 0, 0, 0, 0}}, // eventCode: 22; normal: "г"; shift: "Г";
{{-47, -120, 0, 0, 0, 0, 0}, {-48, -88, 0, 0, 0, 0, 0}}, // eventCode: 23; normal: "ш"; shift: "Ш";
{{-47, -119, 0, 0, 0, 0, 0}, {-48, -87, 0, 0, 0, 0, 0}}, // eventCode: 24; normal: "щ"; shift: "Щ";
{{-48, -73, 0, 0, 0, 0, 0}, {-48, -105, 0, 0, 0, 0, 0}}, // eventCode: 25; normal: "з"; shift: "З";
{{-47, -123, 0, 0, 0, 0, 0}, {-48, -91, 0, 0, 0, 0, 0}}, // eventCode: 26; normal: "х"; shift: "Х";
{{-47, -118, 0, 0, 0, 0, 0}, {-48, -86, 0, 0, 0, 0, 0}}, // eventCode: 27; normal: "ъ"; shift: "Ъ";
{{13, 0, 0, 0, 0, 0, 0}, {13, 0, 0, 0, 0, 0, 0}}, // eventCode: 28;
NOSYM, // eventCode: 29
{{-47, -124, 0, 0, 0, 0, 0}, {-48, -92, 0, 0, 0, 0, 0}}, // eventCode: 30; normal: "ф"; shift: "Ф";
{{-47, -117, 0, 0, 0, 0, 0}, {-48, -85, 0, 0, 0, 0, 0}}, // eventCode: 31; normal: "ы"; shift: "Ы";
{{-48, -78, 0, 0, 0, 0, 0}, {-48, -110, 0, 0, 0, 0, 0}}, // eventCode: 32; normal: "в"; shift: "В";
{{-48, -80, 0, 0, 0, 0, 0}, {-48, -112, 0, 0, 0, 0, 0}}, // eventCode: 33; normal: "а"; shift: "А";
{{-48, -65, 0, 0, 0, 0, 0}, {-48, -97, 0, 0, 0, 0, 0}}, // eventCode: 34; normal: "п"; shift: "П";
{{-47, -128, 0, 0, 0, 0, 0}, {-48, -96, 0, 0, 0, 0, 0}}, // eventCode: 35; normal: "р"; shift: "Р";
{{-48, -66, 0, 0, 0, 0, 0}, {-48, -98, 0, 0, 0, 0, 0}}, // eventCode: 36; normal: "о"; shift: "О";
{{-48, -69, 0, 0, 0, 0, 0}, {-48, -101, 0, 0, 0, 0, 0}}, // eventCode: 37; normal: "л"; shift: "Л";
{{-48, -76, 0, 0, 0, 0, 0}, {-48, -108, 0, 0, 0, 0, 0}}, // eventCode: 38; normal: "д"; shift: "Д";
{{-48, -74, 0, 0, 0, 0, 0}, {-48, -106, 0, 0, 0, 0, 0}}, // eventCode: 39; normal: "ж"; shift: "Ж";
{{-47, -115, 0, 0, 0, 0, 0}, {-48, -83, 0, 0, 0, 0, 0}}, // eventCode: 40; normal: "э"; shift: "Э";
{{-47, -111, 0, 0, 0, 0, 0}, {-48, -127, 0, 0, 0, 0, 0}}, // eventCode: 41; normal: "ё"; shift: "Ё";
NOSYM, // eventCode: 42;
{{92, 0, 0, 0, 0, 0, 0}, {47, 0, 0, 0, 0, 0, 0}}, // eventCode: 43; normal: "\"; shift: "/";
{{-47, -113, 0, 0, 0, 0, 0}, {-48, -81, 0, 0, 0, 0, 0}}, // eventCode: 44; normal: "я"; shift: "Я";
{{-47, -121, 0, 0, 0, 0, 0}, {-48, -89, 0, 0, 0, 0, 0}}, // eventCode: 45; normal: "ч"; shift: "Ч";
{{-47, -127, 0, 0, 0, 0, 0}, {-48, -95, 0, 0, 0, 0, 0}}, // eventCode: 46; normal: "с"; shift: "С";
{{-48, -68, 0, 0, 0, 0, 0}, {-48, -100, 0, 0, 0, 0, 0}}, // eventCode: 47; normal: "м"; shift: "М";
{{-48, -72, 0, 0, 0, 0, 0}, {-48, -104, 0, 0, 0, 0, 0}}, // eventCode: 48; normal: "и"; shift: "И";
{{-47, -126, 0, 0, 0, 0, 0}, {-48, -94, 0, 0, 0, 0, 0}}, // eventCode: 49; normal: "т"; shift: "Т";
{{-47, -116, 0, 0, 0, 0, 0}, {-48, -84, 0, 0, 0, 0, 0}}, // eventCode: 50; normal: "ь"; shift: "Ь";
{{-48, -79, 0, 0, 0, 0, 0}, {-48, -111, 0, 0, 0, 0, 0}}, // eventCode: 51; normal: "б"; shift: "Б";
{{-47, -114, 0, 0, 0, 0, 0}, {-48, -82, 0, 0, 0, 0, 0}}, // eventCode: 52; normal: "ю"; shift: "Ю";
{{46, 0, 0, 0, 0, 0, 0}, {44, 0, 0, 0, 0, 0, 0}}, // eventCode: 53; normal: "."; shift: ",";
}
};
struct lorie_keymap *lorie_keymaps[] = {&lorie_keymap_ru, NULL};
struct lorie_keymap_android {
int eventCode;
int shift;
} lorie_keymap_android[] = {
{0, 0}, {0, 0}, {0, 0}, {0, 0},
{1, 0}, // keycode 4
{0, 0}, {0, 0},
{11, 0}, // keycode 7
{2, 0}, // keycode 8
{3, 0}, // keycode 9
{4, 0}, // keycode 10
{5, 0}, // keycode 11
{6, 0}, // keycode 12
{7, 0}, // keycode 13
{8, 0}, // keycode 14
{9, 0}, // keycode 15
{10, 0}, // keycode 16
{9, 1}, // keycode 17
{4, 1}, // keycode 18
{103, 0}, // keycode 19
{108, 0}, // keycode 20
{105, 0}, // keycode 21
{106, 0}, // keycode 22
{0, 0},
{115, 0}, // keycode 24
{114, 0}, // keycode 25
{116, 0}, // keycode 26
{212, 0}, // keycode 27
{0, 0},
{30, 0}, // keycode 29
{48, 0}, // keycode 30
{46, 0}, // keycode 31
{32, 0}, // keycode 32
{18, 0}, // keycode 33
{33, 0}, // keycode 34
{34, 0}, // keycode 35
{35, 0}, // keycode 36
{23, 0}, // keycode 37
{36, 0}, // keycode 38
{37, 0}, // keycode 39
{38, 0}, // keycode 40
{50, 0}, // keycode 41
{49, 0}, // keycode 42
{24, 0}, // keycode 43
{25, 0}, // keycode 44
{16, 0}, // keycode 45
{19, 0}, // keycode 46
{31, 0}, // keycode 47
{20, 0}, // keycode 48
{22, 0}, // keycode 49
{47, 0}, // keycode 50
{17, 0}, // keycode 51
{45, 0}, // keycode 52
{21, 0}, // keycode 53
{44, 0}, // keycode 54
{51, 0}, // keycode 55
{52, 0}, // keycode 56
{56, 0}, // keycode 57
{100, 0}, // keycode 58
{42, 0}, // keycode 59
{54, 0}, // keycode 60
{15, 0}, // keycode 61
{57, 0}, // keycode 62
{0, 0},
{150, 0}, // keycode 64
{155, 0}, // keycode 65
{28, 0}, // keycode 66
{14, 0}, // keycode 67
{41, 0}, // keycode 68
{12, 0}, // keycode 69
{13, 0}, // keycode 70
{26, 0}, // keycode 71
{27, 0}, // keycode 72
{43, 0}, // keycode 73
{39, 0}, // keycode 74
{40, 0}, // keycode 75
{53, 0}, // keycode 76
{3, 1}, // keycode 77
{0, 0}, {0, 0}, {0, 0},
{13, 1}, // keycode 81
{139, 0}, // keycode 82
{0, 0},
{217, 0}, // keycode 84
{164, 0}, // keycode 85
{625, 0}, // keycode 86
{163, 0}, // keycode 87
{165, 0}, // keycode 88
{168, 0}, // keycode 89
{208, 0}, // keycode 90
{248, 0}, // keycode 91
{104, 0}, // keycode 92
{109, 0}, // keycode 93
{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0},
{1, 0}, // keycode 111
{111, 0}, // keycode 112
{29, 0}, // keycode 113
{97, 0}, // keycode 114
{58, 0}, // keycode 115
{70, 0}, // keycode 116
{125, 0}, // keycode 117
{126, 0}, // keycode 118
{0, 0},
{99, 0}, // keycode 120
{411, 0}, // keycode 121
{102, 0}, // keycode 122
{107, 0}, // keycode 123
{110, 0}, // keycode 124
{159, 0}, // keycode 125
{207, 0}, // keycode 126
{0, 0},
{160, 0}, // keycode 128
{161, 0}, // keycode 129
{167, 0}, // keycode 130
{59, 0}, // keycode 131
{60, 0}, // keycode 132
{61, 0}, // keycode 133
{62, 0}, // keycode 134
{63, 0}, // keycode 135
{64, 0}, // keycode 136
{65, 0}, // keycode 137
{66, 0}, // keycode 138
{67, 0}, // keycode 139
{68, 0}, // keycode 140
{87, 0}, // keycode 141
{88, 0}, // keycode 142
{69, 0}, // keycode 143
{82, 0}, // keycode 144
{79, 0}, // keycode 145
{80, 0}, // keycode 146
{81, 0}, // keycode 147
{75, 0}, // keycode 148
{76, 0}, // keycode 149
{77, 0}, // keycode 150
{71, 0}, // keycode 151
{72, 0}, // keycode 152
{73, 0}, // keycode 153
{98, 0}, // keycode 154
{55, 0}, // keycode 155
{74, 0}, // keycode 156
{78, 0}, // keycode 157
{83, 0}, // keycode 158
{121, 0}, // keycode 159
{96, 0}, // keycode 160
{117, 0}, // keycode 161
{179, 0}, // keycode 162
{180, 0}, // keycode 163
{113, 0}, // keycode 164
{358, 0}, // keycode 165
{402, 0}, // keycode 166
{403, 0}, // keycode 167
{418, 0}, // keycode 168
{419, 0}, // keycode 169
{377, 0}, // keycode 170
{0, 0}, {0, 0}, {0, 0},
{156, 0}, // keycode 174
{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0},
{398, 0}, // keycode 183
{399, 0}, // keycode 184
{400, 0}, // keycode 185
{401, 0}, // keycode 186
{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0},
{429, 0}, // keycode 207
{397, 0}, // keycode 208
{387, 0}, // keycode 209
{140, 0}, // keycode 210
{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0},
{224, 0}, // keycode 220
{225, 0}, // keycode 221
{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}
};