Saturday, January 26, 2008

Keyboard layout should not be a global setting

mac kitty by atomicshark from flickr (CC-NC-SA)

Most computers these days are laptops. Their computing power got quite decent, and they're even becoming reasonably powerful for moderate gaming. One of the major problems left is typing on them. Laptop keyboards, especially in smaller laptops, are tiny, have very small keys, no numeric keypad and painfully unergonomic shape which forces you to keep your hands in unnatural position. As keyboard and screen are attached to each other there's no way to make it comfortable for both your eyes and your hands. To make matters worse recently many laptops started to include a big touchpad which doubles as a mouse button, so when you try to type, and you have to keep your hands very close to each other because the keyboard is so small, you're very likely to accidentally "press mouse button" by touching the touchpad. Basically they're completely unsuitable for touch typing, and they will forever stay this way, because it's impossible to build a decent keyboard that fits in laptop form factor. That doesn't mean that all of them are equally bad, the worst one I've seen so far was Macbook's, and some in bigger laptops are only annoying instead of being actively painful.

This all means that unless the only thing you type are Google search queries, you need a real keyboard for your computer in addition to the internal keyboard. Most people don't seem to care about this, but I really like Dvorak layout. And here lies the problem because in every operating system I've ever seen keyboard layout is a global setting, not per-device setting. I want to touch type in Dvorak on external keyboard, but as touch typing on laptop keyboard is not possible I'd prefer it to stay QWERTY, so I can at least see what key I'm pressing. However as keyboard layout is global rather than per-device setting, I have to manually switch it every time I attach or detach external keyboard.

Pressing keyboard layout switcher a couple times a day is maybe not the worst usability problem out there, but could KDE/GNOME developers please improve it ? That would be really really great.

5 comments:

  1. Anonymous01:15

    You might have some issues, especially if your hands are on the larger size, but I don't have this problem and it's not something I hear as a common complaint from those I know who exclusively use notebooks. I'm on a desktop most of the time, but my Bluetooth keyboard is the same size as the one on my MacBook Pro, and I spend perhaps 8 hours a day touch typing.

    Different strokes for different folks, etc!

    ReplyDelete
  2. Even if your keyboard has the same size as MacBook Pro's, at least you don't have problems of uncomfortable position of keyboard relative to the screen, and touchpad getting in your way.

    And MacBook Pro's keyboard is a bit larger than MacBook's.

    ReplyDelete
  3. 1. There are some scripts on the net which disable the touch-pad when you are typing. Just google for it.

    2. You need a track-point :)

    3. x.org configuration actually can have several InputDevices, some of which might be keyboards. Each keyboard device could have its own configuration, however I don't whether this works in practice. Two mice definitely do work and I think with USB keyboards it's worth a try.

    ReplyDelete
  4. Most computers these days are laptops.

    No. Not unless you are always on conferences. :-) I usually use a stationary PC as an X terminal when doing work that is on the laptop. It is now sitting a few feet away, and I mostly use the laptop's physical I/O when I'm away. (Sometimes, when there is space on the desk, I use it as a secondary screen.)

    I also use qwerty layout on the laptop even though it has german keycaps. Ok, that is not as hard as dvorak; I do it primarily for [{}].

    (And I remember seeing a total hack which uses one keyboard for insert mode and the other for command mode in vi.)

    ReplyDelete
  5. andreas krey: It seems that most computers sold these days are indeed laptops. Just check this random press release.

    ReplyDelete