Я работаю с wxPython, мостом Python к wxWidgets, так что я думаю, что пользователь wxWidgets мог ответить.Я играю с классом KeyEvent
и, поскольку я тестирую свой код на других платформах и других клавиатурах, я сделал невероятное (для меня) открытие: другие раскладки клавиатуры, похоже, не очень хорошо поддерживаются.
Вот что я имею в виду: если вы запускаете демонстрационную версию (KeyEvents.py
в моем случае) и нажимаете случайные буквы с помощью QWERTY-клавиатуры, все работает.Переключитесь на другой макет, все еще работает ... несколько.Прямо сейчас у меня есть клавиатура AZERTY, в основном используемая во Франции, поэтому, когда я нажимаю клавишу a (которая находится на английской позиции q), выдается «a».Все идет нормально.Но если я нажимаю é (клавиша, которая находится на английской клавише 2), сообщается о 2.Чтение документации не помогло мне понять, что происходит.Такого рода ошибку никто не заметил, так как wx отсутствует?Я бы догадался и надеюсь, что нет, но лучше поздно, чем никогда.
Чтобы быть более техническими, события KeyDown
и KeyUp
имеют эту проблему.У меня есть клавиша AZERTY, я нажимаю клавишу 2, и сообщается о 2, тогда как é отображается на экране.Следует признать, что событие Char
действительно сообщает о é, но, если я правильно понял, событие Char
не инициируется ни в каком контексте, а событие KeyDown
инициируется.Возможно, я что-то здесь упустил, и, возможно, это решение для меня и международных пользователей.
Заранее спасибо за ваш ответ,