Opened 17 years ago
Last modified 5 years ago
#1449 reopened enhancement
implement keymap switching application
Reported by: | diver | Owned by: | korli |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Servers/input_server | Version: | R1/Development |
Keywords: | Cc: | siarzhuk, fyysik, prognathous@… | |
Blocked By: | Blocking: | ||
Platform: | All |
Description
Haiku should have a keymap switcher application in R1.
There is already one with bsd license: http://sourceforge.net/projects/switcher
Change History (23)
follow-up: 4 comment:1 by , 17 years ago
Component: | - General → Servers/input_server |
---|---|
Milestone: | R1 |
Owner: | changed from | to
comment:2 by , 17 years ago
Milestone: | → Unscheduled |
---|
comment:3 by , 17 years ago
Cc: | added |
---|
comment:4 by , 17 years ago
Replying to korli:
Obviously a keymap switcher should integrate well with switching input methods.
This is bit unclear sentence. IMHO, from user POV, deskbar replicant for switching keymaps for "phonetical" alphabets, shoudln't contain choice for input methods. Maybe only in additional advanced section which allows to set different shorcuts to activate this or that InputMethod. But in this case deskbar idndicator would contain second display field, separate from base keymap field. Keymap is primary thing in relation to Input Methods. To be more clean - user of input methods need ability to set basic "phonetical" keymap (variation of latin in simplest case) to that which suits his/her "physical" keyboard better. And Input Method - to use just that keymapping. Only thing I can propose for better integration is keymap locking (by blocking switcher) while input method is activated.
follow-up: 6 comment:5 by , 17 years ago
Cc: | added; removed |
---|
I write in three languages: English, Spanish and Japanese. For the first two, a keymap switcher does the job. The latter uses an input method that is enabled/disabled using a toggle key combination (alt-space in BeOS/Haiku). If my memory does not fail, I think the keymap switch only works when the input method is disabled, and when the input method is enabled, the keymap always returns to whatever system-wide keymap has been chosen as default (which usually is whatever matches your physical keyboard).
As it is now, the keymap switching and the input method toggling are independent one from the other, so they would require separate separate deskbar replicants. I guess they could be combined into one replicant, but I am not sure what that would mean under the hood. FWIW.
comment:6 by , 17 years ago
As it is now, the keymap switching and the input method toggling are independent one from the other, so they would require separate separate deskbar replicants. I guess they could be combined into one replicant, but I am not sure what that would mean under the hood. FWIW.
With single input method situation is not so complicated, but I imagine situation when users utilize several input methods. E.g. Hebrew and Japanese, besides, to say, english, german and russian keymaps:) (I know users, who really have need for that!). But from your talk I got understanding that switcher keymap-locking feature with activated input method is already automagically present in BeOS. So we just need to check that it wouldn't be broken in Haiku.
comment:7 by , 17 years ago
Cc: | added |
---|
comment:8 by , 16 years ago
If someone would like to work on that, note that i'm working on a new keymap management system that would ease implementing this enhancement. Just send me a mail or comment here so there's no wasted effort :)
comment:9 by , 16 years ago
Some links: http://switcher.cvs.sourceforge.net/viewvc/switcher/keymapswitcher(haiku)/ http://siarzhuk.dyndns.org/switcher-h.zip
I would suggest to add "Show keymap switcher in Deskbar" option to Keymap preflet to trigger deskbar replicant on/off.
comment:10 by , 16 years ago
Note that mentioned keymap switcher is pending now to be added as optional 3rd party package. See #3681 for details.
comment:11 by , 16 years ago
Thanks for the note. I don't have plans to work on my keymap system replacement in the near future, it's fine to use that 3rd party switcher for now :)
comment:12 by , 15 years ago
Shouldn't this issue be closed as soon as KeymapSwitcher is available as 3rd party app?
comment:13 by , 15 years ago
I would like to have keymap switcher preinstalled. I think that such functionality is a mandotary for an OS.
comment:14 by , 15 years ago
Indeed, this functionality should be added to the Keyboard preferences in the future (which this ticket is about). For now, using the KeymapSwitcher is fine, though.
comment:15 by , 15 years ago
Cc: | added |
---|
comment:16 by , 15 years ago
Version: | R1/pre-alpha1 → R1/Development |
---|
comment:18 by , 10 years ago
Status: | new → reopened |
---|
Even though we have KeymapSwitcher in HaikuDepot now, we need something much more integrated. Here is discussion http://www.freelists.org/post/haiku-development/About-native-keymap-switching-solution-Was-Looking-for-feedback-on-enhancements-for-dealing-with-Mac-keyboards-with-Haiku
comment:19 by , 5 years ago
Why not bundle this application with the system for the moment? This is real core functionality that's missing. Maybe it will be an incentive for a newcomer to pick this and integrate it into the system in a better way.
comment:20 by , 5 years ago
Yes, this makes sense. When a newcomer installs Haiku and comes to Telegram group asking how to switch keymaps and we have to answer this question again and again and again to get it from HaikuDepot. Current code is at https://github.com/HaikuArchives/KeymapSwitcher.
comment:21 by , 5 years ago
It is already bundled with release images, but not nightlies, I believe.
comment:22 by , 5 years ago
A small but useful hack: Add a button to Keymap preference pane to trigger the Switcher. This way there won't be any confusion about which pane to start with.
comment:24 by , 5 years ago
So, here's the mailing list comment from Siarzhuk Zharski about the KeymapSwitcher design:
It's design is rather eccentrical - the input filter watches for key events and send corresponding switch messages to the replicant in Deskbar that overwrites the ~/config/settings/Key_map file and forces input_server to reload current keymap. Because of such "unoptimal" design it has no chance ever to settle in the Haiku tree.
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.
Indeed it would be nice for input_server to be able to switch keymaps without having to rewrite the settings file everytime.
Obviously a keymap switcher should integrate well with switching input methods.