xmodmap for key combination - how to toggle the Fn behavior?
With Logitech K290 keyboard via USB, F. keys are not accessible by default, and I need to press Fn before using them, which is not really usable.
The Fn key alone does not fire any event in xev
.
Pressing F1 without Fn fires two key events, keycode 50 (Shift_L
) and keycode 133 (Super_L
) and displays a message "Touchpad disabled" on my Kubuntu (the same message for every keys F1 through F4)
Althoug most media keys works, I'd rather have direct F. keys access. Do you know of any way to toggle Fn behavior?
Here is the output for when I press F1 without Fn:
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64638420, (-352,274), root:(1462,621),
state 0x10, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64638420, (-352,274), root:(1462,621),
state 0x11, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
FocusOut event, serial 40, synthetic NO, window 0x1a00001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 40, synthetic NO, window 0x1a00001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 40, synthetic NO, window 0x0,
keys: 4294967238 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0
32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64638436, (-352,274), root:(1462,621),
state 0x51, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64638436, (-352,274), root:(1462,621),
state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
MappingNotify event, serial 40, synthetic NO, window 0x0,
request MappingPointer, first_keycode 0, count 0
And for F2 (still no Fn):
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64782724, (-202,438), root:(1491,799),
state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64782724, (-202,438), root:(1491,799),
state 0x18, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
FocusOut event, serial 40, synthetic NO, window 0x1a00001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 40, synthetic NO, window 0x1a00001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 40, synthetic NO, window 0x0,
keys: 4294967238 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64782780, (-202,438), root:(1491,799),
state 0x58, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64782780, (-202,438), root:(1491,799),
state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
F1 with Fn gives expected result:
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64820204, (-856,-213), root:(1097,247),
state 0x10, keycode 67 (keysym 0xffbe, F1), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64820284, (-856,-213), root:(1097,247),
state 0x10, keycode 67 (keysym 0xffbe, F1), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
xorg keyboard xmodmap
add a comment |
With Logitech K290 keyboard via USB, F. keys are not accessible by default, and I need to press Fn before using them, which is not really usable.
The Fn key alone does not fire any event in xev
.
Pressing F1 without Fn fires two key events, keycode 50 (Shift_L
) and keycode 133 (Super_L
) and displays a message "Touchpad disabled" on my Kubuntu (the same message for every keys F1 through F4)
Althoug most media keys works, I'd rather have direct F. keys access. Do you know of any way to toggle Fn behavior?
Here is the output for when I press F1 without Fn:
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64638420, (-352,274), root:(1462,621),
state 0x10, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64638420, (-352,274), root:(1462,621),
state 0x11, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
FocusOut event, serial 40, synthetic NO, window 0x1a00001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 40, synthetic NO, window 0x1a00001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 40, synthetic NO, window 0x0,
keys: 4294967238 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0
32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64638436, (-352,274), root:(1462,621),
state 0x51, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64638436, (-352,274), root:(1462,621),
state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
MappingNotify event, serial 40, synthetic NO, window 0x0,
request MappingPointer, first_keycode 0, count 0
And for F2 (still no Fn):
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64782724, (-202,438), root:(1491,799),
state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64782724, (-202,438), root:(1491,799),
state 0x18, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
FocusOut event, serial 40, synthetic NO, window 0x1a00001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 40, synthetic NO, window 0x1a00001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 40, synthetic NO, window 0x0,
keys: 4294967238 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64782780, (-202,438), root:(1491,799),
state 0x58, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64782780, (-202,438), root:(1491,799),
state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
F1 with Fn gives expected result:
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64820204, (-856,-213), root:(1097,247),
state 0x10, keycode 67 (keysym 0xffbe, F1), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64820284, (-856,-213), root:(1097,247),
state 0x10, keycode 67 (keysym 0xffbe, F1), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
xorg keyboard xmodmap
2
Usually <kbd>Fn</kbd> works on keyboard's hardware level. Hopefully keycodes, as opposed to keysyms, of F-keys still differ when it is not pressed. Can you please runxev
once more and paste the output for two different F-keys?
– 9000
Dec 31 '13 at 7:58
I've come across the same problem :(. This answer (askubuntu.com/a/285604/121193) might be useful, but it would be nice for something...simpler.
– Ash
Feb 16 '14 at 11:14
1
Sadly, Solaar only works for wireless emitters, not wired ones :(
– user55574
Feb 17 '14 at 16:36
I would start by looking in the BIOS settings. Some allow swapping the Fn key e.g. F-keys-by-default..
– Jonas Berlin
Jul 9 '18 at 7:04
really nasty that F1 reuses keycode 50, so you can't just change what 50 does either.. :P
– Jonas Berlin
Jul 9 '18 at 7:06
add a comment |
With Logitech K290 keyboard via USB, F. keys are not accessible by default, and I need to press Fn before using them, which is not really usable.
The Fn key alone does not fire any event in xev
.
Pressing F1 without Fn fires two key events, keycode 50 (Shift_L
) and keycode 133 (Super_L
) and displays a message "Touchpad disabled" on my Kubuntu (the same message for every keys F1 through F4)
Althoug most media keys works, I'd rather have direct F. keys access. Do you know of any way to toggle Fn behavior?
Here is the output for when I press F1 without Fn:
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64638420, (-352,274), root:(1462,621),
state 0x10, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64638420, (-352,274), root:(1462,621),
state 0x11, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
FocusOut event, serial 40, synthetic NO, window 0x1a00001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 40, synthetic NO, window 0x1a00001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 40, synthetic NO, window 0x0,
keys: 4294967238 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0
32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64638436, (-352,274), root:(1462,621),
state 0x51, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64638436, (-352,274), root:(1462,621),
state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
MappingNotify event, serial 40, synthetic NO, window 0x0,
request MappingPointer, first_keycode 0, count 0
And for F2 (still no Fn):
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64782724, (-202,438), root:(1491,799),
state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64782724, (-202,438), root:(1491,799),
state 0x18, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
FocusOut event, serial 40, synthetic NO, window 0x1a00001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 40, synthetic NO, window 0x1a00001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 40, synthetic NO, window 0x0,
keys: 4294967238 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64782780, (-202,438), root:(1491,799),
state 0x58, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64782780, (-202,438), root:(1491,799),
state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
F1 with Fn gives expected result:
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64820204, (-856,-213), root:(1097,247),
state 0x10, keycode 67 (keysym 0xffbe, F1), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64820284, (-856,-213), root:(1097,247),
state 0x10, keycode 67 (keysym 0xffbe, F1), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
xorg keyboard xmodmap
With Logitech K290 keyboard via USB, F. keys are not accessible by default, and I need to press Fn before using them, which is not really usable.
The Fn key alone does not fire any event in xev
.
Pressing F1 without Fn fires two key events, keycode 50 (Shift_L
) and keycode 133 (Super_L
) and displays a message "Touchpad disabled" on my Kubuntu (the same message for every keys F1 through F4)
Althoug most media keys works, I'd rather have direct F. keys access. Do you know of any way to toggle Fn behavior?
Here is the output for when I press F1 without Fn:
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64638420, (-352,274), root:(1462,621),
state 0x10, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64638420, (-352,274), root:(1462,621),
state 0x11, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
FocusOut event, serial 40, synthetic NO, window 0x1a00001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 40, synthetic NO, window 0x1a00001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 40, synthetic NO, window 0x0,
keys: 4294967238 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0
32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64638436, (-352,274), root:(1462,621),
state 0x51, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64638436, (-352,274), root:(1462,621),
state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
MappingNotify event, serial 40, synthetic NO, window 0x0,
request MappingPointer, first_keycode 0, count 0
And for F2 (still no Fn):
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64782724, (-202,438), root:(1491,799),
state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64782724, (-202,438), root:(1491,799),
state 0x18, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
FocusOut event, serial 40, synthetic NO, window 0x1a00001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 40, synthetic NO, window 0x1a00001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 40, synthetic NO, window 0x0,
keys: 4294967238 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64782780, (-202,438), root:(1491,799),
state 0x58, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64782780, (-202,438), root:(1491,799),
state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
F1 with Fn gives expected result:
KeyPress event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64820204, (-856,-213), root:(1097,247),
state 0x10, keycode 67 (keysym 0xffbe, F1), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x1a00001,
root 0x2c6, subw 0x0, time 64820284, (-856,-213), root:(1097,247),
state 0x10, keycode 67 (keysym 0xffbe, F1), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
xorg keyboard xmodmap
xorg keyboard xmodmap
edited Apr 10 '15 at 12:15
terdon♦
129k32253428
129k32253428
asked Dec 30 '13 at 15:12
user55574user55574
463
463
2
Usually <kbd>Fn</kbd> works on keyboard's hardware level. Hopefully keycodes, as opposed to keysyms, of F-keys still differ when it is not pressed. Can you please runxev
once more and paste the output for two different F-keys?
– 9000
Dec 31 '13 at 7:58
I've come across the same problem :(. This answer (askubuntu.com/a/285604/121193) might be useful, but it would be nice for something...simpler.
– Ash
Feb 16 '14 at 11:14
1
Sadly, Solaar only works for wireless emitters, not wired ones :(
– user55574
Feb 17 '14 at 16:36
I would start by looking in the BIOS settings. Some allow swapping the Fn key e.g. F-keys-by-default..
– Jonas Berlin
Jul 9 '18 at 7:04
really nasty that F1 reuses keycode 50, so you can't just change what 50 does either.. :P
– Jonas Berlin
Jul 9 '18 at 7:06
add a comment |
2
Usually <kbd>Fn</kbd> works on keyboard's hardware level. Hopefully keycodes, as opposed to keysyms, of F-keys still differ when it is not pressed. Can you please runxev
once more and paste the output for two different F-keys?
– 9000
Dec 31 '13 at 7:58
I've come across the same problem :(. This answer (askubuntu.com/a/285604/121193) might be useful, but it would be nice for something...simpler.
– Ash
Feb 16 '14 at 11:14
1
Sadly, Solaar only works for wireless emitters, not wired ones :(
– user55574
Feb 17 '14 at 16:36
I would start by looking in the BIOS settings. Some allow swapping the Fn key e.g. F-keys-by-default..
– Jonas Berlin
Jul 9 '18 at 7:04
really nasty that F1 reuses keycode 50, so you can't just change what 50 does either.. :P
– Jonas Berlin
Jul 9 '18 at 7:06
2
2
Usually <kbd>Fn</kbd> works on keyboard's hardware level. Hopefully keycodes, as opposed to keysyms, of F-keys still differ when it is not pressed. Can you please run
xev
once more and paste the output for two different F-keys?– 9000
Dec 31 '13 at 7:58
Usually <kbd>Fn</kbd> works on keyboard's hardware level. Hopefully keycodes, as opposed to keysyms, of F-keys still differ when it is not pressed. Can you please run
xev
once more and paste the output for two different F-keys?– 9000
Dec 31 '13 at 7:58
I've come across the same problem :(. This answer (askubuntu.com/a/285604/121193) might be useful, but it would be nice for something...simpler.
– Ash
Feb 16 '14 at 11:14
I've come across the same problem :(. This answer (askubuntu.com/a/285604/121193) might be useful, but it would be nice for something...simpler.
– Ash
Feb 16 '14 at 11:14
1
1
Sadly, Solaar only works for wireless emitters, not wired ones :(
– user55574
Feb 17 '14 at 16:36
Sadly, Solaar only works for wireless emitters, not wired ones :(
– user55574
Feb 17 '14 at 16:36
I would start by looking in the BIOS settings. Some allow swapping the Fn key e.g. F-keys-by-default..
– Jonas Berlin
Jul 9 '18 at 7:04
I would start by looking in the BIOS settings. Some allow swapping the Fn key e.g. F-keys-by-default..
– Jonas Berlin
Jul 9 '18 at 7:04
really nasty that F1 reuses keycode 50, so you can't just change what 50 does either.. :P
– Jonas Berlin
Jul 9 '18 at 7:06
really nasty that F1 reuses keycode 50, so you can't just change what 50 does either.. :P
– Jonas Berlin
Jul 9 '18 at 7:06
add a comment |
1 Answer
1
active
oldest
votes
xev
can't show events that are captured by the desktop environment. A better way to test keys is using showkey
command (at the Linux console, not inside X11). I'm guessing that the OS is actually receiving a Shift + Super + some-key combination.
Though you could conceivably remap said combination to just an F key, it would likely be troublesome: you'd have to "release" the Shift key (because the keyboard simulates pressing it), and making Shift+F1 work would be even more complicated, as it would require tracking if the Shift key was held down previously.
This problem is very common on laptops, which often have either a key combination to toggle multimedia hotkeys, or an option in their BIOS/firmware. But as you mentioned that this is concerning a specific model of external keyboard, looking online I found this project:
https://github.com/milgner/k290-fnkeyctl
The project's description states that it "reconfigures the way the function keys on Logitech K290 keyboards work", so it may be worth giving a try.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f107147%2fxmodmap-for-key-combination-how-to-toggle-the-fn-behavior%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
xev
can't show events that are captured by the desktop environment. A better way to test keys is using showkey
command (at the Linux console, not inside X11). I'm guessing that the OS is actually receiving a Shift + Super + some-key combination.
Though you could conceivably remap said combination to just an F key, it would likely be troublesome: you'd have to "release" the Shift key (because the keyboard simulates pressing it), and making Shift+F1 work would be even more complicated, as it would require tracking if the Shift key was held down previously.
This problem is very common on laptops, which often have either a key combination to toggle multimedia hotkeys, or an option in their BIOS/firmware. But as you mentioned that this is concerning a specific model of external keyboard, looking online I found this project:
https://github.com/milgner/k290-fnkeyctl
The project's description states that it "reconfigures the way the function keys on Logitech K290 keyboards work", so it may be worth giving a try.
add a comment |
xev
can't show events that are captured by the desktop environment. A better way to test keys is using showkey
command (at the Linux console, not inside X11). I'm guessing that the OS is actually receiving a Shift + Super + some-key combination.
Though you could conceivably remap said combination to just an F key, it would likely be troublesome: you'd have to "release" the Shift key (because the keyboard simulates pressing it), and making Shift+F1 work would be even more complicated, as it would require tracking if the Shift key was held down previously.
This problem is very common on laptops, which often have either a key combination to toggle multimedia hotkeys, or an option in their BIOS/firmware. But as you mentioned that this is concerning a specific model of external keyboard, looking online I found this project:
https://github.com/milgner/k290-fnkeyctl
The project's description states that it "reconfigures the way the function keys on Logitech K290 keyboards work", so it may be worth giving a try.
add a comment |
xev
can't show events that are captured by the desktop environment. A better way to test keys is using showkey
command (at the Linux console, not inside X11). I'm guessing that the OS is actually receiving a Shift + Super + some-key combination.
Though you could conceivably remap said combination to just an F key, it would likely be troublesome: you'd have to "release" the Shift key (because the keyboard simulates pressing it), and making Shift+F1 work would be even more complicated, as it would require tracking if the Shift key was held down previously.
This problem is very common on laptops, which often have either a key combination to toggle multimedia hotkeys, or an option in their BIOS/firmware. But as you mentioned that this is concerning a specific model of external keyboard, looking online I found this project:
https://github.com/milgner/k290-fnkeyctl
The project's description states that it "reconfigures the way the function keys on Logitech K290 keyboards work", so it may be worth giving a try.
xev
can't show events that are captured by the desktop environment. A better way to test keys is using showkey
command (at the Linux console, not inside X11). I'm guessing that the OS is actually receiving a Shift + Super + some-key combination.
Though you could conceivably remap said combination to just an F key, it would likely be troublesome: you'd have to "release" the Shift key (because the keyboard simulates pressing it), and making Shift+F1 work would be even more complicated, as it would require tracking if the Shift key was held down previously.
This problem is very common on laptops, which often have either a key combination to toggle multimedia hotkeys, or an option in their BIOS/firmware. But as you mentioned that this is concerning a specific model of external keyboard, looking online I found this project:
https://github.com/milgner/k290-fnkeyctl
The project's description states that it "reconfigures the way the function keys on Logitech K290 keyboards work", so it may be worth giving a try.
answered Jul 22 '18 at 3:32
Vladimir PanteleevVladimir Panteleev
789418
789418
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f107147%2fxmodmap-for-key-combination-how-to-toggle-the-fn-behavior%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
Usually <kbd>Fn</kbd> works on keyboard's hardware level. Hopefully keycodes, as opposed to keysyms, of F-keys still differ when it is not pressed. Can you please run
xev
once more and paste the output for two different F-keys?– 9000
Dec 31 '13 at 7:58
I've come across the same problem :(. This answer (askubuntu.com/a/285604/121193) might be useful, but it would be nice for something...simpler.
– Ash
Feb 16 '14 at 11:14
1
Sadly, Solaar only works for wireless emitters, not wired ones :(
– user55574
Feb 17 '14 at 16:36
I would start by looking in the BIOS settings. Some allow swapping the Fn key e.g. F-keys-by-default..
– Jonas Berlin
Jul 9 '18 at 7:04
really nasty that F1 reuses keycode 50, so you can't just change what 50 does either.. :P
– Jonas Berlin
Jul 9 '18 at 7:06