It has been noted, on a page I learned about from this forum, that a 122-key keyboard behaves like an 84-key AT keyboard. And the keys that function like the function keys on a normal keyboard are the ten keys to the left of the main typing area, which work as F1 through F10.
Yet, if one compares the Scan Code Set 3 scan codes of the IBM standard Host Connected Keyboard with those of a 101-key keyboard, the function keys correspond to PF1 through PF12, and PF13 on the 122-key keyboard corresponds to Esc on a 101-key keyboard. So why aren't the keys interpreted this way?
The explanation is basically that a computer running in Windows doesn't know what to do with a keyboard that only outputs Scan Code Set 3. It pretends those scan codes are in Scan Code Set 2, and, luckily, the result is no worse than turning the keyboard into an 84-key keyboard.
But I also remember reading that Linux doesn't work well with some cheaper keyboards. This is because by default, it tries to use Scan Code Set 3 if available, and some cheaper keyboards claim to support that set when polled... but their implementations are flawed.
I suspect this means that a 122-key keyboard will have a different key mapping in Linux, one based on Scan Code Set 3 correspondences, than it would in Windows!
Also, since the expected behavior of a 122-key keyboard is to be operating in Scan Code Set 3, this means that building a keyboard that can just switch between 101-key with extra keys operation to 122-key standard operation through some Fn-key combination, as I thought would be nice, probably can't be achieved, since the type of keyboard has to be decided when the computer boots up. (Of course, sending the appropriate scan codes as Scan Code Set 2 scan codes might be enough to satisfy a terminal program expecting a Host Connected Keyboard, since presumably it would still go through the operating system...)