cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
tangreese
Punch Card
Posts: 14
Registered: ‎01-09-2018
Location: CH
Views: 1,250
Message 1 of 10

Thinkpad X1 Extreme: Fn key and Keyboard Firmware

Hello,

I recently purchased a brand new X1 Extreme, switching (like I suppose many people) from an older MacBook Pro. I am delighted with the machine, and in particular I found that the following key combinations are implemented in the same manner as the MacBook:

  • Fn + left = Home
  • Fn + right = End

However, some Fn key combinations are not implemented, and they do nothing. In particular:

  • Fn + up = Page Up
  • Fn + down = Page Down
  • Fn + backspace = Delete

Since the combinations are implemented by the keyboard controller firmware they cannot be added in software, much to the frustration of former Apple users.

 

So, my request is: would it please be possible to pass this request to the person who maintains the keyboard controller firmware on the X1 Extreme? Adding the missing combinations would maintain total compatibility with the current setup, and would increase the appeal of the X1 Extreme for all the MacBook refugees.

 

Thank you for your attention.

Lenovo Employee Henrydong
Lenovo Employee
Posts: 48
Registered: ‎11-28-2018
Location: US
Views: 1,120
Message 2 of 10

Re: Thinkpad X1 Extreme: Fn key and Keyboard Firmware

Hi Tangreese,

we like your idea, this is a proposal we should seriously think about, not only on X1 Extreme but also other products. 

 

It may take a while to develop and implement it, I will come back and let you know when it's available. 

 

Thank you for being Lenovo customer. 

drholliday
Token Ring
Posts: 87
Registered: ‎06-27-2018
Location: US
Views: 1,101
Message 3 of 10

Re: Thinkpad X1 Extreme: Fn key and Keyboard Firmware

