Keytouch

来自 Arch Linux 中文维基

Tango-view-refresh-red.png本文内容或本节内容已经过期。Tango-view-refresh-red.png

原因: 请提供模板的第一个位置参数以概括原因。 (在Talk:Keytouch讨论)

KeyTouch是一个可以自由配置键盘额外功能按键的软件,你可以通过它来轻松自定义键盘的额外功能按键.

这篇文章将介绍Keytouch如何工作于Arch Linux下. 更多信息参见Keytouch的官方文档.

安装[编辑 | 编辑源代码]

安装keytouchAUR[损坏的链接Template:Aur-mirror]软件包 ,它位于Arch User Repository.

键盘模型文件[编辑 | 编辑源代码]

你需要一个适用于你的键盘的键盘模型文件. 软件包自身包含了一些键盘模型文件. 你也可以在官方的键盘模型文件列表中寻找更多键盘模型文件.

如果没有找到的话,你需要自己创建一个键盘模型文件.

创建一个键盘模型文件[编辑 | 编辑源代码]

Template:Out of date (简体中文) 安装 keytouch-editorAUR[损坏的链接Template:Aur-mirror] ,位于 Arch User Repository. 确保evdev已经装载. (如果你使用的是官方库的内核则不必顾虑于此)

# lsmod | grep evdev

如果evdev没有装载,装载evdev

# modprobe evdev

创建一个键盘模型文件前,我们还需要知道哪个输入设备是键盘:

# ls /dev/input/

每一个 event device (比如键盘鼠标) 都与这些文件中的一个相对应 要找出键盘对应哪一个文件, 运行:

# keytouch-editor /dev/input/eventX mykeyboardconfig

如果之前的命令由于kdesu依赖关系缺失而失败(原文:If the previous command fails due to a missing kdesu dependency), 试着运行:

# keytouch-editor-bin /dev/input/eventX mykeyboardconfig

X换成一个数字. KeyTouch editor将显示一些设备相关信息, 其中包含设备名字 (”Input device name”),你可以据此判断是否选择了正确的设备. KeyTouch editor将请求你输入一个额外功能按键 . 如果输入额外功能按键后程序继续运行的话,则表示你选择了正确的设备. 如果不是,按下 Ctrl+C 终止程序,重选择另一个 event device. 注意,如果你的键盘通过USB口连接到电脑,这儿将会有两个event devices: /dev/input/eventA (A是一个数字) ,普通按键, 和 /dev/input/eventB (B = A+1) ,额外功能按键.

  • 找到正确设备后继续以下步骤. keytouch-editor将询问你的名字和你键盘的型号与制造商.
  • 现在该告诉keytouch-editor额外功能按键. 你会收到这样的信息:
Press an extra function key or press enter to finish...(按下一个额外功能按键或者按下回车键结束)

如果你的键盘通过USB口连接到电脑,或者你启动keyTouch editor时使用了”–acpi”选项,则你将收到如下信息(而不是上一条信息):

Press return to a new key or enter F followed by return to finish...(按回车键来定义新的按键或者在回车键后按下F键结束)
  • 你应该先按下额外功能按键.注意,不要按其他的按键.按键之后你将被询问按键名字,按键代码和默认操作.
  • 按键名字

为按键选择一个合适的名字. 如果按键上有文字标签的话,用此标签作名字即可.

  • 按键代码

你可以在官方按键代码列表中找到正确的按键代码.

  • 默认操作

注意,"默认操作"不是你想为这个按键定义的操作, 而是这个键本来的操作 (It is important to realize that the default action for a key, is not the action you want to use for this key, but one that corresponds to the function of the key.) 默认操作可能是一个程序或者一个插件. 如果是程序, 填入程序名. 如果是插件,填入”plugin” (没有引号),之后填入插件名称. 在这里查看有效的插件名:打开keyTouch->”Preferences”(选项),选择plugin,点击”Information...” 按钮,在这里可以得到选定插件的函数列表.在keytouch-editor中选定了插件名后,填入函数名.注意这里区分大小写.

  • 这些信息输入完成后,程序将指导你定义下一个额外功能按键.如果这时已经完成了所有额外功能按键的定义,按回车键,输入生成的文件名,退出程序.

公布这个键盘模型文件[编辑 | 编辑源代码]

完成键盘模型文件的制作和测试后,你可以把它发送给Keytouch的作者,以便作者把它添加到下一个发行版本中.以后如果有人键盘和你的一样的话就不用自己写键盘模型文件啦.

marvinr users.sourceforge.net

(缺个@符号 ;))

配置Keytouch[编辑 | 编辑源代码]

  • 运行Keytouch
$ keytouch
  • 接下来...
  1. Keytouch将给出一个键盘列表,点击import,选择你创建的键盘模型文件
  2. 找到你的键盘,选择它
  3. 然后是配置界面.应该可以自己解决了

启动keytouch守护进程[编辑 | 编辑源代码]

Template:Out of date (简体中文)

  • 在启动时运行keytouch守护进程:将keytouch添加到/etc/rc.conf中的daemons队列
  • 在会话开始时加载keytouchd. 脚本/etc/X11/Xsession将运行所有位于/etc/X11/Xsession.d/的守护进程,包括keytouchd.
    • 如果你在命令行下登录,将/etc/X11/Xsession添加到~/.xinitrc
    • 如果你使用显示管理器(例如KDM), ~/.xinitrc将不被执行. 你可以在你的桌面环境(Gnome, Kde, Xfce-svn等等)中设置在你登录时运行/etc/X11/Xsession.

故障排除[编辑 | 编辑源代码]

  • 我用额外功能按键改变音量时, OSD看起来很丑. 为什么?:

也许是因为你用root去运行/etc/X11/Xsession .你将"/etc/X11/Xsession"写到像/opt/kde/share/config/kdm/Xstartup这样的脚本里的话就会出现这种情况. /etc/X11/Xsession所做的是搜寻并执行位于/etc/X11/Xsession.d/中的脚本. 安装keytouch将在这里创建两个脚本:

$ pwd
/etc/X11/Xsession.d
$ ls
91keytouch-acpid_launch  92keytouchd_launch

如果它们没有运行, 则keytouchd不工作. 如果root去运行它们(比如在KDM的自启动脚本里)的话就会看起来很丑,这不适合大多数人.以自己身份运行它们即可(比如在~/.kde/Autostart中创建一个软链接到/etc/X11/Xsession).

  • 我的多媒体键(播放/暂停/前一个/后一个...)根本不工作:

和上面的同理. 如果root运行keytouchd,程序将认为是root在动作, 当然看起来像是这些键不工作.

  • 我刚刚(用keytouch-editor)创建了键盘模型文件,但是我在keytouch里选择它时, keytouch说键盘模型文件不存在. 我确定它存在! :

它当然在——只是文件名不对罢了 创建键盘模型文件时,文件名的格式必须与此完全一致:

Model.Manufacturer

比如:

Satellite-L25-SP141.Toshiba

这样应该就好了.