Rewrite GdkWin32Keymap (load table directly from layout DLL)
authorPhilip Zander <philip.zander@gmail.com>
Wed, 5 Jan 2022 14:44:49 +0000 (15:44 +0100)
committerLuca Bacci <luca.bacci982@gmail.com>
Wed, 12 Jan 2022 18:01:35 +0000 (19:01 +0100)
commitea65abc7e2cd056a2c562073664b05faddaf4fad
treec6c3c25aa3939a0b20554f7eca6279479c0a511c
parent21d40fc0386794a5c4991ce8f5eeba96cdf23884
Rewrite GdkWin32Keymap (load table directly from layout DLL)

The old code used repeated calls to `ToUnicodeEx` to populate
the translation table, which is slow and buggy. The new code
directly loads the layout driver DLLs from Windows.

See https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4338
gdk/win32/gdkdisplay-win32.c
gdk/win32/gdkdisplay-win32.h
gdk/win32/gdkevents-win32.c
gdk/win32/gdkkeys-win32-impl-wow64.c [new file with mode: 0644]
gdk/win32/gdkkeys-win32-impl.c [new file with mode: 0644]
gdk/win32/gdkkeys-win32.c
gdk/win32/gdkkeys-win32.h [new file with mode: 0644]
gdk/win32/gdkprivate-win32.h
gdk/win32/meson.build