#include <cstdint>
#include "Core/Dialog/PSPOskConstants.h"
static const wchar_t diacritics[2][103] = {
{L"かがきぎくぐけげこごさざしじすずせぜそぞただちぢつづてでとどはばぱばひびぴびふぶぷぶへべぺべほぼぽぼウヴカガキギクグケゲコゴサザシジスズセゼソゾタダチヂツヅテデトドハバパバヒビピビフブプブヘベペベホボポボ"},
{L"はぱばぱひぴびぴふぷぶぷへぺべぺほぽぼぽハパバパヒピビピフプブプヘペベペホポボポ"}
};
static const wchar_t kor_cons[20] = L"ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ";
static const wchar_t kor_vowel[22] = L"ㅏㅐㅑㅒㅓㅔㅕㅖㅗ ㅛㅜ ㅠㅡ ㅣ";
static const uint8_t kor_vowelCom[21] = {0,8,9,1,8,10,20,8,11,4,13,14,5,13,15,20,13,16,20,18,19};
static const wchar_t kor_lcons[28] = L"ㄱㄲㄳㄴㄵㄶㄷㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅄㅅㅆㅇㅈㅊㅋㅌㅍㅎ";
static const uint8_t kor_lconsCom[33] = {18,0,2,21,3,4,26,3,5,0,7,8,15,7,9,16,7,10,18,7,11,24,7,12,25,7,13,26,7,14,18,16,17};
static const uint8_t kor_lconsSpr[33] = {2,1,9,4,4,12,5,4,18,8,8,0,9,8,6,10,8,7,11,8,9,12,8,16,13,8,17,14,8,18,17,17,9};
static const char16_t oskKeys[OSK_KEYBOARD_COUNT][6][14] = {
{
{u"1234567890-+"},
{u"qwertyuiop[]"},
{u"asdfghjkl;@~"},
{u"zxcvbnm,./?\\"},
},
{
{u"!@#$%^&*()_+"},
{u"QWERTYUIOP{}"},
{u"ASDFGHJKL:\"`"},
{u"ZXCVBNM<>/?|"},
},
{
{u"あかさたなはまやらわぁゃっ"},
{u"いきしちにひみ り ぃ "},
{u"うくすつぬふむゆるをぅゅ゛"},
{u"えけせてねへめ れ ぇ ゜"},
{u"おこそとのほもよろんぉょー"},
{u"・。、「」『』〜 "},
},
{
{u"アカサタナハマヤラワァャッ"},
{u"イキシチニヒミ リ ィ "},
{u"ウクスツヌフムユルヲゥュ゛"},
{u"エケセテネヘメ レ ェ ゜"},
{u"オコソトノホモヨロンォョー"},
{u"・。、「」『』〜 "},
},
{
{u"1234567890-+"},
{u"ㅃㅉㄸㄲㅆ!@#$%^&"},
{u"ㅂㅈㄷㄱㅅㅛㅕㅑㅐㅔ[]"},
{u"ㅁㄴㅇㄹㅎㅗㅓㅏㅣ;@~"},
{u"ㅋㅌㅊㅍㅠㅜㅡ<>/?|"},
},
{
{u"1234567890-+"},
{u"йцукенгшщзхъ"},
{u"фывапролджэё"},
{u"ячсмитьбю/?|"},
},
{
{u"!@#$%^&*()_+"},
{u"ЙЦУКЕНГШЩЗХЪ"},
{u"ФЫВАПРОЛДЖЭЁ"},
{u"ЯЧСМИТЬБЮ/?|"},
},
{
{ u"1234567890-+" },
{ u"qwertyuiop[]" },
{ u"asdfghjkl;@~" },
{ u"zxcvbnm,./?¥¥" },
},
{
{ u"!@#$%^&*()_+" },
{ u"QWERTYUIOP{}" },
{ u"ASDFGHJKL:¥”‘" },
{ u"ZXCVBNM<>/?|" },
},
};
const wchar_t *KorCons() { return kor_cons; }
const wchar_t *KorVowel() { return kor_vowel; }
const wchar_t *KorLCons() { return kor_lcons; }
const wchar_t *JapDiacritics(int index) { return diacritics[index]; }
char16_t OskKeyAt(int keyboard, int row, int col) { return oskKeys[keyboard][row][col]; }