Итак, простое решение, которое я использовал, заключалось в том, чтобы подключить клавиатуру Win32 и позволить Windows переводить то, что набирается. Он на моем другом компьютере, но в основном использует это решение на Gamedev.net . (пост №10)
Удивительно, что если вы используете [DllImport("user32.dll", CharSet=CharSet.Unicode)]
(часть CharSet для всех импортов .dll), вы можете получить локализованный ввод с клавиатуры!
Так что разместите это где-нибудь, зарегистрируйте события в Initialize, и все! Надеюсь, что это работает для вас.
Редактировать
Весь этот бизнес с Win32 может показаться пугающим, но не позволяйте этому помешать вам использовать его - это всего лишь вопрос копирования и вставки, и вы можете запустить его буквально за 2 минуты.