Editor ignores some special chars on keyboard..

Answered

Hi, 

i reinstalled my WebStorm and noticed some unexpected behavior.

1) I have a German keyboard layout to type z.B. “ä,ö,ü,ß”.
In a terminal or in Sublime or here i can just type them.
The editor in WebStorm ignore this letters. 
So if i try to type them nothing happen.
I can <copy><paste> this chars in the editor. This works.. kind of..

2) When i type this backwards apostrophe sign ` than it opens a little menu-like thing. but i cant choose something. And it doesnt type anything. Also: If i <copy><paste> it into the editor, i can use this.

OS: Ubuntu 20.04 (KDE), installed some days before 2024-12-07.
German and English grammar correction working fine.
Before this new install WebStorm does not had this behavior.

Its confusing.. What is this?
And how to make this characters normal Keys again?

bg Desian

0
12 comments

Peter Klaus Schmelzer please share the IDE Help | About info captured as text with the Copy and Close button in the dialog along with the output of the following commands:

set | grep -E XMODIFIERS|GTK_IM_MODULE|QT_IM_MODULE';setxkbmap -query

ps auxww | grep -E 'ibus|fcitx'

Do I understand right you cannot enter special German keys that require a single keypress (no AltGr or compose key)? 

What keyboard layout exactly you are using?

Does the issue affect only editor, or other places as well - e.g. search popups like Find in files (Ctrl+F) and Search Everywhere (Shift+Shift)?

0

Yes you understand correct.But its for both.. ö for example is a single press only.  ° and ´ and ` gives this weird tooltip, where i cant do anything with... ' (single key) or | (altgr + <) or @ (altgr + q) on the other hand works fine.
Since is a fresh installation of Linux and WebStorm i assume its not a missconfigured shortcut or some sort of..

About:
WebStorm 2024.3.1
Build #WS-243.22562.112, built on December 4, 2024
Licensed to Peter Klaus Schmelzer
You have a perpetual fallback license for this version.
Subscription is active until December 21, 2025.
Runtime version: 21.0.5+8-b631.28 amd64 (JCEF 122.1.9)
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Toolkit: sun.awt.X11.XToolkit
Linux 6.8.0-51-generic
GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation
Memory: 2048M
Cores: 8
Registry:
 ide.browser.jcef.sandbox.enable=false
 ide.experimental.ui=true
 i18n.locale=
Non-Bundled Plugins:
 com.intellij.ml.llm (243.22562.251.6)
 PlantUML integration (7.11.2-IJ2023.2)
Current Desktop: KDE

 

$ set | grep -E XMODIFIERS|GTK_IM_MODULE|QT_IM_MODULE';setxkbmap -query
>
=> leaves me with this open console, no other output

 

$ ps auxww | grep -E 'ibus|fcitx'
desian      2351  0.2  0.0 460896  8320 ?        Ssl  Dec18   1:28 /usr/bin/ibus-daemon --daemonize --xim 
desian      2356  0.0  0.0 236536  6528 ?        Sl   Dec18   0:00 /usr/libexec/ibus-memconf 
desian      2358  0.0  0.2 915308 85348 ?        Sl   Dec18   0:29 /usr/libexec/ibus-ui-gtk3 
desian      2359  0.0  0.2 689544 75568 ?        Sl   Dec18   0:24 /usr/libexec/ibus-extension-gtk3 
desian      2363  0.0  0.2 610332 69760 ?        Sl   Dec18   0:19 /usr/libexec/ibus-x11 --kill-daemon 
desian      2367  0.0  0.0 310316  6784 ?        Sl   Dec18   0:00 /usr/libexec/ibus-portal 
desian      2441  0.0  0.0 236528  6912 ?        Sl   Dec18   0:18 /usr/libexec/ibus-engine-simple 
desian    172989  0.0  0.0   9504  2176 pts/6    S+   00:05   0:00 grep --color=auto -E ibus|fcitx		
0

Peter Klaus Schmelzer sorry for the delay in response.

 When i type this backwards apostrophe sign ` than it opens a little menu-like thing. but i cant choose something.

I've checked and this appears to be an ibus dead key feature: the symbols you've listed (^, `) are considered modifiers that add diacritics to the following characters. If you need to type backtick or circumflex themselves, you should either press Space after the char or press the character button twice. Sadly, I could not find a way to disable the popup in ibus, though there were questions about it on the Internet (example).

