the X230 BIOS only contains key maps for a 6-row layout. however, i don't know if keytweak can make up for that. it would certainly be worth a try.

Which I really find difficult to understand... Especially since the keyboards are physically compatible. I guess I just never thought that laptops do it different than desktops. All desktop keyboard are designed to be interchangeable, so the logic which converts a keypress to a keycode is in the keyboard itself. I was assuming that it would be the same for laptops, but apparently as you say, the keyboard is nothing but a matrix of keys, and it's the BIOS that gives meaning to keypresses. Not sure I understand why it is this way, but apparently it is.

Is it? Really? I wonder then how can they afford to put such "smart" chips into $10 Walmart keyboards...

Why, you have to think like an engineer. As it stands, there are no active components at all in a laptop keyboard, which means no separate PCB, no power supply & filtering considerations. This is a huge saving compared to putting any chip into the keyboard.

I don't think the island style keyboard is that bad. I've always liked ThinkPad keyboards because they're firm and the key depth is excellent. The X230 is no different in those regards. Where I think ThinkPadders have a legitimate claim is the dropping of keys and moving of keys. If you've been doing things the same way for a long time, doing it another way will prove difficult, though not impossible.

Why, you have to think like an engineer. As it stands, there are no active components at all in a laptop keyboard, which means no separate PCB, no power supply & filtering considerations. This is a huge saving compared to putting any chip into the keyboard.

Funny thing, though. I am an engineer, and I disagree with you. In my fantasy world engineers think about functionality, not about cutting 10 cents off a $500-1000 machine. Perhaps you mean I have to think like a project manager.

Not even sure I agree about the "saving" part. Whatever you don't put on the keyboard, you put on the planar. Is it cheaper to integrate yet another controller on the planar than putting a small PCB on the keyboard? Is it really cheaper to re-integrate it in every new generation of planars as opposed to leaving it in the keyboard which tends to stay the same for years, and has far less other design constraints?

Whatever you don't put on the keyboard, you put on the planar. Is it cheaper to integrate yet another controller on the planar than putting a small PCB on the keyboard? Is it really cheaper to re-integrate it in every new generation of planars as opposed to leaving it in the keyboard which tends to stay the same for years, and has far less other design constraints?

Well, I'm just guessing here, but the keyboard controller functionality might not even need a separate chip on the planar. It is evident that the BIOS image has a role in translating keypresses; therefore, I would venture to say that the keyboard controller is probably integrated in the Embedded Controller (whatever that refers to), and implemented in software via BIOS/ECP image. Wouldn't it be better to implement the controller in an existing chip that can be reprogrammed anytime you wish via a BIOS update, than to put an additional dedicated chip in the keyboard?

I guess we'll just have to wait and see if someone comes up with a modified BIOS for the new systems, that converts keypresses to scancodes compatible with the old keyboard layout. Such a piece of code can probably be taken "as is" from an old BIOS, once it's identified.

