Environment:
jEdit 4.3pre10
JRE 6.0.20.6
WinXP SP2
This bug is not a duplicate of 1614675 and 1214182 for it happens in a particular situation.
Dead keys are not working when another application is running: PhraseExpress.
Before describing the problem, I want to stress its importance as more and more people are using PhraseExpress, which becomes indispensable once you start using it (although not open source...)
Furthermore, most languages relie on dead keys to write accents and infrequent characters (English is pretty much an exception with its simple alphabet).
From what I read in PhraseExpress' forum and here, the bug is more likely to be on jEdit's side.
If nobody had time to take care of this bug, could someone give me a clue as to where to start to try and solve it? (I'm a beginner in Java.)
Problem description:
In the main textarea, dead keys work about once every ten times.
In most dialogs, dead keys work well. Keyboard Tester reacts as main textarea, luckily.
Here is a Keyboard Tester report for the keystrokes "^e" on a french keyboard, which should result in the character "ê" (0xea), but only gives a plain "e" :
Event KEY_PRESSED,keyCode=0x82,keyChar=0x5e,modifiers=0x0,consumed=0 filtered
Event KEY_RELEASED,keyCode=0x82,keyChar=0x5e,modifiers=0x0,consumed=0 filtered
Event ,keyChar=0x65,modifiers=0x0,consumed=0 passed
Event KEY_TYPED,keyCode=0x0,keyChar=0x65,modifiers=0x0,consumed=0 passed
==> Translated to <0,65>
Event KEY_RELEASED,keyCode=0x45,keyChar=0x65,modifiers=0x0,consumed=0 passed
Event KEY_RELEASED,keyCode=0x45,keyChar=0xea,modifiers=0x0,consumed=0 passed
Notice that the last KEY_RELEASED has a keyChar = 0xea, which is the character "ê" we want.
Two questions at this point:
1) Why the 0x45 KEY_PRESSED has a keyChar = 0x65 instead of 0xea?
2) Why are there TWO 0x45 KEY_RELEASED for only ONE KEY_PRESSED?
When you type "^e" very fast a lot of times (keeping the finger on the key doesn't work), one "ê" (0xea) appears once in a while, and the events thas lead to it go like this:
Event KEY_PRESSED,keyCode=0x82,keyChar=0x5e,modifiers=0x0,consumed=0 filtered
Event KEY_RELEASED,keyCode=0x82,keyChar=0x5e,modifiers=0x0,consumed=0 filtered
Event KEY_PRESSED,keyCode=0x45,keyChar=0x65,modifiers=0x0,consumed=0 passed
Event KEY_TYPED,keyCode=0x0,keyChar=0x65,modifiers=0x0,consumed=0 passed
==> Translated to <0,65>
Event KEY_RELEASED,keyCode=0x45,keyChar=0x65,modifiers=0x0,consumed=0 passed
Event KEY_PRESSED,keyCode=0x82,keyChar=0x5e,modifiers=0x0,consumed=0 filtered
Event KEY_RELEASED,keyCode=0x45,keyChar=0xea,modifiers=0x0,consumed=0 passed
Event KEY_RELEASED,keyCode=0x82,keyChar=0x5e,modifiers=0x0,consumed=0 filtered
Event KEY_PRESSED,keyCode=0x45,keyChar=0x65,modifiers=0x0,consumed=0 passed
Event KEY_TYPED,keyCode=0x0,keyChar=0x65,modifiers=0x0,consumed=0 passed
==> Translated to <0,65>
Event KEY_PRESSED,keyCode=0x82,keyChar=0x5e,modifiers=0x0,consumed=0 filtered
Event KEY_RELEASED,keyCode=0x82,keyChar=0x5e,modifiers=0x0,consumed=0 filtered
Event KEY_PRESSED,keyCode=0x45,keyChar=0x65,modifiers=0x0,consumed=0 passed
Event KEY_TYPED,keyCode=0x0,keyChar=0xea,modifiers=0x0,consumed=0 passed
==> Translated to <0,ea>
Event KEY_RELEASED,keyCode=0x45,keyChar=0x65,modifiers=0x0,consumed=0 passed
Thanks in advance for your help!
Vianney
This looks not a bug in jEdit, because the reported key events are
certainly broken. In this situation, all Java app will have the same
problem.
Please test with another Java app, and reopen if the problem happens
only in jEdit. In that case, please report which app you tested.
This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 14 days (the time period specified by
the administrator of this Tracker).