Я пытаюсь изменить текст, который поступает на ввод. Например. если я пишу на иностранном языке, но для определенного атрибута установлено значение True (Angular4, но я хочу, чтобы он был машинописным) — ввод автоматически меняется на английский без необходимости службы, которая проверяет keyCode и меняет его.
возможно ли это в рамках чистого JS, машинописного текста или даже Angular?
Я уже сделал сервис (util), который получает keyCode из keydown и меняет его на заглавные буквы, но это муторно и действительно не умно.
uppercase: {
81: "Q",
87: "W",
69: "E",
82: "R",
84: "T",
89: "Y",
85: "U",
73: "I",
79: "O",
80: "P",
65: "A",
83: "S",
68: "D",
70: "F",
71: "G",
72: "H",
74: "J",
75: "K",
76: "L",
90: "Z",
88: "X",
67: "C",
86: "V",
66: "B",
78: "N",
77: "M",
188:",",
190: "."
},
скажем, у меня есть ввод, указанный ввод настроен на русский язык. если я ввожу русскую букву она автоматически изменится на английскую
я знаю, не пытаюсь перевести, а просто изменить вывод keyCode на входе.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я надеюсь, что вы знаете о том, что простое преобразование символов с помощью событий
keyPressне будет хорошей практикой. Вы в основном пытаетесь перевести языки на АНГЛИЙСКИЙ, что не сработает, если вы конвертируете char за char. Предложение на русском языке может иметь другое количество символов, чем на английском языке, плюс грамматика будет другой. Вам следует пересмотреть эту функцию, которую вы пытаетесь создать.