leaves me with this open console, no other output

Sorry, there was a typo in the command I wrote (missing apostrophe). Please try once again with set | grep -E 'XMODIFIERS|GTK_IM_MODULE|QT_IM_MODULE';setxkbmap -query. Please additionally specify the exact name of your German layout or share a screenshot from the OS settings where the layouts list can be seen. Thank you!

0

Thank you for the Answer!
Tipping it twice does not help.
 

desian@hope:~$ set | grep -E 'XMODIFIERS|GTK_IM_MODULE|QT_IM_MODULE';setxkbmap -query 
GTK_IM_MODULE=ibus 
QT_IM_MODULE=ibus 
XMODIFIERS=@im=ibus 
rules:      evdev 
model:      pc104 
layout:     de 
desian@hope:~$


Screenshots dos'nt tell much:

Physical image: https://i0.wp.com/9to5linux.com/wp-content/uploads/2020/07/38781_18-e1595340536273.jpg?resize=606%2C366&ssl=1
Can i change the dead_key behavior somehow?

My current solution is: Have a SublineText open. If i need this characters and copy-paste them into the Jetbrains editor.
Since other editors (Vim, Sublime, Kate, Any Web-Textfield) does not have this issue: It seems not be something on my system settings. Maybe im wrong..
Maybe do Java VM handle dead_keys i a special way?
Can i may change there some setting? Im using the JVM that comes with the IDE.
Im not so familiar with Java.. how it works under the hood..
 

0

I downloaded the last SDK23 as a tar.gz.
Extracted it somewhere.
In the toolbox i chose advanced options for using the using the running JVM.
Choose the new SDK23 folder.
Now i can use the äöü.
The bug with dead_keys still persist with the delivered JVM.
The work around is to chose manual an other JVM.

0

We have not yet been able to reproduce the issue on our side. Please send us more information for the investigation

  1. Install the plugin for the investigation https://plugins.jetbrains.com/plugin/22624-keycodestest
  2. Go to "View | Tool windows | Dump Key Codes"
  3. Try to type ä as usual with the default runtime (how to change the runtime to the default and back)
  4. Send us the codes

 

0

--

default runtime:

ä
java.awt.event.KeyEvent[KEY_RELEASED,keyCode=0,keyText=Unknown keyCode: 0x0,keyChar='ä',keyLocation=KEY_LOCATION_UNKNOWN,rawCode=48,primaryLevelUnicode=228,scancode=0,extendedKeyCode=0x10000c4] on javax.swing.JTextField[,0,22,580x34,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorderNew@607c0810,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=IJColorUIResource(color=java.awt.Color[r=187,g=187,b=187], name=TextField.caretForeground),disabledTextColor=IJColorUIResource(color=java.awt.Color[r=90,g=93,b=99], name=TextField.inactiveForeground),editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=9,bottom=2,right=6],selectedTextColor=IJColorUIResource(color=java.awt.Color[r=223,g=225,b=229], name=TextField.selectionForeground),selectionColor=IJColorUIResource(color=java.awt.Color[r=46,g=67,b=110], name=TextField.selectionBackground),columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

 

´
java.awt.event.KeyEvent[KEY_RELEASED,keyCode=129,keyText=Dead Acute,keyChar='ˊ',keyLocation=KEY_LOCATION_STANDARD,rawCode=21,primaryLevelUnicode=714,scancode=0,extendedKeyCode=0x81] on javax.swing.JTextField[,0,22,580x34,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorderNew@607c0810,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=IJColorUIResource(color=java.awt.Color[r=187,g=187,b=187], name=TextField.caretForeground),disabledTextColor=IJColorUIResource(color=java.awt.Color[r=90,g=93,b=99], name=TextField.inactiveForeground),editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=9,bottom=2,right=6],selectedTextColor=IJColorUIResource(color=java.awt.Color[r=223,g=225,b=229], name=TextField.selectionForeground),selectionColor=IJColorUIResource(color=java.awt.Color[r=46,g=67,b=110], name=TextField.selectionBackground),columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

