This forum has been archived. All content is frozen. Please use KDE Discuss instead.

[Design feedback wanted] Keyboard layout switcher

Tags: None
(comma "," separated)
myrjola
KDE Developer
Posts
30
Karma
0
OS
Greetings!

I'm rewriting the keyboard layout switcher as a plasmoid, which will also make it a status notifier (system tray) item. The current progress is more like a blank slate for us to build upon. I'm using the finnish keyboard layout.
Image

The leftmost 'f' is how the keyboard layout switcher looks for me at the moment. I don't know if the 'f' instead of 'fi' is intentional, but I can give a rundown of it's features:
1. It can look like bold text, a flag or as a combination of bold text with a flag in the background.
2. Left click changes the keyboard layout to the next one in the list and shows the selection in an on-screen-display.
3. You can also use the mouse-wheel to change the layout, but it scrolls really fast on my touchpad.
4. Right click presents a menu where you can choose the keyboard layout or get to the Layout section in the keyboard kde control module.

For the rewrite there will be changes in the behavior for the sake of consistency with other system notifier items.
1. Left click opens the system tray view that you see in the screenshot instead of changing the layout directly.
2. Right click will not show the available layouts any longer because they are already shown in in the system tray view (what's the correct term btw?).

The visuals need some work. Is a simple label enough for the system tray icon? I think it could be made to look more like a keyboard button, maybe a rounded rectangle is enough.

The system tray view could have a settings-button and how to list the keyboard layouts should be given some thought. Maybe a simple label list separated with lines like in the Klipper plasmoid.
Image

The text could be aligned like in Gnome's layout switcher i.e. Long description left and abbreviation right aligned. There should also be an indicator for the chosen layout and a hoover highlight like in the screenshot.
Image

Suggestions, corrections and especially mockups are welcome :)
kdeuserk
Registered Member
Posts
207
Karma
0
Hm, that one is going to be pretty difficult imho. Much space for pretty little information in most of the cases (most people wont have set 10 keyboard layouts).
I think the title "Keyboard layout switcher" is too long, it should be simpler as all the other titles, for e.g. "Clipboard" is also simple and not called "Clipboard Manager", so I think "Keyboard Layout" or something like that should be more than enough.
Only idea that comes to my mind to fill up empty space is to show a preview, but that doesn't make too much sense for me, since the space is to small to make the preview interactive in a sane way I suppose, but we could for example include an option to show an overlay keyboard.
Maybe this plasmoid can be made more generic to include more options than simply the layout to make sensible use of the space?
myrjola
KDE Developer
Posts
30
Karma
0
OS
kdeuserk wrote:I think the title "Keyboard layout switcher" is too long, it should be simpler as all the other titles, for e.g. "Clipboard" is also simple and not called "Clipboard Manager", so I think "Keyboard Layout" or something like that should be more than enough.

Good point, I'll switch the title to "Keyboard Layout".

kdeuserk wrote:Only idea that comes to my mind to fill up empty space is to show a preview, but that doesn't make too much sense for me, since the space is to small to make the preview interactive in a sane way I suppose, but we could for example include an option to show an overlay keyboard.
Maybe this plasmoid can be made more generic to include more options than simply the layout to make sensible use of the space?


Very good thoughts. I'm starting to think that the popup is maybe an overkill for this plasmoid. I didn't find any HIG for Status Notifier Items (SNI:s), so I'm wondering if it's okay to emulate the old behavior. Or should we strive for consistency with the other SNI:s? This plasmoid will be activated only when needed, that is when there's more than one keyboard layout activated in the settings. So maybe it's not necessary to make the plasmoid more generic.
User avatar
Heiko Tietze
Registered Member
Posts
593
Karma
0
OS
myrjola wrote:I didn't find any HIG for Status Notifier Items (SNI:s), so I'm wondering if it's okay to emulate the old behavior. Or should we strive for consistency with the other SNI:s?

Basically, the HIGs are based on the existing software. So it's a good idea to stay with the old behavior. The question is being discussed (https://www.mail-archive.com/plasma-dev ... 34349.html) and I'll talk to Thomas (colomar) during Akademy how we proceed. If you want to push the topic I recommend to start a new thread.

BTW: I know people who switch between more than two keyboard settings, up to 5 is a good value I guess. And I like the idea of a preview :-).
kdeuserk
Registered Member
Posts
207
Karma
0
Heiko Tietze wrote:BTW: I know people who switch between more than two keyboard settings, up to 5 is a good value I guess. And I like the idea of a preview :-).


Okay when you say that is common, then I would go with the way myrjola initially tried to do it and add some sensible stuff to not waste space. Maybe a preview makes more sense than I initially thought and would maybe be useful for people who do yet know the differences between the layouts they selected (though I doubt that).
The question would be how readable a preview is an how well it fits there (maybe we should only show it when the user clicks a layout.) If the preview would be big enough (so that one key is about the size of the mouse pointer) interactivity would not be such a bad thing, question is, if someone would want to implement it.

I am not happy with it, but here is a quick try:

Image

The svg to play around can be found here: https://drive.google.com/uc?export=down ... llVSkZHd00

What I noticed: The string as tray icon is problematic since "fi" for example has another ratio than for example "us", so I think an static icon would be better.
The F keys on the top of the preview could probably be left out.

Edit: fixed broken svg download link

