6

On Apple keyboards, one of my favorite features on Linux is that if I hold Fn+Left, it triggers the Home key, the Fn+Right triggers End, Fn+Up triggers PageUp, and Fn+Down triggers PageDown

This makes text navigation super easy: without leaving the home row I can easily navigate around documents and lines.

Due to reasons (touchbar :'[), I'm not going to be using Apple hardware anymore and I'm now on a ThinkPad X1 Yoga. I would like to remap a lot of the keys to mirror what happens on my Apple keyboards.

Here is the result of my pressing and releasing the Fn key:

KeyPress event, serial 53, synthetic NO, window 0x4400001,
    root 0x13c, subw 0x0, time 110088308, (71,-372), root:(1262,292),
    state 0x0, keycode 151 (keysym 0x1008ff2b, XF86WakeUp), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False


KeyRelease event, serial 53, synthetic NO, window 0x4400001,
    root 0x13c, subw 0x0, time 110088318, (71,-372), root:(1262,292),
    state 0x0, keycode 151 (keysym 0x1008ff2b, XF86WakeUp), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

Here is the result of pressing and releasing Left:

KeyPress event, serial 53, synthetic NO, window 0x4400001,
    root 0x13c, subw 0x0, time 110150520, (-320,-320), root:(871,344),
    state 0x0, keycode 113 (keysym 0xff51, Left), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 53, synthetic NO, window 0x4400001,
    root 0x13c, subw 0x0, time 110150591, (-320,-320), root:(871,344),
    state 0x0, keycode 113 (keysym 0xff51, Left), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

Finally, here is the result of pressing Home:

KeyPress event, serial 53, synthetic NO, window 0x4400001,
    root 0x13c, subw 0x0, time 110552974, (56,-93), root:(1247,571),
    state 0x0, keycode 110 (keysym 0xff50, Home), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 53, synthetic NO, window 0x4400001,
    root 0x13c, subw 0x0, time 110553021, (56,-93), root:(1247,571),
    state 0x0, keycode 110 (keysym 0xff50, Home), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

I'm reading a lot of contradictory information on xmodmap and xkbcomp. I'm not sure what I have to do, but I imagine that it involves mapping a shortcut that doesn't yet exist.

What am I missing and how do I proceed here?

1
  • 2
    most keyboard Fn keys do not reach the OS; you appear to be lucky in this regard. i'd look into using a udev hwdb override to turn that key into an additional modifier (Hyper, assuming you have Win/Super keys already), and then you can probably coax XKB into interpreting Hyper+Arrows as your home/end/pgup/pgdn keys.
    – quixotic
    Feb 20, 2018 at 3:12

0

You must log in to answer this question.

Browse other questions tagged .