Add: practice alphabet

This commit is contained in:
2018-06-18 08:20:19 +09:00
parent 8a26bbdf54
commit b235781141
25 changed files with 405 additions and 162 deletions
+79 -14
View File
@@ -13,6 +13,13 @@ class KeyMapper {
this.keyboardKeyMap = {};
this.inputKeyMap = {};
this.registerFunctionKey();
this.registerEnglishKey();
this.registerKoreanKey();
}
registerFunctionKey() {
this.registerKeyTextData("Backquote", "`", "~");
this.registerKeyTextData("Digit1", "1", "!");
this.registerKeyTextData("Digit2", "2", "@");
@@ -52,12 +59,73 @@ class KeyMapper {
this.registerKeyTextData("korean_english", "한/영", "한/영");
this.registerKeyTextData("AltRight", "alt", "alt");
this.registerKeyTextData("ControlRight", "ctrl", "ctrl");
console.log(this.keyboardKeyMap);
}
registerKeyTextData(keyID, normalText, shiftText, shiftHandSide) {
this.keyboardKeyMap[keyID] = new KeyTextData(normalText, shiftText, shiftHandSide);
registerEnglishKey() {
this.registerKeyTextData("KeyQ", "q", "Q");
this.registerKeyTextData("KeyW", "w", "W");
this.registerKeyTextData("KeyE", "e", "E");
this.registerKeyTextData("KeyR", "r", "R");
this.registerKeyTextData("KeyT", "t", "T");
this.registerKeyTextData("KeyY", "y", "Y");
this.registerKeyTextData("KeyU", "u", "U");
this.registerKeyTextData("KeyI", "i", "I");
this.registerKeyTextData("KeyO", "o", "O");
this.registerKeyTextData("KeyP", "p", "P");
this.registerKeyTextData("KeyA", "a", "A");
this.registerKeyTextData("KeyS", "s", "S");
this.registerKeyTextData("KeyD", "d", "D");
this.registerKeyTextData("KeyF", "f", "F");
this.registerKeyTextData("KeyG", "g", "G");
this.registerKeyTextData("KeyH", "h", "H");
this.registerKeyTextData("KeyJ", "j", "J");
this.registerKeyTextData("KeyK", "k", "K");
this.registerKeyTextData("KeyL", "l", "L");
this.registerKeyTextData("KeyZ", "z", "Z");
this.registerKeyTextData("KeyX", "x", "X");
this.registerKeyTextData("KeyC", "c", "C");
this.registerKeyTextData("KeyV", "v", "V");
this.registerKeyTextData("KeyB", "b", "B");
this.registerKeyTextData("KeyN", "n", "N");
this.registerKeyTextData("KeyM", "m", "M");
}
registerKoreanKey() {
this.registerKeyTextData("KeyQ", "ㅂ", "ㅃ");
this.registerKeyTextData("KeyW", "ㅈ", "ㅉ");
this.registerKeyTextData("KeyE", "ㄷ", "ㄸ");
this.registerKeyTextData("KeyR", "ㄱ", "ㄲ");
this.registerKeyTextData("KeyT", "ㅅ", "ㅆ");
this.registerKeyTextData("KeyY", "ㅛ", "ㅛ");
this.registerKeyTextData("KeyU", "ㅕ", "ㅕ");
this.registerKeyTextData("KeyI", "ㅑ", "ㅑ");
this.registerKeyTextData("KeyO", "ㅐ", "ㅒ");
this.registerKeyTextData("KeyP", "ㅔ", "ㅖ");
this.registerKeyTextData("KeyA", "ㅁ", "ㅁ");
this.registerKeyTextData("KeyS", "ㄴ", "ㄴ");
this.registerKeyTextData("KeyD", "ㅇ", "ㅇ");
this.registerKeyTextData("KeyF", "ㄹ", "ㄹ");
this.registerKeyTextData("KeyG", "ㅎ", "ㅎ");
this.registerKeyTextData("KeyH", "ㅗ", "ㅗ");
this.registerKeyTextData("KeyJ", "ㅓ", "ㅓ");
this.registerKeyTextData("KeyK", "ㅏ", "ㅏ");
this.registerKeyTextData("KeyL", "ㅣ", "ㅣ");
this.registerKeyTextData("KeyZ", "ㅋ", "ㅋ");
this.registerKeyTextData("KeyX", "ㅌ", "ㅌ");
this.registerKeyTextData("KeyC", "ㅊ", "ㅊ");
this.registerKeyTextData("KeyV", "ㅍ", "ㅍ");
this.registerKeyTextData("KeyB", "ㅠ", "ㅠ");
this.registerKeyTextData("KeyN", "ㅜ", "ㅜ");
this.registerKeyTextData("KeyM", "ㅡ", "ㅡ");
}
registerKeyTextData(keyID, normalText, shiftText) {
this.keyboardKeyMap[keyID] = new KeyTextData(normalText, shiftText);
if(this.inputKeyMap[keyID] === undefined)
this.inputKeyMap[keyID] = keyID;
@@ -84,23 +152,20 @@ class KeyMapper {
return this.keyboardKeyMap[keyID].shiftText;
}
getShiftHandSide(keyID) {
if(this.keyboardKeyMap[keyID] === undefined) {
console.log(keyID);
return "?";
}
return this.keyboardKeyMap[keyID].shiftHandSide;
}
getKeyIDOfText(text) {
return this.inputKeyMap[text];
}
getShiftTypeOfText(text) {
isShiftText(text) {
let keyID = this.getKeyIDOfText(text);
return this.keyboardKeyMap[keyID].shiftHandSide;
let keyTextData = this.keyboardKeyMap[keyID];
if(keyTextData.normalText === text)
return false;
return true;
}
}