Thursday, December 4, 2008

ThinkPad Keyboard Madness

I own lots of laptops. After being an independent software development and BI consultant for many years, I've assembled quite the collection. I have Dells and Toshibas[1] and have had Gateways and HPs as well. My little home office is filled with them[2].

I also have a Lenovo. It's a ThinkPad X300, and if I never needed to type on it, it would probably be one of my favorite computers. It's light, it's powerful, it's solid, and just about everything you could want a laptop to be.

But I do have to type on it. And because of this, I swear. A lot. In fact, I swear so much I just may need a new chart.

Why all the swearing, you ask? Well, before I answer, please take a look at your keyboard, down in the bottom left corner. Go on. I'll wait.


You see, if you're typing on a ThinkPad, you'll probably[3] notice that the bottom left key is the control "Ctrl" key, and to the right of that (if you're using a laptop anyway) is the function "Fn" key.

Still with me? Good.

Now if you were horribly evil in a past life and are currently being punished by having to type on a ThinkPad, you'll instead notice that the Fn and Ctrl keys have been reversed. Swapped. Inverted.

And this is insane!

Ok, you ask - what's the big deal? Who cares?

First and foremost - me. I care a lot. You see, I'm a developer. And while I don't buy in with the whole developer stereotype[4] I definitely am a very keyboard-centric computer user. I prefer to use my keyboard whenever possible, and there are literally thousands of times each day when I perform some task that utilizes a Ctrl+Key keyboard shortcut. For example, you may be familiar with some of these well-loved productivity enhancers:

  • Ctrl-C = Copy
  • Ctrl-V = Paste
  • Ctrl-Arrow (Left or right) = Jump one word in text
  • Ctrl-Shift-Arrow (Left or right) = Jump and highlight one word in text
  • Ctrl-F4 = Close current tab or child window

I could go on and on and on. A significant portion of the most common Windows keyboard shortcuts involve the Ctrl key.

Now at this point you're probably asking "But Matthew, since this incarnation of ultimate evil that Lenovo uses for a keyboard inverts the Ctrl and Fn keys, what do these keyboard shortcuts do if your finger, trained through decades of computer use, hits the Fn key instead?"

Funny you should ask. This is what happens:

  • Fn-C = Nothing
  • Fn-V = Nada
  • Fn-Arrow (Left or right) = Zip
  • Fn-Shift-Arrow (Left or right) = Zilch
  • Fn-F4 = Puts the computer to sleep!!!!!

That's right. If you try to close out a child window and let your fingers follow the paths that are ingrained deep in their muscle memory, you have just effectively closed the lid on your accursed laptop and have shut it down. Even if you're in the middle of working. Even if you're in the middle of a giant download that then needs to be restarted. Even if you're connected remotely to the corporate network and you then need to dig out your smart card so you can re-connect. Even if you're hosting a LiveMeeting that your boss' boss' boss is attending. Yeah. Even then.

I could go on. I could rant about how there is no way to re-map these keys, because the Fn key isn't exposed to the standard Windows keyboard APIs. I could rave about how the Esc key is on its own row above the function keys (F1 through F12) so that when I try to hit F2 to rename a file I get F3 (search) and when I attempt to hit Esc I get F1 (help) instead. I could blow my top and go on and on about how when I use my other laptops (which outnumber my lone ThinkPad 7:1 at this point) the lessons that my poor fingers are being forced to learn are tripping me up when I use normal keyboards. I could go on and on and on...

But I won't. Because it's far too late for a rant like this to go on any further. Instead, I'm going to fill out a little survey that Lenovo has put together. And I encourage you to do the same. Please, please, please do the same.

I think it's great that Lenovo is conducting such a survey. But I think it is very frustrating that they're just getting around to asking. Take a few minutes and Live Search around on "ThinkPad" and "keyboard" and you'll see what I mean - dozens of other frustrated ThinkPad owners have poured their anguish into the ether as well. (My favorite one is here.)  And even more frustrating, the survey doesn't even mention the Fn and Ctrl key positions - it focuses on the Esc, Home, End, PgUp and PgDn keys instead. Ugh...

But hopefully they're listening now. This is what I told them at the end of my survey, in response to the question "Of the keys that vary between different key layouts, for which keys are you most concerned about their location (e.g. Esc, Home, End, PgUp, PgDn, others, etc.)?":

"The Ctrl key MUST be in the bottom-left corner, immediately below the Shift key. If this is not the case in the hardware then there MUST be a way to re-map these keys in the OS or BIOS. Yes, you need to keep your historic users happy, but you also need to understand the basic mechanics of using keyboard shortcuts and the PAIN that users feel when attempting to adjust to the ThinkPad's non-standard layout. Until one of these solutions is implemented I will never buy or use another ThinkPad."

And I won't. It pains me that much. There are lots of small, light, powerful laptops out there just waiting for my hardware budget, and only the ThinkPad comes with a keyboard that makes my typing life miserable every day. It's a show-stopper for me, and I will never buy another laptop without looking at the keyboard first.

But now it's time for me to sleep. And hopefully to dream of non-ThinkPad keyboards...

[1] Which is another story, but probably not one I'll rant about just yet...

[2] And, in the winter, heated by them.

[3] I saw "probably" simply because I have not owned one of every type of computer ever made, but for my own personal sample "probably" means 100% of the time.

[4] For example, I dislike Red Bull, don't drink Mountain Dew, and I'm tall, good looking[5] and very comfortable around members of the opposite sex. ;-)

