I use the US International keyboard layout, which makes it easy to produce a whole bunch of special characters without alt codes or third-party software. It usually works fine, but sometimes the dead keys don't work the way they're supposed to.
Expected behavior when following a dead key with...
Compatible character → special character ('a
→ á
)
Incompatible character → literal value for both keys ('t
→ 't
)
A dead key again → literal value for both keys (~~
→ ~~
)
Space → literal value of dead key ("
→ "
)
However, in some applications (usually resource-intensive ones like games, e.g. Star Trek Online, League of Legends, Rift), it doesn't work. I may instead get a doubled dead key value followed by whatever character I typed next, like 'a
→ ''a
and "
→ ""
. And I really do mean "may" - sometimes it consistently works correctly, sometimes it always does the wrong behavior, and sometimes I can hammer e.g. 'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o'o
and end up with something like ''o''o''o''oóó''oó''oóó''oóóó''o
.
What is causing this, and how can I resolve it?