<AWT Dev>  JDK-8218917: KeyEvent.getModifiers() returns inconsistent values for ALT keys
malenkov at gmail.com
Tue Mar 12 19:28:14 UTC 2019
1. macOS uses a regular Alt key as "Alternate Character Key". This is
the reason why JDK Toolkit defines Ctrl+Alt to select a mnemonic,
instead of simple Alt. See
2. JDK also supports KEY LOCATION for such keys. Mentioned "Key Table
Usages" says nothing about AltGr.
3. Regression was caused by adding AltGr to key processing on Mac. But
I found more issues with inconsistent key processing on different
platforms. See http://sites.google.com/site/malenkov/java/190312
On Tue, Mar 12, 2019 at 4:17 AM Sergey Bylokhov
<Sergey.Bylokhov at oracle.com> wrote:
> On 11/03/2019 17:37, Philip Race wrote:
> > The debate is about AltGraph which an ancient MS-DOSism for
> > asking for an ALTernate GRAPHics bitmap font - all pre-dates windows
> > and I am sure has never been applicable to any MacOS.
> It also about the "right alt" which is also know as "AltGraph". I guess currently
> it is implemented as "right alt" on Linux/macOS/windows.
> BTW on linux it is also named as "Alternative Characters Key":
> > So someone needs to properly explain why we would claim a Mac keyboard
> > is OK to generate a keycode it doesn't have and cause a slew of regressions
> > in the process ...>
> > If Mac doesn't distinguish these two, we should generate the same keycode for both.
> The macOS supports "right alt", otherwise it would not be possible to implement it in java:
> > One could suppose there is a difference else why two keys, but what is the right
> > thing to do here that fixes all the problems. What exactly WAS the problem
> > with what was there in the first place ? And if changing it is correct why is it
> > causing regressions ?
> Regressions were caused by the bugs in the fix implementation, or am I missed something?
> > -phil.
> > On 3/12/19, 5:34 AM, Sergey Bylokhov wrote:
> >> Hi, Phil.
> >> On 11/03/2019 07:43, Philip Race wrote:
> >>> The reasoning that AltGraph might be useful to someone is a bit weak
> >>> and I don't think I'd want to support it via system property or build options.
> >>> If its not a platform keyboard key, why do we need it ?
> >> The "AltGraph" key is also commonly referred to as "Right Alt", and
> >> it has been implemented on all platforms as a "Right Alt", it is convenient to
> >> distinguish the left/right alts.
> Best regards, Sergey.
Sergey A. Malenkov
More information about the awt-dev