[5] Humble, too.


Carolus Holman said...

I have a Lenovo, I thought I was the only crazy one about this out there. I hate the placement of this key. IT DRIVES me MAD!

Matthew Roche said...

Then make sure you complete that survey I linked to and let Lenovo know how upset you are. Then we can see if they are really listening.

Rob said...

I agree with you on the placement of the function key. It used to drive me crazy when I got my first Thinkpad 8 years ago. I have since gotten used to it, and the other benefits of the Thinkpad far outweigh that one drawback.

The keyboard is by far the best feeling laptop keyboard I have used. Also, the biggest thing for me is the ins/del/home/end/page up/page down block. The Thinkpads are the only laptop keyboards that seem to get this right. All the other makes put it in a stupid line down the right side and I can never find the right one.

Function key aside, I love Lenovo keyboards.

Matthew Roche said...

@Rob - Although I agree that the ThinkPad is very well built, I can't get over the key placement. I waited two months of regularly using the ThinkPad as my primary machine before I posted this rant, and I think that two months should be more than enough time to get used to a poor design if you're ever going to get used to ut. ;-)

My personal favorite keyboard is the one on my Dell Inspiron 9400. It has solid keys that provide excellent tactile feedback when typing, and has all keys (including the Ins/Del/Home/End/PageUp/PageDn keys) in logical and convenient places. Take a look at this:

Unknown said...

Microsoft has an official tool for remapping your keyboard, try switching Fn and Ctrl. I have a Thinkpad, by the way.
It's in this pack here.

Hope it works out for you.

Unknown said...

I'm sending the damn T400 back. That's how strongly I feel that it is ridiculous to have the ctrl/fn keys swapped. I'll be fighting to get the 15% (gack) restocking fee waived through my Visa card.

My argument is that Lenovo clearly knows about new customers' dissatisfaction with this issue, as it comes up on their own blog. If there had been a clear picture of the keyboard (there was not), I would have had the information to make an informed decision: to NOT buy this computer.

The customer service rep said if keyboards were so important to me, I should have done my due diligence and asked about key placement. What? How in the world would I have ever thought to ask if those keys were swapped? Should I have asked if the 'k' was in the proper place? If the '2' was where it should be?

I did, in fact, make a call before purchasing to confirm the placement of the 'six-pack', the ins/del/home/end/pg up/pg dn keys. I told that rep I was asking because I'm a touch-typist, and keyboard configuration is important to me, and I know that the 'six-pack' placement does vary from laptop to laptop depending on the manufacturer.

But the sales rep made no mention of the ctrl/fn key placement.

So wish me luck in getting my $185 re-stocking fee. And if keyboard configuration is important to you, use Google Image to search for the laptop name you're getting with 'keyboard' to get a full-sized picture before you purchase your laptop.

By the way, I'm now looking at the Dell Latitude E6400, which appears to have the keyboard configuration which is most similar to a desktop keyboard (ESC next to the F-keys, 6-pack together and above the F-keys, ctrl/fn in lower left in proper order and no annoying browser back/forth buttons over the left/right arrows). It also has the anti-glare screen (matte finish) which I so crave, and don't understand why it has such limited availability any more. Glossy screens are ever-so-annoying, reflecting any movement and light shift. And I'm not that big of a fan of seeing my own face reflected back at me any time I'm on a dark image. :-p

Matthew Roche said...

Good luck, Kate!

I've been using my ThinkPad daily for almost six months now (probably averaging 50 hours/week at the keyboard) and this continues to frustrate and infuriate me EVERY DAY.

The one that gets me most often these days is the function key offset. Because the Esc key is above the function keys, all of the F-ing F keys are to the left of where they should be. A dozen or more times each day I hit F3 (search) when I mean to hit F2 (rename) to rename a file.

And it's a shame, because the X300 is otherwise a wonderful machine. But it's the only Lenovo I will EVER own...

Matthew Roche said...

@Sax - That doesn't work for the Fn key. It only works for keys with codes that can get intercepted by the OS, which this does not.

Wyles said...
This comment has been removed by the author.
Wyles said...
This comment has been removed by the author.
Matthew Roche said...

That would definitely be cool if they listened to customer feedback and made some changes. It would be INFINITELY MORE COOL if they sold replacement keyboards for existing models (namely the X300 ;-) so that current customers could start loving everything about their machines.

