-
Bug
-
Resolution: Fixed
-
P3
-
8u202, 11.0.2, 12, 13, 14
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8246574 | 13.0.4 | Prasanta Sadhukhan | P3 | Resolved | Fixed | b04 |
JDK-8243085 | 11.0.8-oracle | Prasanta Sadhukhan | P3 | Resolved | Fixed | b04 |
JDK-8243310 | 11.0.7.0.1-oracle | Prasanta Sadhukhan | P3 | Resolved | Fixed | master |
JDK-8234488 | 11.0.7-oracle | Prasanta Sadhukhan | P3 | Closed | Fixed | b01 |
JDK-8235416 | 11.0.7 | Prasanta Sadhukhan | P3 | Resolved | Fixed | b01 |
JDK-8237089 | 11.0.6.0.1-oracle | Prasanta Sadhukhan | P3 | Closed | Fixed | b01 |
JDK-8234901 | 8u251 | Prasanta Sadhukhan | P3 | Resolved | Fixed | b01 |
JDK-8239684 | emb-8u251 | Prasanta Sadhukhan | P3 | Resolved | Fixed | team |
macOS 10.13.6 (but other versions also have the same problem)
A DESCRIPTION OF THE PROBLEM :
Java apps ignore system settings regarding handling yen key.
Yen key generated a different scancode than the backslash key, and macOS has settings to handle those correctly. Java apps seems to ignore that.
There is a fix https://bugs.openjdk.java.net/browse/JDK-8191178 which tries to improve the handling of yen symbol, but actually it makes things worse for the backslash case, making impossible to input backslash at all in some cases.
Please see https://youtrack.jetbrains.com/issue/JRE-572 for the further discussion.
REGRESSION : Last worked in version 8u172
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Install macOS 10.13 High Sierra, set system language to English
2. Find a keyboard with JIS layout
3. Add Japanese input source
4. Change Settings -> Keyboard -> Input Sources -> Japanese -> "Â¥" key generates -> \ (Backslash)
5. Change Input method to Romaji
6. Check that other apps correctly interpret that key as backslash now
7. Check that a Java app still interprets it as "yen"
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
See https://youtrack.jetbrains.com/issue/JRE-572#focus=streamItem-27-3178131-0-0
ACTUAL -
See https://youtrack.jetbrains.com/issue/JRE-572#focus=streamItem-27-3178131-0-0
---------- BEGIN SOURCE ----------
import javax.swing.*;
public class JTextFieldTest {
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
JFrame f = new JFrame();
JTextField field = new JTextField(20);
f.add(field);
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
f.pack();
f.setLocationRelativeTo(null);
f.setVisible(true);
});
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Before the fix https://bugs.openjdk.java.net/browse/JDK-8191178 (checked with 8u202b03) it was possible to input backslash with Command+Yen, the fix breaks that behavior.
FREQUENCY : always
- backported by
-
JDK-8234901 [macos] Problem with backslashes on macOS/JIS keyboard: Java ignores system settings
- Resolved
-
JDK-8235416 [macos] Problem with backslashes on macOS/JIS keyboard: Java ignores system settings
- Resolved
-
JDK-8239684 [macos] Problem with backslashes on macOS/JIS keyboard: Java ignores system settings
- Resolved
-
JDK-8243085 [macos] Problem with backslashes on macOS/JIS keyboard: Java ignores system settings
- Resolved
-
JDK-8243310 [macos] Problem with backslashes on macOS/JIS keyboard: Java ignores system settings
- Resolved
-
JDK-8246574 [macos] Problem with backslashes on macOS/JIS keyboard: Java ignores system settings
- Resolved
-
JDK-8234488 [macos] Problem with backslashes on macOS/JIS keyboard: Java ignores system settings
- Closed
-
JDK-8237089 [macos] Problem with backslashes on macOS/JIS keyboard: Java ignores system settings
- Closed
- relates to
-
JDK-8191178 [macos] Problem with input of yen symbol
- Resolved
-
JDK-8248532 Every time I change keyboard language at my MacBook, Java crashes
- Resolved
-
JDK-8234786 Fix for JDK-8214578 breaks OS X 10.12 compatibility
- Resolved
- links to