Hello,
Do you mean it's a regression against older JDK 7 releases (that is, there is 
an older JDK 7 release which doesn't have that problem) or it's a regression 
against JDK 6, meaning that all JDK 7 releases on OS X have that problem?

On Oct 18, 2013, at 10:35 PM, Tim Howe <tim.h...@bloodhoundcbc.com> wrote:

> Unfortunately there seems to be a regression in key event handling in Java
> 1.7+ on OS X.
> 
> Mapping actions to control-chorded keystrokes uses what's printed on the
> physical key regardless of the selected keyboard layout.  Therefore when
> using any other keyboard layout the specified control keys don't work and
> other keys have surprising effects.  If you add a KeyListener and examine
> the KeyEvent it is incorrect as well.
> 
> This only affects CTRL_MASK and only Java 1.7 and so far 1.8.  1.6 works
> correctly.
> 
> Here are 2 simple ways to duplicate the problem:
> 
> 
> * Simple test case:
> 
> 1. Download and compile
> http://www.java2s.com/Code/JavaAPI/java.awt.event/InputEventCTRLMASK.htm
> 2. Select Dvorak keyboard layout ("input source")
> 4. Run sample code
> 5. Press Control-U (will appear to be Control-F on keyboard); note caret
> moves forward 1 character
> 6. Press Control-G (will appear to be Control-U on keyboard); note word is
> uppercased
> 
> If you replace all instances of CTRL_MASK with META_MASK the code works as
> expected.
> 
> 
> * Simpler test case:
> 
> 1. Use Dvorak or some other alternate keyboard layout
> 2. Run NetBeans
> 3. Try to use control keys and notice that your source code is munged
> unpredictably
> 
> 
> Thanks,
> Tim
> 
> 
> 
> This email message, including any attachment(s), is for the sole use of the 
> intended recipient(s) and may contain confidential and legally privileged 
> information.  If you believe that you are not an intended recipient of this 
> message, please contact the sender by reply email and destroy all copies of 
> the original message.  Any unauthorized use, dissemination, or reproduction 
> of this message by anyone other than an intended recipient is strictly 
> prohibited. BLOODHOUND is a trademark of Constitution Medical, Inc.

Reply via email to