Upper layers of NEO keyboard layout not working on Windows
(NOTE: See merge request !991 (merged))
I use the ergonomic NEO layout which defines additional layers that can be activated by holding down combinations of the capslock-, shift- and altgr keys. In GTK3 applications on Windows these upper layers are ignored completely, which makes it impossible to type certain characters.
For example, pressing capslock + a (on Qwerty this would be the d key, i.e. 3rd key from the left on the homerow) should print the character "{". However, in GTK3 applications on Windows it prints just "a", as if only that key had been pressed without any modifiers.
This is because GTK3 on Windows uses its own incomplete emulation of keyboard mappings instead of the proper Windows APIs.
Steps to reproduce
- Download and install the kbdneo driver.
- Activate the new layout under Control Panel → Change keyboards or other input methods → Change keyboards → Add → German → Deutsch (Neo 2.0 ergonomisch)
- Try typing into any GTK3 application that has text input (gtk3-widget-factory will do). Make sure the NEO layout is active.
Version information
I tested this under Windows 7 with MSYS2, with the package version mingw-w64-x86_64-gtk3 3.24.9-4.