RedHat 8.0上的Gnome,配置键盘快捷键的方法.

引用自:

http://www.unixresources.net/linux/clf/laptop/archive/00/00/38/58/385831.html

 

经过网上各位大侠的指教,终于成功能使用键盘快捷键盘了.以下写些心得:

1)基础知识:
* 每当你按下一个键或一组组合键,键盘会向XFree86发送一个keycode信号,比如我的特殊键(i),用来启动浏览器的,就会发keycode 163给XFree86
* XFree86自己有一套对于各个键的定义,叫keysym,XFree86接收到一个keycode后,会把keycode翻译成相对的keysym,然后送个具体的程序处理.

2)设计的你的特殊键方案
我想把我键盘上的特殊键(i)变成启动mozilla的快捷键

3)检测你的特殊键的keycode
启动程序xev,然后按下你想检测的特殊键,看屏幕的输出,找keycode这个字后面的数字,如:
KeyRelease event, serial 25, synthetic NO, window 0x2600001,
root 0x3e, subw 0x0, time 2386094733, (771,403), root:(777,437),
state 0x0, keycode 163 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 characters: ""

看到" keycode 163 (keysym 0x0, NoSymbol)"这段了吗?其中163就是那个特殊键的keycode,而后面的"(keysym 0x0, NoSymbol)"表示还未定义是哪个keysym.

OK,我们现在知道要做的特殊键盘的keycode是163了.

4)找一个keysym定义给特殊键.
我现在还不知道如何自己为XFree86增加新的keysym,估计要改源代码.好在XFree86已经预先定义了一大堆的keysym,我们就不用那么麻烦,只要选一个已经有的keysym就可以了.
打开文件/usr/X11R6/lib/X11/XKeysymDB
找一个你喜欢的定义,我是看他的名字来定的,呵呵
XF86Eject :1008FF2C
XF86ScreenSaver :1008FF2D
XF86WWW :1008FF2E
XF86Sleep :1008FF2F
XF86Favorites :1008FF30
XF86AudioPause :1008FF31
XF86AudioMedia :1008FF32
XF86MyComputer :1008FF33
看到了吗?有很多耶!我就用XF86WWW吧,看起来和我的特殊键挺登对的.:-)

5)把特殊键的keycode关联到keysym上
你可以用工具xmodmap来做这个事情,你最好用man xmodmap来见看看.
我是用以下命令实现的:
/usr/X11R6/bin/xmodmap -e "keycode 163 = XF86WWW"
你可以把这个配置放到机器启动或者会话启动的自动运行菜单里.
运行完这句,你可以在运行一下xev,按下特殊键 (i),应该能看到keysym那里已经显示XF86WWW了

6)设置你自己的快捷键
在我的gnome里,默认的窗口管理器(window manager)是metacity,我的实现也是以此为例的,如果用其他的窗口管理器的朋友,可能要自己研究一下了.
运行gconf-editor,然后在菜单里找/apps/metacity,你看到什么?
首先设置一个快捷命令,选择keybinding_commands,你可以看到有很多空的命令项,随便选一个,我选的是command_1,修改他的数值为"/usr/bin/mozilla"
然后设置关联这个快捷命令的快捷键,找/apps/metacity/global_keybindings,然后修改run_command_1的数值为XF86WWW
然后关闭gconf-editor.

测试一下,按那个特殊键,mozilla是不是出来了?
其他的任何的特殊键,也可以用这过方法来实现.

祝您好运!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值