JDK-8191178 : [macos] Problem with input of yen symbol
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 8u51,9,10
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2017-11-14
  • Updated: 2019-03-19
  • Resolved: 2018-09-18
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 12 JDK 8
11.0.2Fixed 12 b14Fixed 8u202Fixed
Related Reports
Relates :  
Relates :  
Description
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);
        });
    }
}

To reproduce, run the attached sample application. Make sure Japanese is
added to the list of input sources in OS settings. Choose Romaji input
method, then press backslash ( \ ) key on the keyboard.
Expected result: yen symbol is entered in the text field (this is the effect
observed in native applications).
Actual result: backslash is entered.

The issue is reproduced with latest macOS (10.13.1) and latest Java (9.0.1)
versions.
Comments
Fix Request: This is a customer bug, which is reproducible from 8u51 onwards which has been fixed in 12. It is found that small amount of our users (which need to work with Japanese keyboard layout) have difficulties entering text in our application and found that standard way to input yen symbol doesn't work in Java applications on macOS Fix was to check Unicode codepoints corresponding to currency symbols and make sure those are processed to generate InputMethodEvent. Fix has been backported to 8u also. jdk12 patch applies cleanly to 11u.
12-10-2018

[~psadhukhan] please back port the fix to 8u-dev repo. Thanks!
18-09-2018

Regression of JDK-8068283 from 8u51 and 9b52 onwards.
17-09-2018

OS X bugs
21-11-2017