Has anyone measured the height of the new keys / keyboard vs. the old one?Could it be that the new one is lower than the new one?(In which case any mod wouldn't really be great for the longevity of the screen, I suppose.)

Has anyone measured the height of the new keys / keyboard vs. the old one?Could it be that the new one is lower than the new one?(In which case any mod wouldn't really be great for the longevity of the screen, I suppose.)

Funny thing, though. I am an engineer, and I disagree with you. In my fantasy world engineers think about functionality, not about cutting 10 cents off a $500-1000 machine.

that's exactly why engineers and industrial designers aren't given the responsibility of cost projections, bottom lines, sales quotas, marketing plans, or anything other than the actual job of designing and engineering the product.

dr_st wrote:

Is it cheaper to integrate yet another controller on the planar than putting a small PCB on the keyboard?

absolutely. it's exponentially less expensive to drive the keyboard via the BIOS than to implement a discreet chip in the keyboard assembly. keyboards are wear items and need to be manufactured as inexpensively as possible—within reason, of course. on thinkpad systems they're non-return CRUs and considered a 100% loss every time a replacement is sent.

it wouldn't be as easy as a chip, either. a way to program and re-program that chip would need to be developed along with programming stations to change the microcode in the event of an error. servicers given the task of updating keyboards would need trained on the programming stations, documentation created, and testing done to make sure the programmed units function correctly. testing could require the creation of a testing station with the same cycle of logistics and cost issues.

dr_st wrote:

Is it really cheaper to re-integrate it in every new generation of planars as opposed to leaving it in the keyboard which tends to stay the same for years, and has far less other design constraints?

again, absolutely. consider the challenge of changing the keymap microcode on discreet controller chips deployed across tens of millions of keyboards both in-service and sitting in warehouses, on shelves, or in IT department storage rooms. conversely, consider how easy it would be to change that microcode in a BIOS update instead. it's not about saving $0.10 per unit but instead about the logistics involved in keeping systems operating correctly.

recall a million keyboards due to incorrect microcode and you've got a problem. it would likely be cheaper to scrap the units and start over since service costs would be exponentially higher in their destination locale than the locale of original manufacture. it's far less expensive to update a BIOS.

as you can probably see by now, having functionality on the planar (which in this case is the BIOS) can be a very good thing.

this was probably a longer explanation than you were expecting but as an engineer i figured you'd appreciate it.

Low res garbage unfortunately. I categorically REFUSE to buy any laptop with a low res display. 1080p is a bare minimum, and even that is a step backwards unfortunately. I still cherish my ancient QXGA R50p.

Here is praying that Apple's move to Retina displays will FORCE the rest of the industry into giving up low end crap. I expect shoddy display quality from 2nd tier manufacturers, NOT from Lenovo's premiere tablet PC!!If Lenovo can't at least produce a 1080p capable touchscreen, then my W510 will be the last Thinkpad for me..after 15 years of loyalty.

Your explanation is good. I thought about it further, and I think I have to partially agree with the reasoning, because of a key point that we haven't mentioned yet here, and I think it's a very important one. Without it the explanation is incomplete.

You explain correctly the cost savings of having a chip with microcode on the planar versus on the keyboard. No one in their right mind would consider implementing something like this on a keyboard, which as you say, is designed to be cheap, replaceable and disposable.

However - you avoided one important question - why would such a chip even be necessary? After all, there are millions and millions of cheap, sub $10 desktop keyboards being sold, all of which are completely standard and interchangeable, and you can be 100% certain none of them have any such chips inside them. The only thing that makes them standard and interchangeable versus the laptop keyboards, is the fact that instead of sending some physical key coordinates they send standard scancodes, depending on the semantics of the key that was pressed.

Why don't the laptop keyboards work in the same way? The answer, I believe, is Because of the Fn key and the associated special key combos.

You see, the Fn key is not standard. It does not have its own scan code, nor does it modify other keys in any standard way (like Ctrl/Alt/Shift do). It is a proprietary addition by each individual laptop manufacturer. Furthermore, the Fn key combinations are designed to be intercepted at a very low level, before being passed to the keyboard controller. Essentially the BIOS microcode you refer to captures the physical keypresses and decides what to do with them. In some cases it translates it to standard scancodes and sends them to the keyboard controller, in other cases it translates them to other commands. This is why the thinklight and the LCD brightness keys work the same in the pre-boot environment and in the operating system environment, this is why hibernation works without installing any special keyboard driver, etc.

Given the above I wholeheartedly agree that such microcode has to be implemented somewhere, and of course it doesn't make sense to do it on the keyboard.

So why did I say I only "partially" agree?

Because I still think that it is possible to manufacture the keyboards so that the key coordinate codes they send to the BIOS are representative of the semantics and not just the location of the key. Evidently, Thinkpads always have offered several keyboard layouts, with different positions (and in many cases even extra keys) on the same model, and all of these models are compatible and are processed correctly by the same BIOS.

It just seems as if the keyboards are programmed/designed to send their own proprietary list of keycodes, and the engineers went through the trouble to keep the tables assigning meaning to them consistent within all the layouts on the same model lines, but here they for whatever reason decided to throw away the existing tables and create a new and incompatible one. Needlessly, it seems.

Low res garbage unfortunately. I categorically REFUSE to buy any laptop with a low res display. 1080p is a bare minimum, and even that is a step backwards unfortunately. I still cherish my ancient QXGA R50p.

LOL. You sound like the people who say that living in a three-storey house with an outdoor pool and driving a Ferrari is a bare minimum standard of living.

However - you avoided one important question - why would such a chip even be necessary? After all, there are millions and millions of cheap, sub $10 desktop keyboards being sold, all of which are completely standard and interchangeable, and you can be 100% certain none of them have any such chips inside them.

Um, no. There is "such a chip" in any cheap, sub-$10 desktop keyboard that utilizes either a USB or PS/2 connector. There must be a chip that does the work of scanning the keyboard matrix dozens/hundreds of times per second, sending the keypress events (scan codes) to the computer, receiving signals such as NumLk/CapsLk statuses from the computer, and drives the LED indicator lights. How will a keyboard work otherwise?

A laptop keyboard does not "send" anything. It is merely a matrix connected to a many-pin connector, and each row and each column have their own pin. The planar does the job of scanning the matrix, i.e. sending current into a row and see whether current come out of any columns.

Also, to my understanding, different keyboard layouts send the same scan codes for the same keys. For example, the "A" key on an AZERTY keyboard has the same scan code as the "Q" key on a QWERTY keyboard. In this sense, all keyboards merely send the "physical location" of the keys, because that's what scan code is. That's why you have to choose the correct keyboard layout in your operating system, because the keyboard does not "know" its own layout. This also means there is only one table programmed in the BIOS. It's the operating system's job to convert scan codes into key codes, which represents the actual function of the key.

Low res garbage unfortunately. I categorically REFUSE to buy any laptop with a low res display. 1080p is a bare minimum, and even that is a step backwards unfortunately. I still cherish my ancient QXGA R50p.

Here is praying that Apple's move to Retina displays will FORCE the rest of the industry into giving up low end crap. I expect shoddy display quality from 2nd tier manufacturers, NOT from Lenovo's premiere tablet PC!!If Lenovo can't at least produce a 1080p capable touchscreen, then my W510 will be the last Thinkpad for me..after 15 years of loyalty.

Hell, no. The last thing I want to see in my lifetime is the fruit company homogenizing an entire market AGAIN. It has already done that to the smartphone market: good luck finding a decent smartphone with a numeric keyboard, because there is NONE! Apple killed them! That company killed AN ENTIRE MARKET SEGMENT! If that company manages to do the same thing again in the personal computer market I'm going to bomb their headquarters.

Um, no. There is "such a chip" in any cheap, sub-$10 desktop keyboard that utilizes either a USB or PS/2 connector.

There is a chip, but it's not "such a chip" that Erik was describing. The chip you refer to is very cheap and very simple (as is evident by the cost of the desktop keyboard). It does not ever need to be reprogrammed/repaired. It does not require custom microcode. If it was just a question of where to place this simple chip - putting it on the planar would not make more sense than putting it on the keyboard.

But because laptop keyboards do require custom microcode, it makes more sense to have it handle all the logic, and then you can already have the planar handle the electrical part as well, as you described.

twistero wrote:

Also, to my understanding, different keyboard layouts send the same scan codes for the same keys. For example, the "A" key on an AZERTY keyboard has the same scan code as the "Q" key on a QWERTY keyboard. In this sense, all keyboards merely send the "physical location" of the keys, because that's what scan code is

Correct, but if you examine the various layouts, you see that it is not just some keys that were moved, but also some keys that are missing/added. Not all layouts are geometrically identical. This means that the BIOS table has to support them all, and know how to interpret keypresses from keys which may not even be physically present on all keyboards.

But your point that in essence a scan code is nothing but the geometrical location of a key in a specific physical layout is a good one. This means that when you have a passive matrix keyboard, like these laptop keyboards, you are limited in how much you can shuffle the keys around and still maintain compatibility to existing scancode tables, because you have to make sure that in all of them, the same logical key is wired to the same row/column, since this is all you get.

This does explain why it is a problem to maintain scancode compatibility between the X220 and X230 keyboards. Someone would have to specifically try design the switch scheme to achieve this, and it may be too complex for one's good.

So back to square 1 - someone will have to rip the keyboard interpretation code from the old BIOS and put into a new BIOS to make the X230 work with the X220 keyboard.