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 - Windows: No way to tell whether SDL_KEY* events was trapped by the IMs
Summary: Windows: No way to tell whether SDL_KEY* events was trapped by the IMs
Status: NEW
Alias: None
Product: SDL
Classification: Unclassified
Component: video (show other bugs)
Version: 2.0.3
Hardware: x86 Windows (All)
: P2 major
Assignee: Sam Lantinga
QA Contact: Sam Lantinga
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-07 14:53 UTC by Kengo Ide
Modified: 2015-01-07 14:53 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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