Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct KbdKeyChar {
- char16_t character;
- bool isDeadKey;
- };
- // English (U.S)
- static const KbdKeyChar en_US[48][2] = {
- // Digits row
- /* <TLDE> */ {{'`'}, {'~'}},
- /* <AE01> */ {{'1'}, {'!'}},
- /* <AE02> */ {{'2'}, {'@'}},
- /* <AE03> */ {{'3'}, {'#'}},
- /* <AE04> */ {{'4'}, {'$'}},
- /* <AE05> */ {{'5'}, {'%'}},
- /* <AE06> */ {{'6'}, {'^'}},
- /* <AE07> */ {{'7'}, {'&'}},
- /* <AE08> */ {{'8'}, {'*'}},
- /* <AE09> */ {{'9'}, {'('}},
- /* <AE10> */ {{'0'}, {')'}},
- /* <AE11> */ {{'-'}, {'_'}},
- /* <AE12> */ {{'='}, {'+'}},
- // Upper row
- /* <AD01> */ {{'q'}, {'Q'}},
- /* <AD02> */ {{'w'}, {'W'}},
- /* <AD03> */ {{'e'}, {'E'}},
- /* <AD04> */ {{'r'}, {'R'}},
- /* <AD05> */ {{'t'}, {'T'}},
- /* <AD06> */ {{'y'}, {'Y'}},
- /* <AD07> */ {{'u'}, {'U'}},
- /* <AD08> */ {{'i'}, {'I'}},
- /* <AD09> */ {{'o'}, {'O'}},
- /* <AD10> */ {{'p'}, {'P'}},
- /* <AD11> */ {{'['}, {'{'}},
- /* <AD12> */ {{']'}, {'}'}},
- // Home row
- /* <AC01> */ {{'a'}, {'A'}},
- /* <AC02> */ {{'s'}, {'S'}},
- /* <AC03> */ {{'d'}, {'D'}},
- /* <AC04> */ {{'f'}, {'F'}},
- /* <AC05> */ {{'g'}, {'G'}},
- /* <AC06> */ {{'h'}, {'H'}},
- /* <AC07> */ {{'j'}, {'J'}},
- /* <AC08> */ {{'k'}, {'K'}},
- /* <AC09> */ {{'l'}, {'L'}},
- /* <AC10> */ {{';'}, {':'}},
- /* <AC11> */ {{'\''}, {'\"'}},
- /* <BKSL> */ {{'\\'}, {'|'}},
- // Lower row
- /* <LSGT> */ {{'<'}, {'>'}},
- /* <AB01> */ {{'z'}, {'Z'}},
- /* <AB02> */ {{'x'}, {'X'}},
- /* <AB03> */ {{'c'}, {'C'}},
- /* <AB04> */ {{'v'}, {'V'}},
- /* <AB05> */ {{'b'}, {'B'}},
- /* <AB06> */ {{'n'}, {'N'}},
- /* <AB07> */ {{'m'}, {'M'}},
- /* <AB08> */ {{','}, {'<'}},
- /* <AB09> */ {{'.'}, {'>'}},
- /* <AB10> */ {{'/'}, {'?'}}
- };
- // German
- static const KbdKeyChar de_DE[48][2] = {
- // Digits row
- /* <TLDE> */ {{u'\u0302', true}, {u'\u00b0'}},
- /* <AE01> */ {{'1'}, {'!'}},
- /* <AE02> */ {{'2'}, {'\"'}},
- /* <AE03> */ {{'3'}, {u'\u00a7'}},
- /* <AE04> */ {{'4'}, {'$'}},
- /* <AE05> */ {{'5'}, {'%'}},
- /* <AE06> */ {{'6'}, {'&'}},
- /* <AE07> */ {{'7'}, {'/'}},
- /* <AE08> */ {{'8'}, {'('}},
- /* <AE09> */ {{'9'}, {')'}},
- /* <AE10> */ {{'0'}, {'='}},
- /* <AE11> */ {{u'\u00df'}, {'?'}},
- /* <AE12> */ {{u'\u0301', true}, {u'\u0300', true}},
- // Upper row
- /* <AD01> */ {{'q'}, {'Q'}},
- /* <AD02> */ {{'w'}, {'W'}},
- /* <AD03> */ {{'e'}, {'E'}},
- /* <AD04> */ {{'r'}, {'R'}},
- /* <AD05> */ {{'t'}, {'T'}},
- /* <AD06> */ {{'z'}, {'Z'}},
- /* <AD07> */ {{'u'}, {'U'}},
- /* <AD08> */ {{'i'}, {'I'}},
- /* <AD09> */ {{'o'}, {'O'}},
- /* <AD10> */ {{'p'}, {'P'}},
- /* <AD11> */ {{u'\u00fc'}, {u'\u00dc'}},
- /* <AD12> */ {{'+'}, {'*'}},
- // Home row
- /* <AC01> */ {{'a'}, {'A'}},
- /* <AC02> */ {{'s'}, {'S'}},
- /* <AC03> */ {{'d'}, {'D'}},
- /* <AC04> */ {{'f'}, {'F'}},
- /* <AC05> */ {{'g'}, {'G'}},
- /* <AC06> */ {{'h'}, {'H'}},
- /* <AC07> */ {{'j'}, {'J'}},
- /* <AC08> */ {{'k'}, {'K'}},
- /* <AC09> */ {{'l'}, {'L'}},
- /* <AC10> */ {{u'\u00f6'}, {u'\u00d6'}},
- /* <AC11> */ {{u'\u00e4'}, {u'\u00c4'}},
- /* <BKSL> */ {{'#'}, {'\''}},
- // Lower row
- /* <LSGT> */ {{'<'}, {'>'}},
- /* <AB01> */ {{'y'}, {'Y'}},
- /* <AB02> */ {{'x'}, {'X'}},
- /* <AB03> */ {{'c'}, {'C'}},
- /* <AB04> */ {{'v'}, {'V'}},
- /* <AB05> */ {{'b'}, {'B'}},
- /* <AB06> */ {{'n'}, {'N'}},
- /* <AB07> */ {{'m'}, {'M'}},
- /* <AB08> */ {{','}, {';'}},
- /* <AB09> */ {{'.'}, {':'}},
- /* <AB10> */ {{'-'}, {'_'}}
- };
- // French
- static const KbdKeyChar fr_FR[48][2] = {
- // Digits row
- /* <TLDE> */ {{u'\u00b2'}, {'~'}},
- /* <AE01> */ {{'&'}, {'1'}},
- /* <AE02> */ {{u'\u00e9'}, {'2'}},
- /* <AE03> */ {{'\"'}, {'3'}},
- /* <AE04> */ {{'\''}, {'4'}},
- /* <AE05> */ {{'('}, {'5'}},
- /* <AE06> */ {{'-'}, {'6'}},
- /* <AE07> */ {{u'\u00e8'}, {'7'}},
- /* <AE08> */ {{'_'}, {'8'}},
- /* <AE09> */ {{u'\u00e7'}, {'9'}},
- /* <AE10> */ {{u'\u00e0'}, {'0'}},
- /* <AE11> */ {{')'}, {u'\u00b0'}},
- /* <AE12> */ {{'='}, {'+'}},
- // Upper row
- /* <AD01> */ {{'a'}, {'A'}},
- /* <AD02> */ {{'z'}, {'Z'}},
- /* <AD03> */ {{'e'}, {'E'}},
- /* <AD04> */ {{'r'}, {'R'}},
- /* <AD05> */ {{'t'}, {'T'}},
- /* <AD06> */ {{'y'}, {'Y'}},
- /* <AD07> */ {{'u'}, {'U'}},
- /* <AD08> */ {{'i'}, {'I'}},
- /* <AD09> */ {{'o'}, {'O'}},
- /* <AD10> */ {{'p'}, {'P'}},
- /* <AD11> */ {{u'\u0302', true}, {u'\u0308', true}},
- /* <AD12> */ {{'$'}, {u'\u00a3'}},
- // Home row
- /* <AC01> */ {{'q'}, {'Q'}},
- /* <AC02> */ {{'s'}, {'S'}},
- /* <AC03> */ {{'d'}, {'D'}},
- /* <AC04> */ {{'f'}, {'F'}},
- /* <AC05> */ {{'g'}, {'G'}},
- /* <AC06> */ {{'h'}, {'H'}},
- /* <AC07> */ {{'j'}, {'J'}},
- /* <AC08> */ {{'k'}, {'K'}},
- /* <AC09> */ {{'l'}, {'L'}},
- /* <AC10> */ {{'m'}, {'M'}},
- /* <AC11> */ {{u'\u00f9'}, {'%'}},
- /* <BKSL> */ {{'*'}, {u'\u00b5'}},
- // Lower row
- /* <LSGT> */ {{'<'}, {'>'}},
- /* <AB01> */ {{'w'}, {'W'}},
- /* <AB02> */ {{'x'}, {'X'}},
- /* <AB03> */ {{'c'}, {'C'}},
- /* <AB04> */ {{'v'}, {'V'}},
- /* <AB05> */ {{'b'}, {'B'}},
- /* <AB06> */ {{'n'}, {'N'}},
- /* <AB07> */ {{','}, {'?'}},
- /* <AB08> */ {{';'}, {'.'}},
- /* <AB09> */ {{':'}, {'/'}},
- /* <AB10> */ {{'!'}, {u'\u00a7'}}
- };
- // Russian
- static const KbdKeyChar ru_RU[48][2] = {
- // Digits row
- /* <TLDE> */ {{u'\u0451'}, {u'\u0401'}},
- /* <AE01> */ {{'1'}, {'!'}},
- /* <AE02> */ {{'2'}, {'\"'}},
- /* <AE03> */ {{'3'}, {u'\u2116'}},
- /* <AE04> */ {{'4'}, {';'}},
- /* <AE05> */ {{'5'}, {'%'}},
- /* <AE06> */ {{'6'}, {':'}},
- /* <AE07> */ {{'7'}, {'?'}},
- /* <AE08> */ {{'8'}, {'*'}},
- /* <AE09> */ {{'9'}, {'('}},
- /* <AE10> */ {{'0'}, {')'}},
- /* <AE11> */ {{'-'}, {'_'}},
- /* <AE12> */ {{'='}, {'+'}},
- // Upper row
- /* <AD01> */ {{u'\u0439'}, {u'\u0419'}},
- /* <AD02> */ {{u'\u0446'}, {u'\u0426'}},
- /* <AD03> */ {{u'\u0443'}, {u'\u0423'}},
- /* <AD04> */ {{u'\u043a'}, {u'\u041a'}},
- /* <AD05> */ {{u'\u0435'}, {u'\u0415'}},
- /* <AD06> */ {{u'\u043d'}, {u'\u041d'}},
- /* <AD07> */ {{u'\u0433'}, {u'\u0413'}},
- /* <AD08> */ {{u'\u0448'}, {u'\u0428'}},
- /* <AD09> */ {{u'\u0449'}, {u'\u0429'}},
- /* <AD10> */ {{u'\u0437'}, {u'\u0417'}},
- /* <AD11> */ {{u'\u0445'}, {u'\u0425'}},
- /* <AD12> */ {{u'\u044a'}, {u'\u042a'}},
- // Home row
- /* <AC01> */ {{u'\u0444'}, {u'\u0424'}},
- /* <AC02> */ {{u'\u044b'}, {u'\u042b'}},
- /* <AC03> */ {{u'\u0432'}, {u'\u0412'}},
- /* <AC04> */ {{u'\u0430'}, {u'\u0410'}},
- /* <AC05> */ {{u'\u043f'}, {u'\u041f'}},
- /* <AC06> */ {{u'\u0440'}, {u'\u0420'}},
- /* <AC07> */ {{u'\u043e'}, {u'\u041e'}},
- /* <AC08> */ {{u'\u043b'}, {u'\u041b'}},
- /* <AC09> */ {{u'\u0434'}, {u'\u0414'}},
- /* <AC10> */ {{u'\u0436'}, {u'\u0416'}},
- /* <AC11> */ {{u'\u044d'}, {u'\u042d'}},
- /* <BKSL> */ {{'\\'}, {'/'}},
- // Lower row
- /* <LSGT> */ {{'/'}, {'|'}},
- /* <AB01> */ {{u'\u044f'}, {u'\u042f'}},
- /* <AB02> */ {{u'\u0447'}, {u'\u0427'}},
- /* <AB03> */ {{u'\u0441'}, {u'\u0421'}},
- /* <AB04> */ {{u'\u043c'}, {u'\u041c'}},
- /* <AB05> */ {{u'\u0438'}, {u'\u0418'}},
- /* <AB06> */ {{u'\u0442'}, {u'\u0422'}},
- /* <AB07> */ {{u'\u044c'}, {u'\u042c'}},
- /* <AB08> */ {{u'\u0431'}, {u'\u0411'}},
- /* <AB09> */ {{u'\u044e'}, {u'\u042e'}},
- /* <AB10> */ {{'.'}, {','}}
- };
Advertisement
Add Comment
Please, Sign In to add comment