ç key not working on commit message screen
Answered
The ç (ALT + C) key on OSX Yosemite doesn't work on git commit message screen.
It works on source code and everywhere. I need to copy and paste the char to use it on IntelliJ.
The keyboard layout is Brazilian.
Please sign in to leave a comment.
Please see https://youtrack.jetbrains.com/issue/IDEA-111466 .
It works fine on code editor, and I'm using the bundled JDK, the issue reported works for me.
Other ALT+ keys works on the commit screen, included the one reported in the issue.
All ALT+ keys works on the code editor.
It isn't the same issue.
Does it work if you switch to Apple JDK? See https://intellij-support.jetbrains.com/hc/articles/206544879 .
Exactly the same behavior.
The JDK was changed successfuly, it nows shows a popup:
"Platform and Plugin Updates
We wanted your IDE to receive upgrades over a secure connection. Unfortunately, this doesn't work on Java 6, so the option was disabled. You can enabled it again in settings after upgrading the JRE."
Using Sun JDK 1.8.0u40 the issue is fixed.
Using bundled JDK for me only the ç (ALT+C) doesn't work on only on commit screen.
Updated to u66 and it doesn't works again only on the commit message window.
This particular issue happens becuase of alt-c mnemoinc. Looks like this particular issue is difficult to resolve without a change in JDK. Please watch for the next issue to see the progress. https://youtrack.jetbrains.com/issue/IDEA-150270
The Code Editor isn't Java also?
Maybe a JDK change isn't needed, because it does work on the code editor.
In the Commit Dialog there is an alt-c mnemonic which moves focus from any control to the Commit Message editor. Editor in IDE does not have such mnemonics.
The problem is in AWT key stroke implementation.
AWT keystroke honours only key codes and key chars in its equals and hashCode methods. This approach does not allow utilise knowledge about non-english layouts. The only place that stores information about difference in English and non-English keyboard layout is Extended Key Code. Currently, extended key code is not honoured in equals and hashCode methods of key strokes. Key strokes are get from a cache which is unique to AppContext. Basically it is a HashMap. Every time AWT tries to get a key stroke for alt-c it gets "alt-c" keystroke instead of "pressed c-cedilla" or something different from "alt-c" keystroke.
Exactly the same happens if you open Replace Panel in the code editor (cmd-r). Try input alt-c and you get "Case sensitive" checkbox selected.
Got it, you are absolutely right. I wasn't aware of the mnemonic in the commit screen.
Regards,