After upgrade from F17 to F18 I'm unable to enter uppercase characters with diacritics in Java GUI applications (IntelliJ Idea, Oracle SQL Developer, SoapUI, FreeMind and my own applications based on swing and awt). I'm speaking about Á, Č, É, Ř, Š, Ť, ... characters. I have the same problem with OpenJDK 1.7 and SUN JDK 1.7. There is not this problem in other non Java based applications like Firefox, Thunderbird, LibreOffice, ... Thanks, Lukas
Created attachment 688185 [details] simple reproducer
I need some more information, since I can't reproduce the bug. Could you please attach a reproducer with clear instruction how to reproduce the bug? Can you please try the attached reproducer? What Keyboard layout are you using? What version of java do you have installed? Mine is: java version "1.7.0_09-icedtea" OpenJDK Runtime Environment (rhel-2.3.4.1.el6_3-x86_64) OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode) Is your system completely updated? Thanks
Created attachment 688917 [details] Screenshot of used Czech (qwerty) layout with highlighted special key for adding carons and acutes.
Created attachment 688918 [details] Screenshot of the reproducer
Hi Mario, I have the same version of Java as you: java version "1.7.0_09-icedtea" OpenJDK Runtime Environment (fedora-2.3.4.fc18-x86_64) OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode) I found that it is possible to enter upper case chars with diacritics when I use CapsLock but it is not possible when I use special key for carons and acutes. See attachment bug_896736-layout.png where the spoken key is highlighted. I hope my system is fully upgraded from F17 to F18 and I use Czech (qwerty) keyboard layout. I tried the reproducer you attached and here is its output (first 3 characters were entered with CapsLock and are correct but for another 3 characters I used special key and result characters are without carons): java.awt.event.KeyEvent[KEY_TYPED,keyCode=0,keyText=Unknown keyCode: 0x0,keyChar='Ě',keyLocation=KEY_LOCATION_UNKNOWN,rawCode=0,primaryLevelUnicode=283,scancode=0,extendedKeyCode=0x0] on javax.swing.JTextField[,0,0,398x167,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@1a348b0d,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],columns=0,columnWidth=0,command=,horizontalAlignment=LEADING] java.awt.event.KeyEvent[KEY_TYPED,keyCode=0,keyText=Unknown keyCode: 0x0,keyChar='Š',keyLocation=KEY_LOCATION_UNKNOWN,rawCode=0,primaryLevelUnicode=353,scancode=0,extendedKeyCode=0x0] on javax.swing.JTextField[,0,0,398x167,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@1a348b0d,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],columns=0,columnWidth=0,command=,horizontalAlignment=LEADING] java.awt.event.KeyEvent[KEY_TYPED,keyCode=0,keyText=Unknown keyCode: 0x0,keyChar='Č',keyLocation=KEY_LOCATION_UNKNOWN,rawCode=0,primaryLevelUnicode=269,scancode=0,extendedKeyCode=0x0] on javax.swing.JTextField[,0,0,398x167,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@1a348b0d,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],columns=0,columnWidth=0,command=,horizontalAlignment=LEADING] java.awt.event.KeyEvent[KEY_TYPED,keyCode=0,keyText=Unknown keyCode: 0x0,keyChar='C',modifiers=Shift,extModifiers=Shift,keyLocation=KEY_LOCATION_UNKNOWN,rawCode=0,primaryLevelUnicode=99,scancode=0,extendedKeyCode=0x0] on javax.swing.JTextField[,0,0,398x167,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@1a348b0d,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],columns=0,columnWidth=0,command=,horizontalAlignment=LEADING] java.awt.event.KeyEvent[KEY_TYPED,keyCode=0,keyText=Unknown keyCode: 0x0,keyChar='S',modifiers=Shift,extModifiers=Shift,keyLocation=KEY_LOCATION_UNKNOWN,rawCode=0,primaryLevelUnicode=115,scancode=0,extendedKeyCode=0x0] on javax.swing.JTextField[,0,0,398x167,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@1a348b0d,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],columns=0,columnWidth=0,command=,horizontalAlignment=LEADING] java.awt.event.KeyEvent[KEY_TYPED,keyCode=0,keyText=Unknown keyCode: 0x0,keyChar='E',modifiers=Shift,extModifiers=Shift,keyLocation=KEY_LOCATION_UNKNOWN,rawCode=0,primaryLevelUnicode=101,scancode=0,extendedKeyCode=0x0] on javax.swing.JTextField[,0,0,398x167,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@1a348b0d,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],columns=0,columnWidth=0,command=,horizontalAlignment=LEADING] On attached image bug_896736-reproducer.png all characters should have carons but only three ones have and other ones not. Thnaks, Lukas
Hi Lukas, I see the bug, I was indeed trying with Caps Lock. I can't reproduce the bug under KDE, this is likely a bug in the interaction with Gnome 3. I'll do some experiments and try to see what is the issue. Cheers, Mario
This also seems work well under Cinnamon, seems very specific to Gnome 3.
Hi Mario, It seems it's more Gnome3 bug than Java bug. I tried reproducer also under SUN's JDK 7 and 6 and got the same result as for Open JDK 1.7. Under SUN JDK 5 again the same but with another bug - there it is not possible to write any letter with carons (ě, š, č, ř, ž, Ě, Š , Č, ...) only with acutes (á, í, é, ...). And discovered another irregular behaviour which was not in F17. When I change keyboard layout from English to Czech by shortcut key and continue writing, the first letter is used from the previous layout (English) and not from the new one (Czech). For example I push key 2 four times and after the first one I change keyboard layout: 1. [2] (layout is English) 2. [Alt]+[Shift] (layout change) 3. [2] (Gnome3 indicator shows correctly Czech layout is active) 4. [2] 5. [2] ... than the result text is: "22ěě" instead of "2ěěě". I know it's a different problem and I should create new bug report for it, but probably there can be some relation between both problems? Thanks, Lukas
(In reply to comment #8) > Hi Mario, > > It seems it's more Gnome3 bug than Java bug. > I tried reproducer also under SUN's JDK 7 and 6 and got the same result as > for Open JDK 1.7. It can be (likely) a JDK bug, there are some weird interactions under the hood and Gnome 3 likely broke some long standing assumptions, triggering the bug. I'll be more on it after FOSDEM, for now the best workaround is to use CapsLock under the Gnome Shell. > Under SUN JDK 5 again the same but with another bug - > there it is not possible to write any letter with carons (ě, š, č, ř, ž, Ě, > Š , Č, ...) only with acutes (á, í, é, ...). If you can reproduce it with IcedTea or OpenJDK (Fedora default JDK) then you can file it here, otherwise it should go on the Oracle bug database.
* Here is the xev output on gnome-shell: KeyPress event, serial 28, synthetic NO, window 0x2800001, root 0x138, subw 0x0, time 2362601, (48,-10), root:(978,226), state 0x10, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 31, synthetic NO, window 0x2800001, root 0x138, subw 0x0, time 2363726, (48,-10), root:(978,226), state 0x11, keycode 77 (keysym 0xff7f, Num_Lock), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 31, synthetic NO, window 0x2800001, root 0x138, subw 0x0, time 2363726, (48,-10), root:(978,226), state 0x11, keycode 77 (keysym 0xff7f, Num_Lock), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 31, synthetic NO, window 0x2800001, root 0x138, subw 0x0, time 2363726, (48,-10), root:(978,226), state 0x1, keycode 21 (keysym 0xfe5a, dead_caron), same_screen YES, XLookupString gives 2 bytes: (cb 87) "ˇ" XmbLookupString gives 0 bytes: XFilterEvent returns: True KeyRelease event, serial 31, synthetic NO, window 0x2800001, root 0x138, subw 0x0, time 2363861, (48,-10), root:(978,226), state 0x1, keycode 21 (keysym 0xfe5a, dead_caron), same_screen YES, XLookupString gives 2 bytes: (cb 87) "ˇ" XFilterEvent returns: False KeyPress event, serial 31, synthetic NO, window 0x2800001, root 0x138, subw 0x0, time 2364627, (48,-10), root:(978,226), state 0x1, keycode 77 (keysym 0xff7f, Num_Lock), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 31, synthetic NO, window 0x2800001, root 0x138, subw 0x0, time 2364631, (48,-10), root:(978,226), state 0x11, keycode 77 (keysym 0xff7f, Num_Lock), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 31, synthetic NO, window 0x2800001, root 0x138, subw 0x0, time 2364631, (48,-10), root:(978,226), state 0x11, keycode 38 (keysym 0x41, A), same_screen YES, XLookupString gives 1 bytes: (41) "A" XmbLookupString gives 1 bytes: (41) "A" XFilterEvent returns: True KeyPress event, serial 31, synthetic NO, window 0x2800001, root 0x138, subw 0x0, time 2364631, (48,-10), root:(978,226), state 0x11, keycode 0 (keysym 0x10001cd, U01CD), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 2 bytes: (c7 8d) "Ǎ" XFilterEvent returns: False KeyRelease event, serial 31, synthetic NO, window 0x2800001, root 0x138, subw 0x0, time 2364756, (48,-10), root:(978,226), state 0x11, keycode 38 (keysym 0x41, A), same_screen YES, XLookupString gives 1 bytes: (41) "A" XFilterEvent returns: False KeyRelease event, serial 31, synthetic NO, window 0x2800001, root 0x138, subw 0x0, time 2365593, (48,-10), root:(978,226), state 0x11, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False ClientMessage event, serial 31, synthetic YES, window 0x2800001, message_type 0x116 (WM_PROTOCOLS), format 32, message 0x114 (WM_DELETE_WINDOW) * Here is the output from a system that doesn't have the bug. KeyPress event, serial 32, synthetic NO, window 0x5200001, root 0xbf, subw 0x0, time 39262724, (78,-17), root:(971,224), state 0x6010, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 35, synthetic NO, window 0x5200001, root 0xbf, subw 0x0, time 39263512, (78,-17), root:(971,224), state 0x6011, keycode 21 (keysym 0xfe5a, dead_caron), same_screen YES, XKeysymToKeycode returns keycode: 60 XLookupString gives 2 bytes: (cb 87) "ˇ" XmbLookupString gives 0 bytes: XFilterEvent returns: True KeyRelease event, serial 35, synthetic NO, window 0x5200001, root 0xbf, subw 0x0, time 39263679, (78,-17), root:(971,224), state 0x6011, keycode 21 (keysym 0xfe5a, dead_caron), same_screen YES, XKeysymToKeycode returns keycode: 60 XLookupString gives 2 bytes: (cb 87) "ˇ" XFilterEvent returns: False KeyPress event, serial 35, synthetic NO, window 0x5200001, root 0xbf, subw 0x0, time 39264172, (78,-17), root:(971,224), state 0x6011, keycode 38 (keysym 0x41, A), same_screen YES, XLookupString gives 1 bytes: (41) "A" XmbLookupString gives 1 bytes: (41) "A" XFilterEvent returns: True KeyPress event, serial 35, synthetic NO, window 0x5200001, root 0xbf, subw 0x0, time 39264172, (78,-17), root:(971,224), state 0x6011, keycode 0 (keysym 0x10001cd, U01CD), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 2 bytes: (c7 8d) "Ǎ" XFilterEvent returns: False KeyRelease event, serial 35, synthetic NO, window 0x5200001, root 0xbf, subw 0x0, time 39264374, (78,-17), root:(971,224), state 0x6011, keycode 38 (keysym 0x41, A), same_screen YES, XLookupString gives 1 bytes: (41) "A" XFilterEvent returns: False KeyRelease event, serial 35, synthetic NO, window 0x5200001, root 0xbf, subw 0x0, time 39265435, (78,-17), root:(971,224), state 0x6011, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False ClientMessage event, serial 35, synthetic YES, window 0x5200001, message_type 0x141 (WM_PROTOCOLS), format 32, message 0x13f (WM_DELETE_WINDOW)
Created attachment 693854 [details] xev output on system with and without bug
KDE applications also seem to experience the bug under gnome-shell. I'll reassign the bug to the gnome team.
Hi again, I tried it in virtual machine with F19 and Gnome 3.8 and the spoken bug did not occurred here. Used Java was: java version "1.7.0_17" OpenJDK Runtime Environment (fedora-2.3.8.4.fc19-x86_64) OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode) It seems Gnome 3.8 will solve it. Lukas
This message is a reminder that Fedora 18 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 18. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '18'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 18's end of life. Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 18 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior to Fedora 18's end of life. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
Fedora 18 changed to end-of-life (EOL) status on 2014-01-14. Fedora 18 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed.