我正在构建一个供个人使用的文本宏应用程序,并正在使用artoo
和artoo-keyboard
gem 来监听笔记本电脑上的击键。
目标是为全局击键触发事件,即不需要特定窗口成为焦点。
目前它连接到 /dev/ttyS4 并且仅注册在终端处于焦点时进行的击键。
我得到 /dev/ttyS3 的原因是有人建议我运行dmesg | grep tty
- 这就是结果。
使用 Artoo,键盘端口的连接方式如下:
connection :keyboard, adaptor: :keyboard, port: '/dev/tty/S4'
device :keyboard, driver: :keyboard, connection: :keyboard
其他人建议我运行cat /proc/bus/input/devices
,这样做我看到以下条目:
I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input3
U: Uniq=
H: Handlers=sysrq kbd event3
B: PROP=0
B: EV=120013
B: KEY=20000 20000000020 0 0 1500f02100000 3803078f900d401 feffffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7
我假设这是给定名称的键盘条目。
我尝试使用 Artoo 连接命令port: 'isa0060/serio0/input0'
,但代码运行方式完全相同。
如果不清楚我要在这里完成什么,请在这个 10 秒的截屏视频中搜索一下,我已经建立了一个侦听器,以便在输入文本时打开 artoo.io 主页hello world
:https://raw.githubusercontent .com/MaxPleaner/keyboard-macros/master/usage_screencast.gif
问题是它只在终端输入时才有效。
我想知道我可以进行哪些更改以使其适用于全局击键。
我应该提到我在 HP EliteBook 2540p 笔记本电脑上运行 Ubuntu 14.04。