Я пытаюсь создать функцию, которая будет принимать символ, который представляет собой значение клавиши, нажатой на клавиатуре, преобразовывать ее в другой специальный символ и вставлять в определенное поле ввода (что-то вроде имитации другой раскладки клавиатуры). ).
Пример :
- Тип пользователя x на клавиатуре
- Функцияберет этот символ и преобразует его в ḫ
- Чем функция вставляет этот символ в определенное поле ввода
Я сделал функцию, котораяпреобразует эти специальные символы:
$("input").keydown(function(e){
var keyCharacter = e.key;
});
var replaceFrom = [/A/, /i/, /a/, /s/, /z/, /S/, /q/, /H/, /x/, /X/, /T/, /D/];
var replaceTo = ["ꜣ", "j", "ꜥ", "s", "z", "š", "q", "ḥ", "ḫ", "ẖ", "ṯ", "ḏ"];
function transliterationConverter(user_input, transliteration_schema_to_replace, transliteration_schema_for_replace) {
for (i = 0; i < transliteration_schema_to_replace.length; i++) {
user_input = user_input.replace(new RegExp(transliteration_schema_to_replace[i], "g"), transliteration_schema_for_replace[i]);
}
return user_input;
}
var convertedKeyCharacter = transliterationConverter(keyCharacter, replaceFrom, replaceTo);
// Character typed by user: x
// Desired result in input field: ḫ
PS Мне не нравится решение, которое включает в себя получение значения из поля ввода, а затем преобразовывает его символы в другие, потому что если это произойдет, пользователь может увидеть "Процесс преобразования ", который происходит за полсекунды.