ç 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.

9 comments
Comment actions Permalink

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.

0
Comment actions Permalink

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.

0
Comment actions Permalink

Updated to u66 and it doesn't works again only on the commit message window.

0
Comment actions Permalink

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

0
Comment actions Permalink

The Code Editor isn't Java also?

Maybe a JDK change isn't needed, because it does work on the code editor.

0
Comment actions Permalink

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.

0
Comment actions Permalink

Got it, you are absolutely right. I wasn't aware of the mnemonic in the commit screen.

Regards,

0

Please sign in to leave a comment.