If you do add this "feature", please, please, please make it an option in BIOS that we can disable completely (and don't remove the physical Home/End/PgUp/PgDn keys). Having to use two hands to do something as simple as PgUp or PgDn defeats the purpose of having an efficient keyboard for those of us who type a lot. The current keyboard is one of the best mobile keyboards for typists, both for feel/feedback and layout.

Highlighted
Lenovo Employee Henrydong
Lenovo Employee
Posts: 48
Registered: ‎11-28-2018
Location: US
Views: 1,098
Message 4 of 10

Re: Thinkpad X1 Extreme: Fn key and Keyboard Firmware

Thanks for the advice - don't worry, we'll surely do it in a smart way. we don't see a reason to get rid of physical kyes.

 

sayashr
Ctrl-Alt-Del
Posts: 14
Registered: ‎04-20-2011
Location: US
Views: 1,085
Message 5 of 10

Re: Thinkpad X1 Extreme: Fn key and Keyboard Firmware

I think "Ctrl" does the things you're proposing the "Fn" do.

 

Personally, I put a sticker on my Fn keys, and only press them when I need to turn on/off Fn.

tangreese
Punch Card
Posts: 14
Registered: ‎01-09-2018
Location: CH
Views: 512
Message 6 of 10

Re: Thinkpad X1 Extreme: Fn key and Keyboard Firmware

Hello @Henrydong, is there any update concerning the Fn key & page up/down (keyboard controller firmware) as per the previous messages? Thank you!!

lilliputty
Paper Tape
Posts: 6
Registered: ‎05-29-2019
Location: US
Views: 371
Message 7 of 10

Re: Thinkpad X1 Extreme: Fn key and Keyboard Firmware

@Henrydong

 

Erm how about putting the Ctrl key in the rightful place where the Fn key is now. The functions should already be done with the Ctrl key. Now that is a "proposal you should seriously think about"

drholliday
Token Ring
Posts: 87
Registered: ‎06-27-2018
Location: US
Views: 368
Message 8 of 10

Re: Thinkpad X1 Extreme: Fn key and Keyboard Firmware

"The functions should already be done with the Ctrl key. "

 

And how exactly would you do the Fn+B (Break) sequence with Ctrl for a "Ctrl+Break" without the Fn key? Ctrl+B=Bold, not break. 

lilliputty
Paper Tape
Posts: 6
Registered: ‎05-29-2019
Location: US
Views: 359
Message 9 of 10

Re: Thinkpad X1 Extreme: Fn key and Keyboard Firmware

Fn has its use indeed, but not nearly as much as Ctrl. I was referring to the concerns that the OP brought up, that has nothing to do with Fn+B

 

"

However, some Fn key combinations are not implemented, and they do nothing. In particular:

  • Fn + up = Page Up
  • Fn + down = Page Down
  • Fn + backspace = Delete

"

 

 

tangreese
Punch Card
Posts: 14
Registered: ‎01-09-2018
Location: CH
Views: 319
Message 10 of 10

Re: Thinkpad X1 Extreme: Fn key and Keyboard Firmware

There might be a bit of confusion about the way the keyboard is handled. Let me clarify.
At the hardware level, the keyboard is just a matrix of switches. The hardware keypresses are handled by a specialized microcontroller, with its own firmware; this controller handles things like keybounces, and eventually converts the keys, or key combinations, into "raw" key events that are passed to the software layer, like Windows, Linux, or whatever. The operating system receives the "raw" events and maps them, in software, to results like "page down", "Uppercase U with umlaut", "lowercase f", and so on.
On some hardware platforms, notably Apple hardware, the "Fn" key has nothing special to it: the hardware keypress is just sent as a raw keyboard event. That means on Macs the software can tell that the actual "Fn" key was pressed, and you can map in software any "Fn" combination to whatever function or character you like. By default, the keyboard mapping (in software) maps "Fn+down" to PageDown, but you could make it print "G" instead, for example.
On the X1 Extreme, conversely, the "Fn" key is special. The software layer knows nothing about it, and cannot tell that the key was pressed. Instead, the keyboard controller recognizes a fixed number of Fn key combinations, and converts them into different "raw" key events, exactly as if you had a larger keyboard with more keys. That is why the "Break" keycode can be generated by pressing "Fn+B", regardless of what the operating system is doing, or even if it is completely stuck. Conversely, Ctrl is just another key: you can map in software its role to whatever you like: it is just a matter of selecting (or creating) a keyboard mapping for Windows, or Linux, or whatever you are using. You can map "Ctrl-B" to any function or key, if you have the knowledge to alter the software keyboard map; you can even have the "Ctrl" key print "Q", if you like. That is just software: there are guides on the net to change the keyboard mapping to whatever you like.
But, as I mentioned, "Fn" is special: only the fixed set of "Fn" combinations determined by the keyboard controller will generate raw events, and will look like additional physical keys. If you press "Fn+Down" on the X1 Extreme, the controller will just discard the event, and there is nothing you can do in software.
Notably, the physical location on the keyboard of "Fn" and "Ctrl" keys is somewhat arbitrary: some people are used to having "Fn" in the bottom left corner, while others prefer to have "Ctrl" there, and "Fn" next to it. Because of this reason, it is possible to swap the two keys in the BIOS: the physical "Fn" key in the corner can be seen by the keyboard controller as "Ctrl", and vice versa. However, even in this case, the controller will consider "Fn" special: the physical "Crtl" key, remapped by the controller as "Fn", will still work as above, and only a fixed set of key combinations will be recognized.
This is where the original request comes in. For people who are used to keyboards from Apple or other brands, some "Fn" combinations are customary, but they are unavailable on the X1 Extreme (and on some other Lenovo models). The request is to inform the keyboard controller firmware that those three key combinations are indeed valid, and should generate the same raw keyboard events as the pressure of the expected other key. That already happens right now with "Home" and "End": if you press "Fn+left arrow" the keyboard controller will generate the very same raw key event as if you had pressed the physical "Home" key: they are indistinguishable. No-one is suggesting that the "Home" key should be removed from its current location; the alternate key combinations are just an additional convenience for those used to it. Those that do not use them can just ignore them. Those that prefer to use "Ctrl" can create a software keyboard mapping to their liking. But if you want to map "Fn+down", "Fn+up", "Fn+backspace", right now there is nothing you can do, since the keyboard controller will never tell you that you pressed them.

/cc @Henrydong

Check out current deals!


Shop current deals

Top Kudoed Authors