Ayase
项目 repo:Github/Ayase@JeffersonQin
截图在 Github 上有( V2 不让我发链接(悲
Ayase 是一款旨在使用键盘对电脑进行控制的软件。其专门为<del>像我这样的懒人</del>打造。众所周知,在普通情况下,我们需要同时使用键盘和鼠标对电脑进行控制,然而频繁的键盘与鼠标间的切换回让人身心俱疲,同时使得手腕关节持续疲劳,有害于人的身体健康。Ayase 可以通过搜索的方式精确定位屏幕上的 UI 元素,快速控制。
Features
- 支持高 DPI,多显示器不同 DPI,跨屏幕显示
- 支持 Chrome-based Apps (e.g. Github Desktop)
- 支持 Electron Apps (e.g. Visual Studio Code)
- 支持 WinForms, WPF, UWP (e.g. 网易云 UWP)
- 支持腾讯等多家公司的自研 UI 框架 (e.g. 腾讯的微信、QQ)
- 页面元素高速读取
- 支持拼音、拼音首字母搜索 (e.g. 网易云 → wyy / wangyiyun)
- 忽略大小写
关于 Accessibility 方面的开发以及速度优化的讨论,可以看我博客的几篇文章 (gyrojeff(dot)top)。最终我采用的实现方案是C++调用Win32API / uiautomation.h编译成dll动态链接库,在C# / WPF项目中通过P/Invoke进行调用。在大多数情况下,速度同比提升将近 80%.
这是我第一次正儿八经地写WPF / C++,所以如果有什么问题还请大家多提PR / Issues
Dependencies
Microsoft.Toolkit.Uwp.NotificationsNotifications.WpfToolGood.Words
使用方法
- 开始 UI 识别:
Alt + CapLocks(我们会自动还原CapLocks状态) - 退出识别:
Esc - 下一个元素:
Tab - 上一个元素:
Shift + Tab - 鼠标点击当前选中的 UI 元素:
Enter - 鼠标移动到当前选中的 UI 元素:
Shift + Enter
TODO
- 增加语音模块
- 增加设置功能
- 使用
AWSD进行方向操作 - 纯控制鼠标模式
