[haiku-development] Re: AltGr Key, key_map, and the US-International Keyboard

  • From: "Starsseed" <starsseed@xxxxxxx>
  • To: <haiku-development@xxxxxxxxxxxxx>
  • Date: Fri, 30 Mar 2012 00:47:15 +0200

From: "John Scipione" <jscipione@xxxxxxxxx>
I've added support for specifying the characters produced via a keymap
for the left and right option (Windows) keys separately.

Great : it's a much awaited improvement !
.... well, if you mean right <CMD> (Alt) key  ;-))

From: "Rimas Kudelis" <rq@xxxxxx>
First of all, with AltGr layer available, I don't think Option layer is
needed. Subsequently, I don't think Option and Control layers should
belong to the keymap at all. At least the Control layer seems to output
low-level stuff. Is there any reason why it should be localizable and
not hardcoded (or at least not autogenerated)? Same goes for the
Opt-layer, if it were to be used for application shortcuts as you
suggest below.

Quite agree : with <Shift> <CapsLock> <NumLock> and <AltGr> keys,
we already have 4 switch keys and then 2^4=8 distinct layers - that
should be enough...

For the keymaps I know, <Alt> <Control> <Window> <Menu>
keys don't change the generated characters (note: I have no idea about
CJK keymaps).

From: "John Scipione" <jscipione@xxxxxxxxx>
Unfortunately the Alt and AltGr keys are assigned to Command, not
Option so AltGr might even be actively confusing. I like the idea of
calling the map shift-level-3. That is unambiguous.

Well, if <AltGr> allows an access to a layer, don't forget that it should
be handled in a specific way : if <AltGr>+<Key> has no correspondences,
the <AltGr> key should FALL-BACK to the <Alt> key.
For instance, with the french "azerty" keyboard, <AltGr>+<T> should be
equivalent to <Alt>+<T>
This way you don't loose the second <Alt> key.

From: "Adrien Destugues" <pulkomandy@xxxxxxxxxxxxx>
The idea of the extra AltGr modifier is (for French keyboard, at least) :
  * Ctrl key is used to enter control characters, from Ctrl + A = ASCII
code 1 to Ctrl + Z = ASCII code 26, IIRC. These are technically regular
ASCII characters.

it's usually handled by the Terminal applications as it's a specific behavior of
text-based-command-line applications.

...For example, I could see Ctrl+space being used for
non-breakable space.

Once again, it's a (word processors) specific behavior.
However with <Shift>+<AltGr>+<Space> you can map <Space>,
<UnbreakableSpace>, <ThinSpace> and <UnbreakableThinSpace>
(I tried to add this to the french keymap some time ago but it was "hanging"
the input server and crashing the clients - even if the clients applications were
able to handle theses characters well, when reading them from a file. May be
I'll try to add it again...one day)

Regards
Starsseed

Other related posts: