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 2836

Summary: Windows: No way to tell whether SDL_KEY* events was trapped by the IMs
Product: SDL Reporter: Kengo Ide <kasumikagari>
Component: videoAssignee: Sam Lantinga <slouken>
Status: NEW --- QA Contact: Sam Lantinga <slouken>
Severity: major    
Priority: P2    
Version: 2.0.3   
Hardware: x86   
OS: Windows (All)   

Description Kengo Ide 2015-01-07 14:53:54 UTC
In the Windows backend of SDL 2.0.3, SDL is posting keyboard events which comes with VK_PROCESSKEY code to the SDL application as well as other virtual key codes. By the time applications receive them, those events was already processed by IME, typically to allow users to manipulate it, such as choosing candidates by arrow keys and submitting text by the enter key. An application that enables text input API would also have interest to these keys to implement their text editing function, so it will be a kind of weird behaviour, since key inputs that users meant to control IME will somehow also affects the underlying application.

As it seems that the SDL doesn't have any API to differentiate these key events, there is no way to implement East Asian text input correctly.

This issue also reported in the forum by a developer named ancientcc.
According to him, SDL1 didn't send trapped key events to the application.
https://forums.libsdl.org/viewtopic.php?p=44956&sid=04e7eb76a28229818b3c0de5f926434b