Wyles said...

I just found this on the new unreleased ThinkPad T400S. There are a few changes to the keyboard such as larger ESC and Delete keys, as well as a one-key leftward shift of PrtSc, ScrLk, Pause, and Insert keys. Looks like the usual Fn, CTRL placements are still in place

James said...

Here's a tip... switch the ctrl and alt keys using some remapping software. Use ctrl with your thumb. Problem solved.

Same way mac keyboards are (command is right next to the spacebar). A thumb can handle a lot more pressing than a pinky.

vasily said...

Well, IBM\Lenovo have an application available for download, called Keyboard Customizer. You can find it on the driver page for your machine, updating the drivers/bios is a good idea anyway. I am not sure it allows you to remap Fn key, but you certainly can remap other Ctrl\Alt keys to your heart's content. Hope this helps. Or maybe get used to it - I did about 12 years ago ))

Matthew Roche said...

@WYLES - The oversized ESC key looks like a step in the right direction, as it will put the F keys in the "correct" position.

@James and Basil - None of the available software tools remap the Fn key, and switching the Ctrl and Alt would just (for me, anyway) make things worse. Thanks for the pointers, but no thanks.

Unknown said...

Key location works for me. It's really a matter of what you are used to. Many of of us like how it is.

I'm on my third year of Thinkpad keyboards and I like the way it works. Fn key on the lower left has some advantages and I never mistake it for the control key.

Your issue is mostly that it's not the same as other keyboards.

I have the same problem when I switch keyboards working on other pcs. They don't seem to have the delete or backspace keys right.

Matthew Roche said...

@seaweedsteve - totally agreed about my root problem being that the ThinkPad layout isn't what my fingers are used to. But the key thing here is that there's "the ThinkPad way" and "the way that every other computer keyboard ever made uses." I have used and owned dozens of laptops from Dell, Toshiba, Gateway, HP, Compaq, Acer and other manufacturers and every single one of them has had the Ctrl key in the bottom left corner. Every one. So could I simply accept the ThinkPad layout as the new standard? Probably, but that would mean that when I used any other computer (and I still regularly use two Dells and one Toshiba) I would need to retrain again. For me, it's not worth the cost.

Dima said...

I found this page through the Lenovo blogs. Being a software developer, a PC power user and a long-time Thinkpad user myself, I decided to post, just to give a slightly different perspective.

I make use of keyboard shortcuts involving Ctrl and other keys all the time. Really all the time. While developing, while using Office programs, I even map shortcut keys to the links on my desktop. I also use the Fn-shortcuts on my Thinkpad.

I've been working for years with both laptops and desktops, both laptop keyboard with Fn on the bottom left, and desktop keyboards with Ctrl there. I frequently go between the two keyboard layouts multiple times within the same day/week.

And guess what - I found out that I never confuse Ctrl with Fn. It's like my fingers know the difference between a desktop and a laptop keyboard.

What I'm trying to say, is that, while some people might find it very difficult to adjust, for many, it wouldn't be as big an issue as they might perceive it.

There are definitely more annoying things that one can do with the keyboard layout. For instance rearranging the 6 navigation keys (Ins/Del/Home/End/Pgup/Pgdn), which, alas, Lenovo started doing with the T400s, or sticking the Windows key in some ridiculous spot, like on some Toshibas...

BTW, Thinkpads are not the only laptops with the Fn-Ctrl layout. I've seen it on a number of models from MSI, ASUS, some LGs. Overall I'd say about 10% of the laptops have it. Incidentally, my first laptop, the Compaq Evo N610c, also has Fn-Ctrl.

Just something to think about.

Matthew Roche said...

@Dima - Perhaps your fingers are smarter than mine. Perhaps it's the fact that I work only on laptops and not on desktops. Who knows? I'm glad that you're happy and successful, but I'm closing on a year with my ThinkPad and I still swear at the keyboard (typically the function keys these days and not the Fn-ctrl keys) more than once a day. Your mileage may vary...

Dima said...

You could be on to something here - regarding only using laptop keyboards. I've noticed that when I go back to using my old Compaq laptop, I do miss the F-keys sometimes (on that keyboard, the Esc is to the left of F1, not above it). From some reason it never happens with desktop keyboards. Maybe the brain has two separate schemes - one for laptops, one for desktops. ;)

Rob said...

It looks like future Thinkpad models will allow you to switch the ctrl and fn keys in the BIOS.

Unknown said...

My new Thinkpad 410 allows you to switch the Fn/Ctrl key in the bios. There is a god!

JohnW said...

And you don't even mention vi! I agree with you -- the Ctrl key placement is critical for all sorts of keyboard interfaces. There's no excuse for putting it anywhere other than the lower left corner. And if you generate a proper scancode and key press/release codes for the Fn key then the end user can modify the virtual key placement.

lucky said...

I suppose I have decided to purchase a new laptop
and ThinkPad is one of my choices.