在统信UOS中需借助KeymouseGo实现鼠标宏绑定,仅支持X11会话;录制后通过快捷键或xbindkeys将物理侧键映射至宏调用,高端游戏鼠标须先在Windows烧录板载宏。

在统信UOS系统中为鼠标按键绑定宏操作,能直接替代重复点击、组合键输入或窗口切换流程,尤其适合游戏连招、代码提交、测试用例执行等高频机械操作。原生系统不提供图形化宏录制功能,必须借助第三方工具或底层命令实现。
安装并运行KeymouseGo宏录制工具
KeymouseGo是目前UOS桌面环境下唯一稳定支持X11会话的开源宏录制器,依赖scrot、xclip、xdotool等组件,不兼容Wayland会话。
打开终端,依次执行以下命令:
sudo apt update → sudo apt install -y git python3-pip python3-venv python3-dev build-essential scrot xclip xdotool python3-tk
cd ~/Desktop → git clone https://github.com/keymousego/keymousego.git
cd keymousego → python3 -m venv venv → source venv/bin/activate → pip install -r requirements.txt
【必须确认当前会话为X11】:执行 echo $XDG_SESSION_TYPE,输出必须为 x11;若为 wayland,请注销后在登录界面右下角手动选择“UOS on X11”再进入。
录制并绑定鼠标宏到指定按键
KeymouseGo不支持直接将宏绑定到物理鼠标侧键(如前进/后退键),只能通过软件界面触发或分配快捷键调用已保存的宏文件。
方法一:界面录制+快捷键触发
启动工具:python3 main.py
点击界面左上角【录制】按钮 → 按下键盘上任意一个未被系统占用的组合键(如 Ctrl+Alt+M)作为录制触发热键 → 执行你想自动化的完整操作(例如:点击终端→输入 git status →回车→复制输出→粘贴到文本编辑器)→ 再次按下 Ctrl+Alt+M 停止录制 → 点击【保存】并命名(如“git-status-copy”)。
方法二:命令行后台静默调用
录制完成后,该宏会保存为 .kmgr 文件(默认在 ~/Desktop/keymousego/macros/ 目录下)。后续可直接用终端调用:python3 main.py --play macros/git-status-copy.kmgr
为这个命令创建全局快捷键,需配合 gdbus 实现:gdbus call --session --dest com.deepin.daemon.Keybinding --object-path /com/deepin/daemon/Keybinding --method com.deepin.daemon.Keybinding.AddCustomShortcut "git-status-macro" "python3 /home/$USER/Desktop/keymousego/main.py --play /home/$USER/Desktop/keymousego/macros/git-status-copy.kmgr" "Super+G"
将宏绑定到物理鼠标侧键(需硬件支持)
此方法仅适用于自带固件宏存储的高端游戏鼠标(如罗技G系列、雷蛇DeathAdder V3),UOS无法直接改写其内部微控制器,必须依赖厂商Windows驱动预先烧录宏,再在UOS中启用该设备的“免驱模式”。
第一步:在Windows电脑上使用Logitech Options或Razer Synapse完成宏录制与侧键绑定,并保存至鼠标板载内存。
第二步:将鼠标接入UOS,拔掉接收器再重新插入,等待约5秒让USB HID协议完成枚举。
第三步:执行 xinput list | grep -i logitech,确认设备已识别为“Logitech USB Receiver”且状态为“slave pointer”。
第四步:验证侧键是否映射为标准按键事件——打开终端,执行 xev,将鼠标指针移入弹出窗口,按下侧键,观察终端是否输出 keycode 188 或类似 ButtonPress event;若只显示 unknown key 或无反应,说明该宏未进入HID通用模式,UOS无法识别。
若成功识别,即可用 xbindkeys 工具将其重映射为任意命令:先安装 sudo apt install xbindkeys xbindkeys-config,再运行 xbindkeys --defaults > ~/.xbindkeysrc,最后在配置文件末尾追加:"/usr/bin/gdbus call --session --dest com.deepin.daemon.Keybinding --object-path /com/deepin/daemon/Keybinding --method com.deepin.daemon.Keybinding.TriggerCustomShortcut 'git-status-macro'" m:0x0 + c:188


















