xkbevd

XKB 事件守护程序

这个命令非常原始,因此只能部分实现;我们在这里将其作为开发人员的粗略原型,而不是作为最终用户的通用工具。像这样的东西可能会成为xev的合适替代品;提醒你一下,我不会报名的,但这是个有趣的主意。

xkbevd事件守护进程监听指定的XKB事件,并在事件发生时执行请求的命令。配置文件由一系列事件规范/操作对和/或变量定义组成。

事件规范包括一个简短的XKB事件名称,后跟一个字符串或标识符,在括号中充当限定符;空括号表示没有限定条件,用于指定应用于与任何其他规范不匹配的事件的默认命令。限定符的解释取决于事件的类型:铃声事件匹配使用铃声的名称,消息事件匹配消息字符串的内容,慢键事件接受按、释放、接受或拒绝中的任何一种。当前未识别其他事件。

动作由可选关键字和可选字符串参数组成。目前,xkbev可以识别以下动作:none、ignore、echo、printEvent、sound和shell。如果未指定该操作,则该字符串将作为要播放的声音文件的名称,除非它以感叹号开头,在这种情况下,它将作为shell命令。

在参数字符串传递给操作处理器之前,参数字符串中的变量定义将使用相关事件的字段展开。变量的一般语法是$c或$(str),其中c是单个字符,str是任意长度的字符串。所有参数都有单字符和长名称。

可识别的参数列表因事件而异,由于太长,现在无法在这里列出。无论如何,这是一个开发人员版本,因此您可以查看源代码(evargs.c是特别感兴趣的)。

ignore、echo、printEvent、sound和shell操作执行的是您期望名为ignore、echo、printEvent、sound和shell的命令执行的操作,只不过sound命令只针对SGI机器实现和测试过。它现在会启动一个外部程序,所以它应该很容易适应,特别是如果你喜欢比你预期的时间晚半秒到达的音频提示。

当前唯一可识别的变量是soundDirectory和soundCmd。我相信你能弄清楚他们是做什么的。