分页: 1 / 1

笔记本 Fn 可映射否

发表于 : 2010-11-07 1:50
自由建客
Ctrl 与 Win 之间,非常顺手之处,比 Ctrl 更顺手,却并不常用。Ctrl 与 Fn 换位更好,撬开键盘改电路是一招,但不方便,有软解不?

Re: 笔记本 Fn 可映射否

发表于 : 2010-11-07 10:04
tenzu
改键盘映射?
我不会

Re: 笔记本 Fn 可映射否

发表于 : 2010-11-08 0:33
adrian0615
同样求解

Re: 笔记本 Fn 可映射否

发表于 : 2010-11-09 9:25
roylez
运行xev,按Fn,如果有反应就可以用xmodmap来映射。我的Thinkpad上的忘了可不可以的了,基本上不用它,但是普通的笔记本功能键的功能还是都有了,不过是用tpb来启用的。主要是看acpi模块是怎么支持的了。

Re: 笔记本 Fn 可映射否

发表于 : 2010-11-09 9:29
tenzu
拜见主席

Re: 笔记本 Fn 可映射否

发表于 : 2010-11-09 10:56
eexpress
● cat .xmodmaprc
! Fn-[F10...F12]
!keycode 160 = XF86AudioMute
!keycode 174 = XF86AudioLowerVolume
!keycode 176 = XF86AudioRaiseVolume

!已经被定义 121 122 123
!171-174 →↓←↑

! Fn-Left
!keycode 144 = XF86AudioPrev
! Fn-Right
!keycode 153 = XF86AudioNext
! Fn-Up
!keycode 164 = SunAudioRaiseVolume
!被定义成 XF86AudioStop
! Fn-Down
!keycode 162 = SunAudioLowerVolume
!被定义成 XF86AudioPlay

!keycode 115 = Super_L
!keycode 116 = Super_R
!keycode 117 = Menu

Re: 笔记本 Fn 可映射否

发表于 : 2010-11-09 13:26
asahi
我的Fn键就在Ctrl和瘟键中间,很好用的说。

Re: 笔记本 Fn 可映射否

发表于 : 2010-11-09 15:09
自由建客
roylez 写了:运行xev,按Fn,如果有反应就可以用xmodmap来映射。我的Thinkpad上的忘了可不可以的了,基本上不用它,但是普通的笔记本功能键的功能还是都有了,不过是用tpb来启用的。主要是看acpi模块是怎么支持的了。
单独按 Fn 是没反应的啦

Re: 笔记本 Fn 可映射否

发表于 : 2010-11-09 15:28
hasee.wu
自由建客 写了:
roylez 写了:运行xev,按Fn,如果有反应就可以用xmodmap来映射。我的Thinkpad上的忘了可不可以的了,基本上不用它,但是普通的笔记本功能键的功能还是都有了,不过是用tpb来启用的。主要是看acpi模块是怎么支持的了。
单独按 Fn 是没反应的啦
认不出来,那就杯具了。

Re: 笔记本 Fn 可映射否

发表于 : 2010-11-10 1:54
leni
roylez 写了:运行xev,按Fn,如果有反应就可以用xmodmap来映射。我的Thinkpad上的忘了可不可以的了,基本上不用它,但是普通的笔记本功能键的功能还是都有了,不过是用tpb来启用的。主要是看acpi模块是怎么支持的了。
thinkpad R61 从左往右就是 Fn Ctrl Win 的顺序 :em11

Re: 笔记本 Fn 可映射否

发表于 : 2010-11-10 12:55
pityonline
xev 好像只能捕获一部分有效的 Fn 功能键组合,单按 Fn 键是没反应的。

小键盘我是做了映射了,可识别到,这是按下 Fn+小键盘3得到的:

代码: 全选

KeyPress event, serial 66, synthetic NO, window 0x5400001,
    root 0x15a, subw 0x0, time 11197372, (156,275), root:(693,480),
    state 0x0, keycode 89 (keysym 0xffb3, KP_3), same_screen YES,
    XLookupString gives 1 bytes: (33) "3"
    XmbLookupString gives 1 bytes: (33) "3"
    XFilterEvent returns: False
这是按下 Fn+NumLK 得到的:

代码: 全选

KeyPress event, serial 66, synthetic NO, window 0x5400001,
    root 0x15a, subw 0x0, time 11545516, (266,185), root:(803,390),
    state 0x0, keycode 77 (keysym 0xff7f, Num_Lock), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False
这些还好,有 keycode 和 keysym 信息,而按下 Fn+Home 键(Home键上有播放暂停标志,配合 Fn 键盘使用是正常的)只能得到:

代码: 全选

FocusOut event, serial 66, synthetic NO, window 0x5400001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 66, synthetic NO, window 0x5400001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 66, synthetic NO, window 0x0,
    keys:  2   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  

单独按下 Home 是这样的:

代码: 全选

KeyPress event, serial 66, synthetic NO, window 0x5400001,
    root 0x15a, subw 0x0, time 12009903, (240,249), root:(1135,395),
    state 0x0, keycode 110 (keysym 0xff50, Home), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False
Fn+左右方向键(亮度调节):

代码: 全选

FocusOut event, serial 68, synthetic NO, window 0x5400001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 68, synthetic NO, window 0x5400001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 68, 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  

Fn+F7(有开关触摸板功能),xev 检测无反应,F8 上有静音开关功能,也没反应……