![F4](https://linux22.com/image/1117544/F4.png)
我在联想 G500 笔记本电脑上运行 Kubuntu 13.10。
我的问题与此类似: 如何重新映射 HP 笔记本电脑上的 F 键?
也就是说,我的 F1-F12 键被映射到某些特殊功能,只有按住 Fn 键才能恢复对标准 F1-F12 键的访问。 如何重新映射某些键或设备?
我想知道是否有办法将 Fx 重新映射到 Fn+Fx 或反之亦然。按照 #87043 的说明,我检查了我的 BIOS,没有选项可以切换 Fx/Fn 键功能。
通过联想的支持论坛进行谷歌搜索表明,支持此功能的 BIOS 更新正在进行中,但没有迹象表明何时完成。
使用 xev,我能够看到按下 F1-F12 时 X 看到的内容。有些会发送单独的键码,但有些会以某种方式映射到组合键或其他未知内容:
F1——XF86音频静音
F2——XF86音频音量降低
F3 - XF86 音量提高
F4-Alt_L + F4
F5 - F5
F6 - 禁用 touchapd,不能完全理解 xev 告诉我发生了什么,如果禁用则重新启用(内核日志显示这些具有明确定义的扫描码,未分配给任何键码)
F7 - XF86WLAN
F8——Alt_L + Ctrl_L + Tab
F9 - 关闭 LCD 背光,xev 什么也看不见
F10-Super_L + p
F11 - XF86Mon亮度降低
F12 - XF86Mon亮度提高
按照此页面上的说明进行操作: 如何重新映射某些键或设备?
我重新映射了所有具有明确键码的键(F1、F2、F3、F5、F7、F11、F12),但 F4、F6、F8、F9、F10 键仍然无法正常工作。
这尤其令人沮丧,因为 F4、F6、F9 现在分别会关闭当前窗口、触摸板和屏幕。
任何有关将这些键重新映射到其正确功能的帮助都将不胜感激! -Anatoli
这 5 个键的 xev 输出:
F4
KeyPress event, serial 40, synthetic NO, window 0x4800001,
root 0x9d, subw 0x0, time 3674037, (228,298), root:(911,321),
state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
FocusOut event, serial 40, synthetic NO, window 0x4800001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 40, synthetic NO, window 0x4800001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 40, synthetic NO, window 0x0,
keys: 4294967197 0 0 0 0 0 0 0 65 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KeyRelease event, serial 40, synthetic NO, window 0x4800001,
root 0x9d, subw 0x0, time 3674040, (228,298), root:(911,321),
state 0x8, keycode 70 (keysym 0xffc1, F4), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x4800001,
root 0x9d, subw 0x0, time 3674042, (228,298), root:(911,321),
state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
ClientMessage event, serial 40, synthetic YES, window 0x4800001,
message_type 0x12a (WM_PROTOCOLS), format 32, message 0x12b (WM_DELETE_WINDOW)
F6 禁用触摸板
MappingNotify event, serial 40, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
FocusOut event, serial 40, synthetic NO, window 0x4600001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 40, synthetic NO, window 0x4600001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 40, synthetic NO, window 0x0,
keys: 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 0
MappingNotify event, serial 41, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
F6 启用触摸板
MappingNotify event, serial 42, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
FocusOut event, serial 42, synthetic NO, window 0x4600001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 42, synthetic NO, window 0x4600001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 42, synthetic NO, window 0x0,
keys: 1 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
MappingNotify event, serial 43, synthetic NO, window 0x0,
request MappingPointer, first_keycode 0, count 0
F8 执行任何 F8 操作
KeyPress event, serial 40, synthetic NO, window 0x4600001,
root 0x9d, subw 0x0, time 3508985, (13,-12), root:(696,11),
state 0x0, 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 0x4600001,
root 0x9d, subw 0x0, time 3508986, (13,-12), root:(696,11),
state 0x8, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 40, synthetic NO, window 0x4600001,
root 0x9d, subw 0x0, time 3508988, (13,-12), root:(696,11),
state 0xc, keycode 23 (keysym 0xff09, Tab), same_screen YES,
XLookupString gives 1 bytes: (09) " "
XmbLookupString gives 1 bytes: (09) " "
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x4600001,
root 0x9d, subw 0x0, time 3508989, (13,-12), root:(696,11),
state 0xc, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x4600001,
root 0x9d, subw 0x0, time 3508991, (13,-12), root:(696,11),
state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x4600001,
root 0x9d, subw 0x0, time 3508994, (13,-12), root:(696,11),
state 0x0, keycode 23 (keysym 0xff09, Tab), same_screen YES,
XLookupString gives 1 bytes: (09) " "
XFilterEvent returns: False
F9 没有给 xev 输出
F10 执行任何 F10 操作
KeyRelease event, serial 40, synthetic NO, window 0x4600001,
root 0x9d, subw 0x0, time 3586076, (9,-14), root:(692,9),
state 0x0, keycode 10 (keysym 0x31, 1), same_screen YES,
XLookupString gives 1 bytes: (31) "1"
XFilterEvent returns: False
KeyPress event, serial 40, synthetic NO, window 0x4600001,
root 0x9d, subw 0x0, time 3586552, (9,-14), root:(692,9),
state 0x0, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 40, synthetic NO, window 0x4600001,
root 0x9d, subw 0x0, time 3586554, (9,-14), root:(692,9),
state 0x40, keycode 33 (keysym 0x70, p), same_screen YES,
XLookupString gives 1 bytes: (70) "p"
XmbLookupString gives 1 bytes: (70) "p"
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x4600001,
root 0x9d, subw 0x0, time 3586557, (9,-14), root:(692,9),
state 0x40, keycode 33 (keysym 0x70, p), same_screen YES,
XLookupString gives 1 bytes: (70) "p"
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x4600001,
root 0x9d, subw 0x0, time 3586560, (9,-14), root:(692,9),
state 0x40, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False