[Github-comments] [geany/geany] Hotkeys do not work in non-latin keyboard layout (#1368)

Forkest notifications at xxxxx
Thu Jan 19 04:17:54 UTC 2017


So, the current GTK2 package in the MSYS2 repository includes patches from the referenced bugs that should've fixed this issue. But they did not. Their author did a great job by fixing those bugs and also devoted some time to [investigating this issue](https://bugzilla.gnome.org/show_bug.cgi?id=768722#c50) with Geany. It is clear to me now that this is not a GTK problem, but a broken Geany implementation. I'll explain.

Geany hotkeys are handled in two places:

First, they are manually handled in `on_key_press_event()`, and this is the part that is implemented wrong, it checks for layout-dependent `event->keyval`.

Then, if a hotkey is not detected there, the handling goes to GTK's menu accelerators, and this is the part, why it sometimes work, because some hotkeys are bound to menu items, and GTK implements hotkeys right, in layout-independent way, so bound hotkeys work, but with some specifics: they work only when the item that corresponds to the hotkey is not grayed out (disabled). And when you open the Edit menu, Geany decides to enable or disable the Copy Ctrl+C menu item based on the existence of any selection in the textarea. You open the Edit menu when nothing is selected - Ctrl+C stops working, you select something and open the menu - Ctrl+C works again. This explains why it reproduces "randomly". Another confirmation of this theory was to find a hotkey that is not bound to a menu item, I found "Go to matching brace" \<Primary>b, and indeed, it doesn't work in an alternative layout, and if I change the hotkey to the same key in an alternative layout, it stops working in English layout.

Now, when everything is clear, I hope you'll find some time to fix this.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1368#issuecomment-273678207
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20170118/bf00acde/attachment.html>


More information about the Github-comments mailing list