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

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Tue Mar 12 01:17:18 UTC 2019


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.


More information about the awt-dev mailing list