100 lines
3.6 KiB
Markdown
100 lines
3.6 KiB
Markdown
# FancyInput
|
||
|
||
<p align="center">
|
||
<img src="FancyInput/Resources/Icons/Icon.png" alt="FancyInput 图标" width="160">
|
||
</p>
|
||
|
||
FancyInput 是一款面向 Windows 的游戏输入可视化叠层与输入宏工具。它可以在游戏画面上实时显示键盘、鼠标和手柄输入,也支持自定义叠层布局、虚拟手柄映射以及宏录制与回放。
|
||
|
||
## 功能
|
||
|
||
- 实时可视化键盘、鼠标和手柄输入
|
||
- 支持 XInput、SDL3、RawInput 和 MouseKeyHook 输入后端
|
||
- 自定义叠层元素、位置、大小、透明度和布局
|
||
- 支持 PNG/GIF 图像资源与图像编辑
|
||
- 键盘到虚拟 Xbox 360 手柄的映射
|
||
- 输入宏录制、编辑和回放
|
||
- 支持命令、键盘、鼠标、延迟等宏动作
|
||
- 支持 Once、Hold、Toggle 等触发模式
|
||
- 宏项目可保存为 `.fipm` 文件并批量加载
|
||
- 系统托盘、内置 Cmd/PowerShell 终端和在线更新
|
||
|
||
## 系统要求
|
||
|
||
- Windows 10 或更高版本
|
||
- .NET 8 Desktop Runtime(运行已发布版本时)
|
||
- 使用虚拟手柄功能时,需要安装 ViGEmBus,并提供 ViGEm 客户端组件
|
||
- 使用 HidHide 隐藏真实手柄时,需要安装 HidHide,并以管理员身份运行程序
|
||
|
||
虚拟手柄和 HidHide 都是可选功能,不影响基本的输入叠层使用。
|
||
|
||
## 构建
|
||
|
||
### 开发环境
|
||
|
||
- Visual Studio 2022,安装“.NET 桌面开发”工作负载
|
||
- .NET 8 SDK
|
||
- Windows 操作系统
|
||
|
||
### 从源码构建
|
||
|
||
```powershell
|
||
dotnet restore FancyInput.sln
|
||
dotnet build FancyInput.sln --configuration Release
|
||
```
|
||
|
||
构建输出位于 `FancyInput/bin/Release/`。也可以使用 Visual Studio 打开 `FancyInput.sln`,选择 `Debug` 或 `Release` 配置后运行项目。
|
||
|
||
## 使用说明
|
||
|
||
启动程序后,可以从主窗口进入以下功能:
|
||
|
||
- **读取**:打开已有的叠层项目或配置文件
|
||
- **创建**:创建新的输入叠层布局
|
||
- **管理**:管理已有项目和布局
|
||
- **工坊**:创建、编辑、录制和运行输入宏
|
||
- **设置**:配置输入后端、运行权限和其他选项
|
||
|
||
使用全局输入监听、虚拟手柄或 HidHide 功能时,请确认程序拥有必要的 Windows 权限。请勿在不清楚宏动作含义的情况下运行来自他人的宏文件或命令。
|
||
|
||
## 项目结构
|
||
|
||
```text
|
||
FancyInput/
|
||
├── Common/ 通用工具、枚举和行为
|
||
├── Models/ 输入处理、宏、叠层和设备管理
|
||
├── ViewModels/ MVVM 视图模型
|
||
├── Views/ WPF 窗口、页面和控件
|
||
└── Resources/ 图标、二维码和样式资源
|
||
```
|
||
|
||
## 第三方组件
|
||
|
||
项目使用了多个第三方组件,包括:
|
||
|
||
- Hardcodet.NotifyIcon.Wpf
|
||
- MouseKeyHook
|
||
- SDL3-CS / SDL3-CS.Native
|
||
- SharpDX.XInput
|
||
- WpfAnimatedGif
|
||
|
||
第三方组件的版权和许可归各自作者所有。使用或重新发布包含这些组件的程序时,请同时遵守其各自许可证。相关项目地址如下:
|
||
|
||
- [Hardcodet.NotifyIcon.Wpf](https://github.com/hardcodet/wpf-notifyicon)
|
||
- [MouseKeyHook](https://github.com/gmamaladze/globalmousekeyhook)
|
||
- [SDL3-CS](https://github.com/edwardgushchin/SDL3-CS)
|
||
- [SharpDX](https://github.com/sharpdx/SharpDX)
|
||
- [WpfAnimatedGif](https://github.com/XamlAnimatedGif/WpfAnimatedGif)
|
||
|
||
## 许可证
|
||
|
||
FancyInput 仓库中的源代码采用 [MIT License](LICENSE) 授权。该许可证允许使用、复制、修改和分发源代码,但必须保留版权声明和许可证文本。
|
||
|
||
官方编译版如附带单独的终端用户协议,则以该发行版随附的协议为准;第三方组件不受 FancyInput 的源代码许可证替代。
|
||
|
||
## 联系方式
|
||
|
||
- 作者:XLworkspace
|
||
- 邮箱:contact@xlworkspace.com
|
||
- 微信公众号:星览工作站(微信号:XLWorkspace)
|