[Bug 33368] New: WM_DEADCHAR events not sent
wine-bugs at winehq.org
wine-bugs at winehq.org
Fri Apr 12 04:45:13 CDT 2013
http://bugs.winehq.org/show_bug.cgi?id=33368
Bug #: 33368
Summary: WM_DEADCHAR events not sent
Product: Wine
Version: 1.5.27
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: winex11.drv
AssignedTo: wine-bugs at winehq.org
ReportedBy: sloonz at gmail.com
Classification: Unclassified
Created attachment 44152
--> http://bugs.winehq.org/attachment.cgi?id=44152
Keyboard traces in three different scenarios (Windows, Wine, Wine+patch)
XFilterEvent() returns true for events of dead keys, so they are not processed
by wine. However, that prevents sending a WM_DEADCHAR event to the application,
as it works on Windows. For example, in order to emit a "ê" character in a
french keyboard layout, I first have to press ^ (which is a dead key) and then
e. Under Windows, this leads to the following sequence of events :
KEYDOWN: dead_circumflex
DEADCHAR: dead_circumflex
KEYDOWN: e
CHAR: ê
KEYUP: e
KEYUP: dead_circumflex
Under wine I have only those events :
KEYUP: dead_circumflex
KEYDOWN: e
CHAR: ê
Attached patch fixes most of that, with it I get :
KEYDOWN: dead_circumflex
DEADCHAR: dead_circumflex
UP: dead_circumflex
KEYDOWN: e
CHAR: ê
KEYUP: e
Note that it’s still slighty different from Windows (KEYUP for dead key is
third message on Wine, whereas it is before the last one on Windows), but I
don’t see a clean fix for this issue.
As for the traces in attachment, contains three traces. The first one is from
Spy++ on Windows ; the second is the relevant output of WINEDEBUG=+msg notepad
for unpatched wine ; the third one for patched wine.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list