Andy,

> Speaking of the platform nuances – this might be relevant to the ongoing 
> platform API discussion.  Right now FX picks up nothing from the preferences 
> set by the user within the OS.  You are right, macOS allows the user to 
> change key modifiers (for example, switch control and command keys, Settings 
> -> Keyboard -> Keyboard Shortcuts -> Modifier Keys) and FX remains oblivious 
> to this change.

Those changes happen at a low level in the OS and are transparent to JavaFX. 
There’s nothing we need to do there.

We can’t directly query the OS to find a binding like, say, Shift + RIGHT => 
“moveRight:”. The default mappings are well-established so just re-implementing 
them is fine. A super power user can alter these bindings by editing a text 
file and unless we go parse that text file we won’t honor those changes. But 
that file might contain bindings we can never map (like multi-character 
Emacs-style sequences) so there’s no guarantee that we can honor their bindings 
anyway.

A regular old power user (rather than a super power user) would probably use 
something like Karabiner which remaps things at a low level that’s transparent 
to us.

TL;DR not a bad idea to honor the platform key bindings but it would be 
nightmare to test and implement and benefit a very small number of super power 
users.

Martin

Reply via email to