I am accustomed to pressing Fn+Left to simulate the Home key and Fn+Right for End.
On a keyboard with physical Home and End keys, using these Fn keyboard shortcuts do not work.
How can I map custom Fn keyboard shortcuts on Ubuntu Linux?
Unlike modifiers such as Alt and Ctrl, pressing the Fn key is never communicated to the operating system. The key merely modifies the scancodes of other keys, so pressing Fn+Right would emulate an End key, even though it may not physically exist, but they are indistinguishable by the OS. This behaviour is controlled exclusively by the keyboard electronics and can therefore not be altered without messing with the circuitry or microcontroller.
So the software has nothing to do with the Fn key; it's up to the hardware to decide what key gets sent to the software (e.g. the Home or End key).
So your keyboard must already have it to be able to do this.
You can use:
to find out what keys Fn-Left and Fn-Right simulate. (The
If you are lucky, those keypresses will send unimportant keystrokes to the machine, which you can then remap.
For example, on my system,
I can easily remap this to translate into a Home key event:
Hopefully you will be able to do the same for End, PageUp and PageDown.
Unfortunately if xev does not receive anything unique when you press Fn-Left then you are out of luck.
It's a real shame that Fn keypresses are not sent directly like the other modifier keys are. If they were, we would have much more power to configure their meaning through software.