[haiku-development] Re: About native keymap switching solution. (Was: Looking for feedback on enhancements for dealing with Mac keyboards with Haiku)

  • From: Siarzhuk Zharski <zharik@xxxxxx>
  • To: <haiku-development@xxxxxxxxxxxxx>
  • Date: Tue, 08 Nov 2011 10:03:10 +0200

On Mon, 7 Nov 2011 18:40:18 -0500, John Scipione wrote:
It sounds like what we need is to add the ability to have multiple
keymaps and have a key combination to switch between them. On Mac OS X
you do this by Command + space... which doesnt work very well because
that is also used by Spotlight, but I digress. Of course the problem
with a key combo is that the keys you press could change when you
changed your keymap... perhaps we could hard code something for this.

Hard-coding is bad. As maintainer of KeymapSwitcher I can say that people want to link the keymap switch event on any combination they can invent. At least I was pushed with such requests ever many times. One solution can be utilizing the power of our Shortcuts Preflet for activating "keymap switch" in input_server for example. The input_server can maintain all configured keymap tables in memory and perform characters translation (and shortcut adjusting) on the fly without bothering with keymap files.

Another problem this package tries to solve is shortcuts mapping.
Haiku has inherited from BeOS the character-based shortcuts and user
have to press different keys combinations on different keymaps for
the same shortcut.  Many people found this annoying - because this
breaks the whole idea of shortcuts as "muscle memory using". And
needless to say that cyrillic keymaps have no latin characters at
all so russian guys are not just annoyed but in the great fury. To
calm them, KeymapSwitcher select one of configured keymaps as "base"
one and use it to substitute shortcut characters on the fly in the
input filter so they looking like from latin-based keymap.

Well, the ability to switch the shortcuts is useful as well. The more
I dig into this the more I think that the modifier keys should be
configured separately from the rest of the keymap.

By the way - the "Windows-Linux" modifier settings are not working with KEymapSwitcher because this setting is stored directly in Key_map file and overwritten to default one on every keymap switch.
  
 I hope you like the story. :-)

I do not, but user frustration is a good incentive to make the keymaps
work better. There

I meant not the current condition but my "story" about it. ;-)

--
Kind Regards,
   S.Zharski

Other related posts: