#input #generic #unifying #helper #framework #type #unified

input_helper

用于统一输入库的泛型类型和工具

2个版本

0.1.2 2022年5月10日
0.1.0 2022年5月8日

#1 in #unifying

MIT/Apache

11KB
117 代码行数,不包括注释

Input Helper

用于统一输入库的泛型类型和工具。

Input Helper的主要任务是提供一种统一的方式,用于处理来自任何输入框架的输入。

项目状态

注意:Input Helper目前处于规划/测试阶段。目前不适合使用。

问题

大多数接受用户输入的库都以库特定的方式进行。为了使用该库,您必须编写库特定的代码。

例如:您不能从Winit切换到SDL,或者从Gilrs切换到SDL,或者切换到任何其他库而不需要重写所有的输入代码。这可能会将您的项目绑定到特定的框架,或者迫使您浪费时间重复代码。在使用多个输入库的情况下,例如将Winit和Gilrs配对,您必须分别处理每个框架。

解决方案

库特定的输入事件可以被转换为 InputEvents,并通过 InputHelper::send() 使用 Input Helper 发送。然后您可以针对 Input Helper 编写应用程序代码。如果您需要切换输入系统,则无需重写您的业务逻辑。这也允许您在单个位置处理所有输入代码,无论其来源如何。

Input Helper将为Winit、SDL和Gilrs等常见框架提供默认集成函数。

贡献

许可证

Input Helper受以下许可证之一许可

由您选择。

除非您明确声明,否则您有意提交以包含在作品中的任何贡献,根据Apache-2.0许可证定义,应如上双重许可,不附加额外条款或条件。

依赖项

~0.6–7MB
~144K SLoC