处理从 /dev/input
设备流读取的输入。
将以下依赖项添加到您的 Package.swift
.package(url: "https://github.com/sersoft-gmbh/device-input.git", from: "7.0.0"),
InputDevice
是用于流式传输输入事件的入口点。通过传递输入文件的路径来创建输入设备。默认情况下,输入设备在开始流式传输事件时会“抓取”其输入文件。 这样做可以防止其他进程(例如,默认的系统输入处理程序)接收输入设备的事件。 但是,这仅在 Linux 上有效。 如果您明确不想抓取设备,则可以手动将 false
传递给初始化程序中的 grabDevice
参数。 然后,您可以使用输入设备上的异步 events
序列。
注册的事件消费者会收到一个 InputEvent
结构数组。 它表示来自 linux 源代码 的 input_event
,但使用原生 Swift 类型而不是 C 类型。 常量有助于处理事件。 但是,它目前针对处理按键状态更改事件进行了优化。 轴事件和其他类型可能需要额外的工作(请参阅下面关于可能功能的章节)。
虽然尚未集成,但以下功能可能会提供附加价值,并可能在未来加入 DeviceInput
InputEvent
,针对 输入子系统 发送的各种事件类型进行了优化。API 文档使用 header doc 编写。如果您喜欢以网页形式查看文档,可以访问 在线版本。
如果您发现 DeviceInput 中的错误/希望看到新功能,可以通过以下几种方式提供帮助
请参阅 LICENSE 文件。