如何找到Fn +键的键码?


12

我试图找出Fn+ 键的键控代码(向左箭头)。Xev输出

FocusOut event, serial 36, synthetic NO, window 0x3c00001,    mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 36, synthetic NO, window 0x3c00001,    mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 36, synthetic NO, window 0x0,    keys:  4294967213 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0              0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  

如果它在这里告诉我键码,我将无法解释它,因此将不胜感激。

我也很想知道是否可以将某些东西绑定到Fn+,Del但是在尝试这种组合时,Xev输出

KeyPress event, serial 36, synthetic NO, window 0x3c00001,
root 0xad, subw 0x0, time 1984903, (-666,480), root:(53,533),
state 0x0, keycode 119 (keysym 0xffff, Delete), same_screen YES,
XLookupString gives 1 bytes: (7f) " "
XmbLookupString gives 1 bytes: (7f) " "
XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x3c00001,
root 0xad, subw 0x0, time 1985008, (-666,480), root:(53,533),
state 0x0, keycode 119 (keysym 0xffff, Delete), same_screen YES,
XLookupString gives 1 bytes: (7f) " "
XFilterEvent returns: False

这与按del不使用完全相同Fn

所以,总结一下

  1. 如何找到Fn+的键码(向左箭头)?

  2. 甚至有可能将某物绑定到Fn+,Del或者我在这里面对风车吗?

Answers:


18

我不确定其中有多少对您完全清楚:

要显示所按下键的键码,您可以使用例如sudo showkey -k。在我的情况下,这将打印为Fn+

keycode 165 press
keycode 165 release

在我的键盘上,这是媒体键之一(上一曲目)。Fn+ Del显示70与此处的键控代码相同(滚动锁定)。

现在,与此有关的一般问题似乎Fn是可以用作修改键,该修改键可在键盘级别上起作用并修改发送的实际扫描代码。因此,您可能根本无法知道是否Fn按下了该按钮,因为OS或BIOS的任何部分都无法看到它。如果不是这种情况,则BIOS可能能够看到已按下此键。一些硬件制造商提供了可用于以这种方式修改Fn键行为的软件(例如Toshibas Fnesse)。

因此:通常,没有办法知道Fn被按下的情况,并且键组合的扫描码和键码Fn取决于单独的键盘设计。


1
我怀着沉重的心情接受你的回答。我希望您错了,但似乎完全像您描述的那样。感谢您的明确答复。
BudwiseЯ

有趣的是,在Razer Lycosa键盘上,按下上一个媒体的“按钮”会产生键码165!
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.