Rants & Ideas: Keyboard configuration usability

I let on somewhere that I'll like to see keyboard configuration in KDE be greatly improved, and since then a few people have been trying to catch me, hold me down and get me to elaborate. So I'm going to shotgun this one out into blogsphere(?) and see what happens.

My first problem with how things are now is simply that everytime I have to configure my keyboard setup I have to guess as to what model my keyboard actually is. It's pretty generic so I go for "Generic x", then I usually do a quick count of the keys to work out what 'x' should be. (Does the caps lock key count? and those funny windows keys??) The next problem is do I have, or do I want, dead keys? I know that if I choose something wrong here then some of my modifier keys start "acting up" and doing things which I don't want.

Problem number two. Which layout do I have? It doesn't actually say anywhere on the keyboard what the layout is. But it was made for Honeywell Australia in Mexico. So I compromise and go for US English. (But Australia uses British english spelling, does that mean we also use the British layout???)

Assuming that went OK. The next problem is how can I type accents, umlauts and all that other stuff that you need in europe. It wasn't until one of the'ers threw a link to a HOWTO on the IRC one day that I found out that you could even have a cool compose key in KDE.

Now, granted a lot of people are thinking "Simon, you're an idiot. You're not even trying", my real point is how the hell are normal people (not computer geeks!) supposed to correctly configure their keyboards? How are people supposed to work efficiently on configurations that barely match the language(s) they use? The situation isn't much better on that other operating system. I've seen people at work who have memorised those weird ass Alt+123 codes for all of the accented etc characters that they need. It ain't pretty folks.

What is the solution? May I dream out loud?

Firstly I want to be able to choose my keyboard model from a bunch of pictures/diagrams of keyboard models. I should be able to see what is written on each key in the diagram. The diagrams should also highlight which parts of the keyboard I should be paying attention to in order to correctly match my model, and which parts can vary. (for example, the position of the pipe sign often varies on US english keyboards).

Once I've workout which model I've got in front of me, the next task is to choose the layout. And yes, I want more diagrams here too. I want to _see_ what I am choosing. I want to see every key and what it does, laid out in front of me.

Next, the current Keyboard layout module in kcontrol does a poor job of explaining that you can have multiple layouts which you can then switch between. This needs to be better explained, and I'm not talking about a user guide. I mean in the UI itself.

The whole "Xkb" tab needs to be broken down into understandable chunks that also explain what they do. I know there are a lot of people out there who would love to have a working compose key, if only they knew that the functionality even existed and how to turn it on.

What I'm discussing here is of course a hell of a lot of work. The best part is that creating this ultimate keyboard configuration tool wouldn't need much programming. It would need a lot of work collecting info about all of the different layouts and models, and preparing all of the diagrams and pictures needed. Not to mention a good looking at by a someone with time and usability skills. But it is the perfect task for any non-coding developers out there who want to get involved. Any takers?

(For bonus points to anyone still reading. How the $@%# do you type the euro sign?)


Alt Gr-E works here : €

By ismail at Wed, 11/09/2005 - 22:15

Compose-Equals Sign-lowercase "e" -- €€€€€€€!

Is there any sort of reference for compose-key sequences online? That equals sign in particular took me FOREVER to find... I spend all sorts of time randomly typing compose squences, hoping that one will do something useful.

By jaykayess at Wed, 11/09/2005 - 22:20

> Firstly I want to be able to choose my keyboard model from a bunch
> of pictures/diagrams of keyboard models.

xkb can have that kind of info (it's called geometry) and even has some (not all keyboards are present in its database, but we're a comunity, right?). see the xkeycaps utility; it already does what you want (and also allows you to modify the mappings, but that's another story).

I don't know how this could be handled in non-X11 environments (macos and others).

By styxman at Thu, 11/10/2005 - 17:12

Just to add my own rant: I wanted to configure a QWERTY keyboards to display accents with a compose key: I don't like keyboard switchers.
I tried during two whole days to do it the way I wanted, found that KDE configuration is poor (this is an old version of KDE on RHE3) and that xkb's documentation suck.
Disgusted, I accepted X configuration (the compose key wasn't the one I wanted but it worked!) and didn't try to fight the system anymore..
Ranting is not very productive I know, but spending two days thinking "it can't be *THAT* hard to use the compose key I want on Linux/KDE" really annoyed me at the time.
Note that I'm not trying to troll, I'm not saying that other systems do it better: usually on other computers I use an AZERTY keyboard so I don't know how to other OS do it. To use vi AZERTY is a pain, that's why I use a QWERTY keyboard for Linux but sometimes I want to send emails with accents too..

By renox at Thu, 11/10/2005 - 20:23

One simple example: I installed Suse 10 and my mouse support got lost in the install process after the reboot. So what to do?

I was able to start KDE but the cursor remained in the center of the screen (this unusual behaviour could be detected I suppose..., SuSe did not detect it)

So I started Yast. But I it took me long time to get to the right tab window where the mouse configuration can be found. I did not know how to switch to the right tab, TAB did not work. Anyway, I finally made it, changed via keyboard to PS/2 USB and everything worked fine.

So recommend a test:

Put away the mouse and then try to use your KDE desktop. this is the best way to find usability glitches.

Yast is no KDE tool but I believe YAST keyboard and KDE keyboard configuration can be merged. KDE must integrate more system management tools as it is irrelevant for the user what is on the system or the DE level. When KDE integrates system configuration tools it will be a good contribution to standardise Desktop linux across distributions. At least the front end will then look the same.

By elektro at Thu, 11/10/2005 - 21:00