--

^
java.awt.event.KeyEvent[KEY_RELEASED,keyCode=130,keyText=Dead Circumflex,keyChar='ˆ',keyLocation=KEY_LOCATION_STANDARD,rawCode=49,primaryLevelUnicode=710,scancode=0,extendedKeyCode=0x82] on javax.swing.JTextField[,0,22,580x34,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorderNew@607c0810,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=IJColorUIResource(color=java.awt.Color[r=187,g=187,b=187], name=TextField.caretForeground),disabledTextColor=IJColorUIResource(color=java.awt.Color[r=90,g=93,b=99], name=TextField.inactiveForeground),editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=9,bottom=2,right=6],selectedTextColor=IJColorUIResource(color=java.awt.Color[r=223,g=225,b=229], name=TextField.selectionForeground),selectionColor=IJColorUIResource(color=java.awt.Color[r=46,g=67,b=110], name=TextField.selectionBackground),columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

--

0

Peter, did I understand correctly, that you have reciever just one code for ä key press? I expect at least 3 events (KEY_PRESSED, KEY_TYPED, KEY_RELEASED). Please double-check that you have copied and pasted everything from the plugin to this forum

My example:
java.awt.event.KeyEvent[KEY_PRESSED,keyCode=16777412,keyText=Ä,keyChar='ä',keyLocation=KEY_LOCATION_STANDARD,rawCode=0,primaryLevelUnicode=0,scancode=0,extendedKeyCode=0x10000c4] on javax.swing.JTextField[,0,22,443x34,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorderNew@42a7e57a,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=IJColorUIResource(color=java.awt.Color[r=0,g=0,b=0], name=TextField.caretForeground),disabledTextColor=IJColorUIResource(color=java.awt.Color[r=168,g=173,b=189], name=TextField.inactiveForeground),editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=9,bottom=2,right=6],selectedTextColor=IJColorUIResource(color=java.awt.Color[r=0,g=0,b=0], name=TextField.selectionForeground),selectionColor=IJColorUIResource(color=java.awt.Color[r=212,g=226,b=255], name=TextField.selectionBackground),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=0,scancode=0,extendedKeyCode=0x10000c4] on javax.swing.JTextField[,0,22,443x34,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorderNew@42a7e57a,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=IJColorUIResource(color=java.awt.Color[r=0,g=0,b=0], name=TextField.caretForeground),disabledTextColor=IJColorUIResource(color=java.awt.Color[r=168,g=173,b=189], name=TextField.inactiveForeground),editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=9,bottom=2,right=6],selectedTextColor=IJColorUIResource(color=java.awt.Color[r=0,g=0,b=0], name=TextField.selectionForeground),selectionColor=IJColorUIResource(color=java.awt.Color[r=212,g=226,b=255], name=TextField.selectionBackground),columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=16777412,keyText=Ä,keyChar='ä',keyLocation=KEY_LOCATION_STANDARD,rawCode=0,primaryLevelUnicode=0,scancode=0,extendedKeyCode=0x10000c4] on javax.swing.JTextField[,0,22,443x34,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorderNew@42a7e57a,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=IJColorUIResource(color=java.awt.Color[r=0,g=0,b=0], name=TextField.caretForeground),disabledTextColor=IJColorUIResource(color=java.awt.Color[r=168,g=173,b=189], name=TextField.inactiveForeground),editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=9,bottom=2,right=6],selectedTextColor=IJColorUIResource(color=java.awt.Color[r=0,g=0,b=0], name=TextField.selectionForeground),selectionColor=IJColorUIResource(color=java.awt.Color[r=212,g=226,b=255], name=TextField.selectionBackground),columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

 

0

Dear Nadia Tarashkevich,

this is the result.
I've just tested and copy pasted the results here.

bg Peter

0

Your keyboard configuration significantly differs from the expectation. Please collect more information:

1. Open plugin tool window

2. Press “a” 

3. Press “ä”

4. Click “Copy” button and send the text here

5. Take the screenshot and send it here.

My example:

0

The second letter does not appear in the input filed but produces output in the dump-key-codes-plugin below.
Screenshot first.
Full output second.

--

--

