使用xmodmap映射Thinkpad专有键
大多数笔记本电脑上都有几个专有键,我现在使用的Think有几个,像静音、提高音量、降低音量、Fn键,除了静音键管用(只能静音,打不开音量)在KDE4上都没有反应,没有提示。
偶然在泡论坛的时候,看到一个关于这种专有键的处理方法,一般都是映射到一个虚拟键上,如F20等,然后在桌面环境中使用定义的虚拟键作为某些功能的快捷键了。
主要有两种键盘映射方法,xmodmap和keytouch,我现在使用的是xmodmap方法,感觉这个方便一点。
首先用xev程序获得专有键的代码,在用户目录下编译.Xmodemap文件,文件格式如下,
keycode 159 = F18
keycode 174 = F19
keycode 176 = F20
keycode 227 = F21
再执行xmodmap .Xmodmap命令执行映射,让其生效。
不过这个命令需要每次启动的时候都执行。有些系统可以使用/etc/rc.local执行,而我现在使用的Gentoo不支持这种方法,只好在KDE中设置这个自执行命令。
还一个比较特殊的地方,静音键无法使用xev获得代码,不会给X任何事件,找了一下大概是这个键直接使用ACPI功能传递信号了,并不经过X,目前这个键就只能这么用了。
这么一改,其他几个特殊的键都能与KDE桌面环境配合的很好用了。
A 2010-05-27:
找到Mute键的使用方法,需要加个内核启动参数,acpi_osi="Linux" .
然后,使用上面的xmodmap方法,可以捕捉到Mute按键。
现在的.Xmodmap文件,
keycode 159 = F18 # ThinkVantage
keycode 160 = F19 # Mute
keycode 174 = F20 # Volume down
keycode 174 = F21 # Volume up
posted on 2010-06-16 18:21 drswinghead 阅读(362) 评论(0) 编辑 收藏 举报