We are currently migrating Bugzilla to GitHub issues.
Any changes made to the bug tracker now will be lost, so please do not post new bugs or make changes to them.
When we're done, all bug URLs will redirect to their equivalent location on the new bug tracker.

Bug 3458

Summary: [patch] x11: reset deadkeys in StartTextInput/StopTextInput
Product: SDL Reporter: Eric Wasylishen <ewasylishen>
Component: eventsAssignee: Sam Lantinga <slouken>
Status: RESOLVED FIXED QA Contact: Sam Lantinga <slouken>
Severity: normal    
Priority: P2    
Version: HG 2.1   
Hardware: x86   
OS: Other   
Attachments: proposed patch

Description Eric Wasylishen 2016-10-17 03:05:48 UTC
Created attachment 2586 [details]
proposed patch

Companion patch to https://bugzilla.libsdl.org/show_bug.cgi?id=3332 (win32), but for X11.

The patch makes StartTextInput/StopTextInput call Xutf8ResetIC ( https://www.x.org/releases/X11R7.5/doc/man/man3/XmbResetIC.3.html ) on the XIC of all SDL windows.


This fixes my use case in Quakespasm (Ubuntu 16.04, system keyboard layout set to German. Type the '^' dead key, which opens Quakespasm's developer console and calls SDL_StartTextInput, then press 'e'. I expect the dead key to be ignored.)

Also, here is a patch for sdl2's "checkkeys" for testing this: https://bugzilla-attachments.libsdl.org/attachment.cgi?id=2451
Comment 1 Sam Lantinga 2016-10-18 04:38:15 UTC
Fixed, thanks!
https://hg.libsdl.org/SDL/rev/aea47b61c640