Thats why the events will be bound in special-event-map. Nobody will see
them, except for the code that handles them. We can of course
completely disable them with a variable.
Even if no one sees them, bombarding the Emacs event queue with
useless events will have its effect: Emacs will become more sluggish,
some while-no-input loops will unexpectedly exit just because the user
happened to touch the Shift key for some reason, etc.
Physical keys also raise the issue of supporting input methods,
keyboard layout switches, etc.
I will define a list of keys: LeftShit, RightShift, LeftControl, etc.
The platform dependent code will decide which one was pressed. As events
will be invisible, I don't think we will interfere with input methods.
I meant the non-modifier keys. When some OS feature redefines a key,
low-level events will not know that, and will still consider the key
labeled 'a' as 'a', even though I might have switched the keyboard to
another language, where the key labeled 'a' actually produces a
completely different character, say, 'ש'.
However, on what systems and which Emacs configurations will it be
possible to provide such a feature?
I think all GUI systems can use this.
So X (with or without any toolkit we support), PGTK, MS-Windows, and
macOS -- all those let applications access low-level key events?