I'm not sure this is directly related to SFML. Does this happen only with SFML apps? Can you show a minimal code that reproduces the problem?
I think this happens only with SFML apps. It doesn't happen with Google Chrome, MS word, Overwatch, etc.
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
if (event.type == sf::Event::TextEntered)
{
std::cout << event.text.unicode << "\n";
}
}
window.clear();
window.display();
}
}
Do you use IME?
Yes, I'm using Microsoft IME for Korean.
This is how many (most?) CJK IMEs work and it's their intended way of working: https://en.wikipedia.org/wiki/Input_method
If this happens in SFML then it has to be happening in all other apps too unless they forcibly turn IME off somehow, like via: https://msdn.microsoft.com/en-us/library/windows/desktop/dd318171(v=vs.85).aspx
If you don't want the pop ups then there are keyboard layouts you can turn on but I don't know Korean so I don't know if they get rid of the pop up:
- https://lovingkorean.com/2016/01/13/how-to-change-keyboard-language-in-windows-10-to-korean/
- https://en.wikipedia.org/wiki/Korean_language_and_computers
I can't type in Korean at all if I call ImmAssociateContext(handle, nullptr)