<AWT Dev> [13] JDK-8218917: KeyEvent.getModifiers() returns inconsistent values for ALT keys

Sergey Malenkov malenkov at gmail.com
Wed Mar 13 10:59:01 UTC 2019


Hi Sergey,

I do not want to use the left Alt key as AltGr. Actually, I think it
will be unexpected for Mac users that the right Alt key does not work
as Alt. Mac users don't need AltGr to enter extra characters, because
they use Alt for this purpose.

I missed the "for ALT keys" in the bug title and thought that
"KeyEvent.getModifiers() returns inconsistent values" was about
incompatible behaviour on different platforms. In fact, JDK-8218917
should be renamed to something like “The right Alt key on Mac should
behave as Alt and must not break the left Alt key processing”.


On Wed, Mar 13, 2019 at 6:57 AM Sergey Bylokhov
<Sergey.Bylokhov at oracle.com> wrote:
>
> On 12/03/2019 12:28, Sergey Malenkov wrote:
> > Hi Sergey,
> >
> > 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
> > https://sites.google.com/site/malenkov/java/141229
>
> Right, but introducing this flag for the "left alt" could cause even more
> issues, so this flag is set only for the right.
>
> > 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
>
> Not sure that CAPS_LOCK is related.
>
> >
> >
> > 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":
> >> https://help.ubuntu.com/community/ComposeKey
> >>
> >>> 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:
> >> https://developer.apple.com/library/archive/technotes/tn2450/_index.html
> >>
> >>
> >>> 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.
> >
> >
> >
>
>
> --
> Best regards, Sergey.



-- 
Best regards,
Sergey A. Malenkov


More information about the awt-dev mailing list