java.awt.event.KeyEvent[KEY_PRESSED,keyCode=65,keyText=A,keyChar='a',keyLocation=KEY_LOCATION_STANDARD,rawCode=38,primaryLevelUnicode=97,scancode=0,extendedKeyCode=0x41] on javax.swing.JTextField[,0,22,516x34,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorderNew@35e0f6ba,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=IJColorUIResource(color=java.awt.Color[r=187,g=187,b=187], name=TextField.caretForeground),disabledTextColor=IJColorUIResource(color=java.awt.Color[r=90,g=93,b=99], name=TextField.inactiveForeground),editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=9,bottom=2,right=6],selectedTextColor=IJColorUIResource(color=java.awt.Color[r=223,g=225,b=229], name=TextField.selectionForeground),selectionColor=IJColorUIResource(color=java.awt.Color[r=46,g=67,b=110], name=TextField.selectionBackground),columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

java.awt.event.KeyEvent[KEY_TYPED,keyCode=0,keyText=Unknown keyCode: 0x0,keyChar='a',keyLocation=KEY_LOCATION_UNKNOWN,rawCode=0,primaryLevelUnicode=97,scancode=0,extendedKeyCode=0x0] on javax.swing.JTextField[,0,22,516x34,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorderNew@35e0f6ba,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=IJColorUIResource(color=java.awt.Color[r=187,g=187,b=187], name=TextField.caretForeground),disabledTextColor=IJColorUIResource(color=java.awt.Color[r=90,g=93,b=99], name=TextField.inactiveForeground),editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=9,bottom=2,right=6],selectedTextColor=IJColorUIResource(color=java.awt.Color[r=223,g=225,b=229], name=TextField.selectionForeground),selectionColor=IJColorUIResource(color=java.awt.Color[r=46,g=67,b=110], name=TextField.selectionBackground),columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=65,keyText=A,keyChar='a',keyLocation=KEY_LOCATION_STANDARD,rawCode=38,primaryLevelUnicode=97,scancode=0,extendedKeyCode=0x41] on javax.swing.JTextField[,0,22,516x34,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorderNew@35e0f6ba,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=IJColorUIResource(color=java.awt.Color[r=187,g=187,b=187], name=TextField.caretForeground),disabledTextColor=IJColorUIResource(color=java.awt.Color[r=90,g=93,b=99], name=TextField.inactiveForeground),editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=9,bottom=2,right=6],selectedTextColor=IJColorUIResource(color=java.awt.Color[r=223,g=225,b=229], name=TextField.selectionForeground),selectionColor=IJColorUIResource(color=java.awt.Color[r=46,g=67,b=110], name=TextField.selectionBackground),columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

java.awt.event.KeyEvent[KEY_RELEASED,keyCode=0,keyText=Unknown keyCode: 0x0,keyChar='ä',keyLocation=KEY_LOCATION_UNKNOWN,rawCode=48,primaryLevelUnicode=228,scancode=0,extendedKeyCode=0x10000c4] on javax.swing.JTextField[,0,22,727x34,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorderNew@35e0f6ba,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=IJColorUIResource(color=java.awt.Color[r=187,g=187,b=187], name=TextField.caretForeground),disabledTextColor=IJColorUIResource(color=java.awt.Color[r=90,g=93,b=99], name=TextField.inactiveForeground),editable=true,margin=com.intellij.util.ui.JBInsets[top=2,left=9,bottom=2,right=6],selectedTextColor=IJColorUIResource(color=java.awt.Color[r=223,g=225,b=229], name=TextField.selectionForeground),selectionColor=IJColorUIResource(color=java.awt.Color[r=46,g=67,b=110], name=TextField.selectionBackground),columns=0,columnWidth=0,command=,horizontalAlignment=LEADING]

0
  1. Please send the output of the set | grep -E 'XMODIFIERS|GTK_IM_MODULE|QT_IM_MODULE';setxkbmap -query command run in OS terminal.
  2. If it's ibus, try adding the following VM option: -Drecreate.x11.input.method=true using this instruction: https://www.jetbrains.com/help/idea/tuning-the-ide.html#configure-jvm-options
  3. Please note that if you use ibus version <1.5.11, the update will probably help
0

Please sign in to leave a comment.