奇技淫巧 - 阅读主题
<<  <  1  >  >>

[FreeBSD安装手记] 5. 图形界面下充分利用键盘上的特殊键

好(0) 差(0) 阅读(1146) 评论(0)
poster face
发表次数:1396
等级:◆◆◆◆◇◇
经验:11,233
魅力:1,373,163
给 Wen 发消息 给 Wen 发email


现在一般键盘上都有Win键(在Windows里按下会弹出开始菜单)和菜单键(在Windows里按下会弹出上下文菜单),有些特殊键盘还有多媒体按钮(不少笔记本都有)。在FreeBSD下这些按钮默认都没有激活,我们可以自己激活并使用它们。

  1. 在图形界面下打开一个term,执行:

    xev

    即会弹出一个叫Event Tester的窗口,按下键盘左边的Win键,term会输出类似如下的信息:

    KeyPress event, serial 21, synthetic NO, window 0x1600001,
        root 0x4c, subw 0x0, time 1190029, (462,166), root:(584,458),
        state 0x0, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
        XLookupString gives 0 bytes:
        XmbLookupString gives 0 bytes:
        XFilterEvent returns: False

    KeyRelease event, serial 24, synthetic NO, window 0x1600001,
        root 0x4c, subw 0x0, time 1190188, (462,166), root:(584,458),
        state 0x20, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
        XLookupString gives 0 bytes:

    表明左Win键的键码(keycode)是115,名称(keysym)是Super_L。

  2. 在xev中按下各种特殊按钮,收集按钮的keycode和keysym信息,留意有些键没有keysym信息的要记下来。完成后退出xev:把Event Tester窗口关闭即可。

  3. 以root身份编辑keysym数据库,执行:

    ee /usr/X11R6/lib/X11/XKeysymDB

    对没有keysym的键,自己起个keysym并赋予一个唯一的keysym code,添加到XKeysymDB末尾,例如我添加了这些多媒体按钮的keysym信息:

    VolumeUp        :1100000D
    VolumeDown      :1100000E
    MediaPlayPause  :1100000F
    MediaStop       :11000010
    MediaPrev       :11000011
    MediaNext       :11000012
    MediaMute       :11000013
  4. 以普通用户身份在自己的目录下建文本文件.xmodmaprc,其中把keycode和keysym关联起来,例如我的.modmaprc文件内容是这样的:

    keycode 115 = Super_L
    keycode 116 = Super_R
    keycode 117 = Menu
    add Mod3 = Super_L
    add Mod3 = Super_R

    keycode 174 = VolumeDown
    keycode 176 = VolumeUp
    keycode 164 = MediaStop
    keycode 162 = MediaPlayPause
    keycode 144 = MediaPrev
    keycode 153 = MediaNext
    keycode 160 = MediaMute

    这里还把Win键设为第3控制键(Modifier),于是在fvwm的配置文件,除了S表示Shift、M表示Meta(Alt)、C表示Ctrl之外,还可以使用3表示Win键。

  5. 在窗口管理器里配置使用这些键,例如在fvwm的配置文件中可以添加如下代码使多媒体按钮跟xmms关联起来(音量按钮跟系统音量关联):

    Key VolumeUp            A       A       Exec exec mixer vol +5
    Key VolumeDown          A       A       Exec exec mixer vol -5

    Key MediaStop           A       A       Exec exec xmms --stop
    Key MediaPlayPause      A       A       Exec exec xmms --play-pause
    Key MediaPrev           A       A       Exec exec xmms --rew
    Key MediaNext           A       A       Exec exec xmms --fwd

    也可以使用xmms的xf86audio插件,此时要把多媒体键绑定为XF86Audio*的一系列keysym,具体请参考该插件的说明文档

Share/Save/Bookmark
最后修改:Wen 于 2006-03-18 16:22:18

发表于 2006-03-18 16:13:32
奇技淫巧 - 阅读主题
<<  <  1  >  >>
发表评论
评论将以 过客 的名义发表
你的名字/昵称:
为减少垃圾评论,请准确回答问题:

注意:不超过 65535 字节,不支持HTML,支持NN Code

| | | 注册 | 忘记密码
分类浏览: 足迹 | 美食 | 开心 | 奇技淫巧 | 科学 | 音视 | 琐事 | WENSH事务 | 过客留言 | 前梦想国度 |
English categories: Footprints | Recipes | Fun | Tech | Science | Entertainment | Life | WENSH Affairs | Guests' Msgs |
| 链接 | 服务 | 留言 | 关于 NetNest |
Valid XHTML 1.0 | Valid CSS2 | WAI-A WCAG 1.0
W3Csites.com Listed | Directory of Travel Blogs | Travel blogs | Travel | Top Blogs
Copyright 2005-2008 WEN'S Horizon [32/2.196]
Powered by NetNest 2.1.0.081019 © 2004-2008 NetNest Group