Sweden-Number/dlls/winemac.drv
Ken Thomases feb19ee669 winemac: Ignore spurious or redundant notifications that the keyboard input source changed.
In particular, when an input method for an Asian language (e.g. Pinyin) is
selected, we were getting repeated notifications.  Querying the selected input
method upon receiving them suggested that the keyboard layout changed to U.S.
then back to Pinyin, then several redundant notifications with no apparent
change.

Since the handler for the posted KEYBOARD_CHANGED events sends WM_CANCELMODE to
the active window, this was having bad effects.

The spurious notifications can be distinguished by there being no current
text input context or client.  To detect redundant notifications, we track the
last keyboard input source and keyboard layout input source and compare with
the new ones to see if they really changed.

Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-16 12:08:57 +02:00
..
.gitattributes
Makefile.in
clipboard.c
cocoa_app.h winemac: Ignore spurious or redundant notifications that the keyboard input source changed. 2017-05-16 12:08:57 +02:00
cocoa_app.m winemac: Ignore spurious or redundant notifications that the keyboard input source changed. 2017-05-16 12:08:57 +02:00
cocoa_clipboard.m
cocoa_display.m
cocoa_event.h
cocoa_event.m
cocoa_main.m
cocoa_opengl.h
cocoa_opengl.m
cocoa_status_item.m winemac.drv: Implement systray version 1-4 notifications. 2017-05-11 13:40:14 -05:00
cocoa_window.h
cocoa_window.m winemac: Move the logic for posting a KEYBOARD_CHANGED event if the keyboard type changes into the setter of the keyboardType property. 2017-05-16 12:08:55 +02:00
display.c
dragdrop.c
event.c
gdi.c
image.c
ime.c
keyboard.c
macdrv.h
macdrv_cocoa.h winemac.drv: Implement systray version 1-4 notifications. 2017-05-11 13:40:14 -05:00
macdrv_main.c
macdrv_res.h
mouse.c
opengl.c
surface.c
systray.c winemac.drv: Implement systray version 1-4 notifications. 2017-05-11 13:40:14 -05:00
window.c
winemac.drv.spec
winemac.rc