keymanapp / keyman

Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
https://keyman.com/
Other
394 stars 110 forks source link

feat(linux): Allow to install same keyboard for multiple languages #8619

Closed ermshiperete closed 1 year ago

ermshiperete commented 1 year ago

If the keyboard is already installed, we should add the keyboard for the specified language instead of uninstalling the existing keyboard/language.

rik-shaw commented 1 year ago

@ermshiperete I tested and technically it is possible if you install one as "shared / system" and a second as a user level keyboard. It gives this warning but it works: km-package-install: Warning: Keyboard sil_el_ethiopian_latin is already installed in the shared area.

Workspace 1_001

But it should be possible to have multiple of either since this could come up for users keying in multiple languages. So this is a valid feature request.

2 additional comments:

  1. In the ibus selection list it does display language name, such as `Multiple languages - SIL EL - Ethiopian Latin" now. BUT unfortunately in the alt-tab menu no language name is identified. I think this would be a feature request at ibus? (sorry I have things slightly broken now so no screenshot :-)

  2. keyman-config does not display language. This could be a valid (but separate or the same) feature request? Keyman Configuration_001

ermshiperete commented 1 year ago

Yes, it's possible to install a user and a shared keyboard for two different languages. But you can't have more than the two languages for the same keyboard (or three, if you create and install a Debian package for the keyboard).

keyman-config does not display language. This could be a valid (but separate or the same) feature request?

keyman-config only lists the keyboards. Once #4827 is implemented some day in the future it will also list the languages for each keyboard. However, as it is currently it is confusing since you don't know why you have two keyboards. I think we should add another column that tells whether it's installed in user/shared/system area. And maybe only show or fill that column if we have keyboards from more than one area? → #8631

ermshiperete commented 1 year ago

In the ibus selection list it does display language name, such as `Multiple languages - SIL EL - Ethiopian Latin" now. BUT unfortunately in the alt-tab menu no language name is identified. I think this would be a feature request at ibus?

Alt-tab? Do you mean Ctrl-space? With Wasta 22.04 things work for me (after editing the language tag to mul) and the keyboard icon correctly shows up both in the language bar as well as the pop-up menu.

Wasta 22.04-screen0.webm

(I noticed however, that while using Ctrl-Space to switch between keyboards correctly shows the installed keyboards, it is not possible to actually switch the keyboards. But this also happens with non-Keyman keyboards, so I don't think that's Keyman's fault)

rik-shaw commented 1 year ago

Alt-tab? Do you mean Ctrl-space? With Wasta 22.04 things work for me (after editing the language tag to mul) and the keyboard icon correctly shows up both in the language bar as well as the pop-up menu.

Sorry, yes indeed I mean ctrl-space :-). What I mean is the keyboard icon is correct in the ctrl-space overlay, but it doesn't show the language name there. So in my screenshot I cannot distinguish between the 2 installs of my EL keyboard: one is system level, mul (Multiple languages) and the other is user level suq (Suri). But in the display both just show as "SIL EL - Ethiopian Latin" instead of following the panel menu showing "Suri - SIL EL - Ethiopian Latin", for example. This screenshot should help clarify:

not able to distinguish which instance of the keyboard is being selected:

Workspace 1_002

mcdurdin commented 1 year ago

I think we should add another column that tells whether it's installed in user/shared/system area. And maybe only show or fill that column if we have keyboards from more than one area? → #8631

I think it makes sense to always show the column -- so you know if keyboards are installed shared or per-user. Otherwise, you can't tell if they are all installed in the same area.