246 lines
10 KiB
C
246 lines
10 KiB
C
#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}
|
||
};
|