[haiku-development] Re: About native keymap switching solution.

  • From: Siarzhuk Zharski <zharik@xxxxxx>
  • To: <haiku-development@xxxxxxxxxxxxx>
  • Date: Wed, 09 Nov 2011 12:10:13 +0200

On Tue, 8 Nov 2011 14:29:51 -0500, John Scipione wrote:
On Tue, Nov 8, 2011 at 3:03 AM, Siarzhuk Zharski  wrote:
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.

Okay, lets come up with a default key combination and then make it
configurable in the Shortcuts Preflet. Command (Alt) + Space is
probably not very good. It should be something easy to push but not
used by other apps. Any suggestions?

Keymap Switcher has following:
a) Ctrl-Shift ;
b) Alt-Shift;
c) Shift-Shift;
d) CapsLock;
e) NumLock;

Note that a) clashes with "yellow-tab move" modifier (try Ctrl-Shift and drag the tab of the window and you like it!), d) - e) never worked correctly because intersecting with default handling of those state-like buttons in the system. But note that Keymap Switcher was written for BeOS with the Windows keyboard switching functionality in mind - so most of those combinations are not so user-friendly as could. :-D

Special note for the CapsLock: that key was a most wanted candidate for switching in many user requests. By the way, there are workaround for Russian users using customized US-International keymap with Russian letters in CapsLock layer. But this solution is not team-sensitive as Keymap Switcher. Ah! Yes, I have forgot about one very significant feature of Keymap Switcher - it tracks the currently selected keymap for every process (Team) in the system and switch it on the fly when user moves between the windows.

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 have no idea how to solve that. Maybe instead of modifying the
keymap the button could set a flag in input_server.

Anyway we overwrite the Key_map file - so we can to simply transfer corresponding settings from the old one. But I had no big intention to hack too deeply. So I just ignored this problem in Keymap Switcher.

--
Kind Regards,
   S.Zharski

Other related posts:

  • » [haiku-development] Re: About native keymap switching solution. - Siarzhuk Zharski