9 个版本 (4 个重大变更)
0.5.0-alpha | 2019年3月25日 |
---|---|
0.4.0 | 2018年9月9日 |
0.3.1 | 2018年8月22日 |
0.2.2 | 2018年8月16日 |
0.1.1 | 2018年8月15日 |
#1934 在 命令行工具
每月 21 次下载
57KB
600 代码行
X11 输入加速器
添加系统级
- 自动滚动模式 - 点击(中键)按钮并拖动光标滚动,再次点击以退出模式(可以自定义使用不同的按钮或需要按住按钮)
- 使用键盘键进行点击,仅在选中输入设备上次使用后 x 毫秒内有效
适用于鼠标或数位板用户。
滚动模式需要选定的按钮未被绑定(示例)。
从 0.3.0 版本开始,键盘快捷键无法正确捕获。因此,如果您想例如将左键绑定到 2,并通过按 Ctrl+2(Ctrl+左键)在新标签页中打开链接,请先在浏览器设置中解除 Ctrl+2 的绑定。
示例配置 - Wacom Bamboo 数位板
# Windows-like auto-scrolling. Press `button_id` to start scrolling,
# then move your mouse up or down. The longer the distance between the
# cursor and the starting point, the faster you scroll. Remove/comment
# out whole section if you don't want it.
[scroll]
# Device with buttons. Use `xinput list` and `xinput test-xi2 --root` to
# determine.
device = "Wacom Bamboo Pen stylus"
# Change it if you have many devices with the same name.
subdevice = 0
# `hold = false` means click once to enable, click once to disable.
# Recommended `false` on tablets, as it's annoying when you connectivity
# while using `hold = true`.
hold = false
# Scrolling speed. Has different effect on different screen resolutions.
# Recommended to set `speed` to high value and decrease system-wide
# scrolling speed as much as possible. Equation: `speed`×`distance`[px]
# ÷1_000_000_000 = emulated mouse wheel rolls.
speed = 600000
# Which button toggles scrolling. Button 2 is the middle mouse button.
# Button 3 is upper button on Wacom Bamboo Pen.
button_id = 3
# Whether to show crosshair/indicator at cursor original position
# (when the scrolling started)
indicator = true
indicator_size = 5
# Whether to stop scrolling when keyboard event occurs
cancel_on_keypress = true
# Click using keyboard. Active only until `timeout_ms` has passed since
# the last time any of grabbed devices was used. Remove/comment out
# whole section if you don't want it.
[keyboard_click]
# Device that moves or has buttons, used to determine timeout. Use
# `xinput list` and `xinput test-xi2 --root` to determine.
device = "Wacom Bamboo Pen stylus"
# Change it if you have many devices with the same name.
subdevice = 0
# How much time must pass until keys go back to normal.
timeout_ms = 500
# Key that emulates left mouse button.
# **DO NOT USE TOGGLE BUTTON (CapsLock etc.)**
key_lmb = 25 # W
# Key that emulates right mouse button.
# **DO NOT USE TOGGLE BUTTON (CapsLock etc.)**
key_rmb = 26 # E
# Key that will be used for temporary purposes.
# **DO NOT USE TOGGLE BUTTON (CapsLock etc.)**
key_unused1 = 106 # numpad /
# Key that will be used for temporary purposes.
# **DO NOT USE TOGGLE BUTTON (CapsLock etc.)**
key_unused2 = 63 # numpad *
示例配置 - 鼠标
使用上述配置,但将 xinput_grep
替换为例如“游戏鼠标”,并将 stylus_button_id
替换为某个按钮 ID。中键按钮 ID 是 2,但那需要您以某种方式解除其粘贴功能。如果您鼠标有这些额外按钮,我建议使用它们。按钮 ID 4 和 5 保留用于滚动事件。您可以使用 xinput test-xi2 --root
检查按钮 ID。
安装
首先,安装 GTK 3.18+(Ubuntu 16.04 及更高版本默认安装),xdotool
和 xmodmap
。
从 发行版页面 下载二进制文件,或通过复制源代码并运行 cargo build --release
来构建它,或者使用 cargo install x11-input-supercharger
让 Cargo 下载源代码并将二进制文件放入 PATH
。需要 Rust 稳定工具链。
在启动程序时,Config.toml
必须位于当前工作目录中。
杂项
控制台(终端模拟器)在选中时不喜欢按键。请使用Gnome终端。
该程序抓取root X11输入设备。
代码很丑陋,该程序有时在关闭时崩溃(但似乎不会使系统处于损坏状态)。
KSysGuard显示该程序在Intel i5 6300HQ上使用0-1%的CPU时间。
如果该程序在您的系统上不稳定,请检查版本0.2.x。它们使用文本解析器而不是X11 API。然而,当时使用了不同的键盘抓取解决方案,这导致基于Chromium的程序出现滞后。请参阅旧树中的旧README。
提示:自动启动
将以下命令添加到自动启动命令中
bash -c 'cd /path/to/folder/with/config/ && /path/to/x11-input-supercharger & disown'
提示:光标速度
xinput set-prop "Wacom Bamboo Pen stylus" "Device Accel Constant Deceleration" 1.6
您可以将该命令添加到自动启动命令中。
致谢
感谢Linux杂志的Bruce Byfield的关于Wacom的文章。
感谢Linux Wacom项目开发者使Linux上的Wacom成为输入设备成为可能。
感谢所有X11开发者为他们创造的出色工具。
依赖关系
~15–23MB
~424K SLoC