Repository navigation
Cyrilic shortcuts do not work for main menu #3133
Closed
YevgenBorodkin
started this conversation in
General
Replies: 1 comment
|
I could not verify this with a Cyrillic keyboard myself, but I have attempted a fix in the following commit by handling menu accelerators via WM_SYSCHAR instead of WM_SYSKEYDOWN: |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hello,
I noticed that shortcuts do not work for Cyrillic symbols, but I assume it should be applicable to non-Latin symbols in general.
I did not check if different keyboard layouts (like Dvorak) are also impacted, I want to think that it is handled on a system level, and we get the expected key code.
Here are the steps to reproduce when File menu is not opened.

I want to open "&File" menu, it is localized as "&Файл", but on the keyboard letter "Ф" is located where letter "A" is.
I am using correct keyboard layout in the system and press Latin "A" to open a file menu as it is really "Ф".
But nothing happens.
Internally, the system sees this scan code as "A", what I assume is expected, but the mapping is not there.
GetToolBarCtrl().MapAccelerator(key, &uId)returns 0, and we do not get into "if" condition.MenuBar.cpp line 404
Interesting that with Cyrillic translation enabled, but with English layout, pressing ALT+F does not open "&Файл" menu.
Seems we need to remap accelerator keys, but I am not an expert in MFC.
Do you know what is the best fix for it? Do you see similar issues in other languages?
All reactions