Last edited by kdeuserk on Sun Sep 07, 2014 10:51 am, edited 1 time in total.
User avatar
Heiko Tietze
Registered Member
Posts
593
Karma
0
OS
Really nice and perfect from a usability POV. I would keep the function keys to have a 1:1 representation of the keyboard. And about the id string you should not think about an icon in terms of the country flags. For instance, the German layout is used in Austria or Switzerland as well. The only question is what happens when more items are available. Does the plasmoid scrolls then?
kdeuserk
Registered Member
Posts
207
Karma
0
Heiko Tietze wrote:And about the id string you should not think about an icon in terms of the country flags. For instance, the German layout is used in Austria or Switzerland as well.

I agree flags are a bad idea. I have thought about capital letter strings, that way the height would be always the same, but I am not happy yet, since if not bold it looks too minor and with bold it looks to important:

Image

svg: https://drive.google.com/uc?export=down ... XZCeHFpUWc

Heiko Tietze wrote:The only question is what happens when more items are available. Does the plasmoid scrolls then?

In my mockup the keyboard was meant to show up when one clicks the layout, see swedish and finish below, those are unselected.
We could also always show the currently active one, and when one selects another, this one will be previewed.
A scroll bar should not be too hard, I deliberately left space on the right for one ;-).

Edit: fixed broken link for the svg.

Last edited by kdeuserk on Sun Sep 07, 2014 10:49 am, edited 1 time in total.
User avatar
Nuc!eoN
Registered Member
Posts
41
Karma
0
OS
Heiko Tietze wrote:And about the id string you should not think about an icon in terms of the country flags. For instance, the German layout is used in Austria or Switzerland as well.

Hm, well so why would a flag be not correct if they both use the German layout?? I mean, whats the difference when it's shown as country letters like DE? Also what else could one take as an icon?
kdeuserk
Registered Member
Posts
207
Karma
0
Nuc!eoN wrote:Hm, well so why would a flag be not correct if they both use the German layout?? I mean, whats the difference when it's shown as country letters like DE? Also what else could one take as an icon?


For me a flag is bad, because you wont recognize it without colors and a colorful tray item will just look out of place in the beautiful monochrome systray.
kdeuserk
Registered Member
Posts
207
Karma
0
I find the following solution the best:

Image
Image

svg: https://drive.google.com/uc?export=down ... zU4dTVPbjg

Since the layout string is embedded in a key, the visual balance can be retained for all strings.
Note in the mockups the font size is the same for both, although "fi" looks much smaller, but that wont be a problem, since you see only one at a time anyway.

EDIT: updated broken download link for the svg

Last edited by kdeuserk on Sun Sep 07, 2014 10:47 am, edited 1 time in total.
User avatar
Heiko Tietze
Registered Member
Posts
593
Karma
0
OS
Nuc!eoN wrote:Hm, well so why would a flag be not correct if they both use the German layout?

It might be not too offensive for Austria and Germany but take Afghanistan and Iran (both talk in Farsi) or France and one of African country with French language. A (political) flag is not a good indicator for language (there are a lot of good postings about this topic on the web).
PS: Another example: US vs. GB.

Last edited by Heiko Tietze on Sun Sep 07, 2014 8:45 am, edited 1 time in total.
User avatar
Heiko Tietze
Registered Member
Posts
593
Karma
0
OS
kdeuserk wrote:
Heiko Tietze wrote:The only question is what happens when more items are available. Does the plasmoid scrolls then?

In my mockup the keyboard was meant to show up when one clicks the layout, see swedish and finish below, those are unselected.
We could also always show the currently active one, and when one selects another, this one will be previewed.
A scroll bar should not be too hard, I deliberately left space on the right for one ;-).

With scrollbars, I have a situation in mind when someone switches between more than three layouts. For instance on purpose to test applications in different languages, that are your fi, sv, and us plus gr and ir.
User avatar
colomar
Registered Member
Posts
947
Karma
2
OS
Actually, Switzerland and Austria each officially have their own keyboard layout (though they might be identical in fact), though I'm not sure if that's always the case.

And kdeuserk's argument that flags don't work in monochrome alone is enough to convince me that we should not use them on the panel.
myrjola
KDE Developer
Posts
30
Karma
0
OS
kdeuserk, those are wonderful mockups! I think the last icon is perfect as it fits so well with the other systray icons. From a developer point of view that preview is the most interesting and challenging part, but it's doable. Luckily there's already preview functionality in the system settings, so a little bit of plumbing should get the functionality to the plasmoid.

Good discussion going on here.

I'll get back to you when I have something to show.
User avatar
hook
Registered Member
Posts
205
Karma
0
OS
One problem might be not-really-national layouts like Dvorak, Colmak, Neo, Plover etc.

I’m using Neo2, which is currently stored as a variation of the German layout, so the layout switcher shows “de” implying it’s the standard German QWERTZ layout, which it is not.

I know that this is not the issue of the layout switching applet per se, but wanted to mention it here as it would be nice to address at some point.

That being said, I really love the designs kuserk proposed so far – especially the layout overview and the abbrevation in a key ;D


P.S. For all you keyboard jockeys, if you haven’t read it yet, this is a very informational and entertaining read: http://www.dvzine.org/


It's time to prod some serious buttock! ;)


Bookmarks



Who is online

Registered users: bancha, Bing [Bot], Evergrowing, Google [Bot], lockheed, mesutakcan