veket官方网站论坛

veket

 找回密码
 要注册
搜索
查看: 2918|回复: 9

veket有修改键盘的软件吗?我笔记本键盘有些坏了?

[复制链接]
发表于 2014-2-10 16:54 | 显示全部楼层 |阅读模式
veket有修改键盘的软件吗?我笔记本键盘有些坏了?
发表于 2014-2-10 18:28 | 显示全部楼层
好像有几种方法可以实现,例如直接用命令xmodmap
xfce窗口管理器本身亦可以改,还有个小软件是修改的以前有网友发过pet
发表于 2014-2-10 18:28 | 显示全部楼层
百度上边的命令行方法:
xmodmap -pke | grep -i tab
xmodmap -pke | grep -i grave

上面两条命令分别找到 tab 和 ~ 两个键对应的keycode,比如,在我的系统上是:

keycode  23 = Tab ISO_Left_Tab Tab ISO_Left_Tab

keycode  49 = grave asciitilde grave asciitilde

你的系统上对应的keycode可能略有不同。 如果你的xmodmap没有Tab的定义,也没关系,用xev也能找到keycode,然后创建一个 ~/.Xmodmaprc 文件,内容为

keycode 49 = Tab ISO_Left_Tab Tab ISO_Left_Tab
keycode 23 = grave asciitilde grave asciitilde

就是把标准的结果互换一下,然后保存 ~/.Xmodmaprc
在命令行下 xmodmap ~/.Xmodmaprc,就行了

注意,我这里tab对应keycode 23, ~对应49,你的不一定是这样的,可以用xev来识别。
发表于 2014-2-10 18:31 | 显示全部楼层
使用xmodmap工具进行修改,使用man xmodmap,里面就有交换按键caplock(大小写切换键)和右ctrl键的例子,

如果您的修改不同,可以做相应的替换即可。我就是参考这个例子对我的右Alt键和Ctrl键进行修改的。

下面先看man自带的例子

       !
       ! Swap Caps_Lock and Control_L
       !
       remove Lock = Caps_Lock
       remove Control = Control_L
       keysym Control_L = Caps_Lock
       keysym Caps_Lock = Control_L
       add Lock = Caps_Lock
       add Control = Control_L
将上面的语句写入文件,例如keymaprc,然后xmodmap keymaprc即可生效,

因为这个是交换键的功能,如果您执行第二次的话,按键就又会恢复回来的。

注意:这个修改只对当前有效,电脑重启会失效,得重新输入命令。


下面是我自己的修改,把keymaprc命名为隐藏文件: .keymaprc,放在$HOME目录下。

$ cat ~/.keymaprc
remove Control = Control_R
remove mod1 = Alt_R
keysym Control_R = Alt_R
keysym Alt_R = Control_R
add Control = Control_R
add mod1 = Alt_R
然后执行 $ xmodmap ~/.keymaprc

这样就生效了



为了更加修改按键,不想很次都输入xmodmap ~/.keymaprc这么长的命令,可以将命令写入文本,放到$PATH路径下,下面是我的做法

$ touch swkey

$ echo "xmodmap ~/.keymaprc" >  swkey

$ chmod +x swkey

$ sudo mv swkey /usr/bin

$ swkey  #现在想交换两个按键就直接输入这个命令,无论在什么路径下都可以,也不用记文件路径,会比较方便


备注:

alt对就MODIFIERNAME为mod1,可以在man文档中找到其他的MODIFIERNAME,也可以直接xmodmap查看,window键应该对应mod4

$ xmodmap
xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):


shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)


111
发表于 2014-2-10 18:34 | 显示全部楼层
以前有网友分享过一个小软件的pet是专门修改这个的,不过忘记名字了
您需要登录后才可以回帖 登录 | 要注册

本版积分规则

QQ|手机版|Archiver|veket官方网站论坛 ( 粤ICP备 11052856 )

GMT+8, 2024-5-12 23:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表