[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: RFR: 8150709: Mac OSX and German Keyboard Layout (Y/Z) [v4]
From:       Martin Fox <github.com+12087024+beldenfox () openjdk ! java ! net>
Date:       2021-05-25 21:49:05
Message-ID: 7psvBBkKDCQo8VUJPCE3CmreXLyr_d97fy0v-j81TnM=.d1ba2101-11d7-4e46-8175-97e657e2eb25 () github ! com
[Download RAW message or body]

On Tue, 25 May 2021 10:40:50 GMT, Tom Schindl <tschindl@openjdk.org> wrote:

> > Is there some reason you would prefer a Swing-style implementation over the \
> > approach I submitted in this PR? The Swing code breaks down if an accelerator \
> > calls for the Option modifier alone or in addition to Command. I'm still \
> > investigating work-arounds. 
> > (Long story short, Command alters the character we receive in a good way, \
> > providing a low-ASCII character even on non-ASCII layouts like Cyrillic. Option \
> > alters the character in a bad way, often producing an arbitrary symbol. Prior to \
> > macOS 10.15 we can't toss one modifier without tossing the other short of using \
> > UCKeyTranslate.)
> 
> @beldenfox I did not say that the swing version is the way to go and in the end its \
> @kevinrushforth call what route should be taken - I just wanted to show what my \
> initial change would have been without saying it is better than what you are \
> proposing which sounds like is more complete than what swing provides today.

@tomsontom I've added the Swing-style code as WIP PR #519. There are comments in the \
PR that probably should be in the code but I wanted to reduce the code diffs.

PR #519 (and Swing) tend to get codes for punctuation keys wrong on non-US layouts. \
That's not a big issue for accelerator processing since accelerators involving \
punctuation should use KeyCharacterCombinations which work even if the underlying key \
codes are wrong.  (I can't seem to find documentation that tells developers how to \
choose between KeyCodeCombinations and KeyCharacterCombinations. Am I missing \
something?)

There are isolated instances where PR #519 assigns a letter code to a punctuation \
key. For example, on the French keyboard it assigns KeyCode.M to the comma/question \
mark key which is where the M key is on the US layout. This means an app that uses \
both M and one of those punctuation characters as accelerators might see both fire. \
This might be a non-issue, the same problem afflicts the current code and I didn't \
run across any bugs on that.

-------------

PR: https://git.openjdk.java.net/jfx/pull/425


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic