winemac: Don't allow dead-key state to repeat after characters are generated.

Ken Thomases ken at codeweavers.com
Mon Sep 9 22:37:36 CDT 2013


It's fairly common in Mac keyboard layouts that, if you type a dead key twice,
the second key press will both produce a non-dead character and also
perpetuate the dead-key state.  For example, with the U.S. layout, Option-E,
E will produce "é" and Option-E, Option-E, E will produce "´é".  Windows
keyboard layouts don't tend to do this.  The second key press produces the
non-dead character and clears the dead-key state.

Some programs rely on the Windows behavior.  Quicken 2013 attempts to decode
the keyboard layout.  Its algorithm gets into an infinite loop for certain
keyboard layouts, such as the U.S. International - PC layout.  This fixes that.

The fix still allows sequences of dead keys to build on the dead-key state to
construct a compound state.  It only prevents the identical state from being
repeated.
---
dlls/winemac.drv/keyboard.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-winemac-Don-t-allow-dead-key-state-to-repeat-after-c.patch
Type: text/x-patch
Size: 644 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20130909/1fd98b18/attachment-0001.bin>


More information about the wine-patches mailing list