Evolution of Laptop Keyboard
In past few years, there's notable change of laptop keyboards across board.
Let's look at the ThinkPad keyboard thru the years.
Thinkpad Keyboard
2000s, Widescreen + Full-Sized Laptop Keyboard
In about 2008, widescreen became popular, and laptop got larger, and have dedicated numerical keypad.
In 2010s, laptop keyboard again don't have the number pad anymore. But, further, they started to not have page up/down keys. This is led by rise of popularity of Apple's laptops, which never had these keys, and Google's Chromebook, which has a vast simplified keyboard.
2012 to 2013 Laptop Keyboards
Here is a 2012 laptop keyboard.
Again, there is no {PageUp, PageDown, Home, End} keys. But it does have Delete ⌦ key, which is often used on Microsoft Windows and Linux.
It has PrintScreen Pause, but no ScrollLock
Laptop Keyboard 2016
Note that, it is essentially the same as a full-sized Microsoft Keyboards ⌨. On this particular one, it doesn't have {▤ Menu, Pause,ScrollLock} keys.
Microsoft Surface Book 2016 Keyboard
Emacs Keybinding Design, Laptop Keyboards: No More Page Up, Page Down Keys, Multiple Keys for the Same Function?
Recently () , started to work on MacBook. One problem is that my Emacs: Xah Fly Keys 📦 isn't designed for using on Apple keyboard. For example, Apple Keyboards in general don't have {Home, End, PageUp, PageDown} keys. So, i had to make a lot adjustments of my own keybinding.
〔see Apple Keyboard Problems〕
The gist here, is that when you design a keybinding system for general public use, such as ErgoEmacs Keybinding, you then have to consider popularly used keyboard hardware, their key arrangement. For example, if the only key shortcut to do page up is the PageUp key, and popular laptops don't have that key, then it's a problem. This is interesting because it touches on several issues.
When designing a keybinding system, ideally, a command should not have multiple keybinding, because it's confusing and redundant. (e.g. in emacs, there are 3 keys for undo: {Ctrl+_, Ctrl+/, Ctrl+x u}) However, this is almost unavoidable, because there are quite a lot different keyboard in popular use, some don't have particular key, some have them on different position. So, the ideal key only works on one subset of popular keyboards, and you need other keybinding for different keyboards.
The other interesting thing is that, if you really consider all keyboards, then you often ends up with a common denominator. Namely, do everything with a Ctrl combination, like most unix terminal software. Which means, very inefficient use of keys. 〔see Linux: Bash Keys〕
Of course, i knew the above, and have kept them in mind. But there's a new trend i haven't thought about. That is, many of today's laptops, no longer have physical {PageUp, PageDown, Home, End} keys. This is a new trend, started few years ago, especially by Chromebooks. This mean, any software that assumed these keys, need to change.
This also has a major impact on key usage. For example, {Ctrl+PageUp, Ctrl+PageDown} are used in browsers to switch tabs. And also {Ctrl+Tab, Ctrl+Shift+Tab}. I'm not sure which is more popularly used. However, now, since many laptops don't have {PageUp, PageDown} anymore, so the habit may gravitate to {Ctrl+Tab, Ctrl+Shift+Tab}, and perhaps in a few years, shortcuts with {PageUp, PageDown} keys may become rare and deprecated.