http://www.pcreview.co.uk/forums/toascii-function-t1706394.html
смотрел несколько предыдущих вопросов по этому поводу, и лучший ответ, который я нашел до сих пор, это что-то вроде этого:
(char) WinAPI.MapVirtualKey((uint) Keys.A, 2)
Однако это не работает двумя способами:
Он всегда возвращает заглавные буквы. ЗаKeys.A
Я ожидаю получить характерa
в то время как дляKeys.A | Keys.ShiftKey
Я ожидаю получитьA
; тем не менее, я, кажется, получаюA
для обоих.
Кажется, он не учитывает раскладки клавиатуры. Например, дляKeys.OemMinus
Я всегда, кажется, понимаю характер-
, даже если текущая раскладка клавиатуры немецкая, где я ожидаю, что эта клавиша вернетсяß
.
Каково правильное решение для этого?