Очевидно, что веб-приложению необходимо настроить параметры клавиатуры пользователя, верно? Есть ли способ сообщить Dojo о подключении к реальному событию KeyPress вместо KeyDown, чтобы мы могли получить символ, набранный из event.charCode
?
Поскольку мы живем в международном мире с множеством операционных систем, а что нет, этой информации недостаточно, чтобы выяснить, какой символ на самом деле набрал пользователь, если только у меня нет встроенной в браузер функции для запроса операционной системы.
Например, на немецкой клавиатуре в Linux [достигается через Alt Gr-8, которая посылает клавишу Alt, а затем клавишу [. Хорошо, просто проигнорируй первую часть. В системе Windows с немецкой клавиатурой второе событие для 8 с ctrlKey и altKey, установленными в true. Я не думаю, что код JavaScript должен интерпретироваться жестко, потому что при других настройках клавиатуры эта комбинация клавиш будет фактически означать другой символ.
В качестве другого примера (вероятно, не подключенного к Dojo, а скорее другого глюка программиста, извините за разглагольствование ...), с американской клавиатурой на mac вы не можете ввести немецкий символ ß в веб-интерфейсе outlook - потому что outlook bogusly (!) перехватывает клавишу alt (которая на mac используется исключительно для изменения набираемых символов) для запуска действий, и alt-s, таким образом, переопределяется для обозначения send Обычно в середине слова, конечно.