首先,我正在构建一个简单的游戏手柄,我想知道是否可以编写通用驱动程序,我的意思是,游戏手柄(按钮、轴等)要传递的输入是内置一个驱动程序,该驱动程序与许多系统兼容。
我到处搜索,但找不到我的解决方案的答案。我看到像罗技和其他游戏手柄这样的公司,每当我将游戏手柄插入任何可以工作的系统时,我如何对我的设备进行编程来做到这一点?
- 编辑 - :
主机和我的设备之间的连接是通过蓝牙连接的。但是我已经处理了那部分,数据传输成功。困难的部分是构建驱动程序,将游戏手柄的输入提交给实际游戏。
驱动程序控制硬件,并且驱动程序是在操作系统级别编写的,并处理操作系统特定的硬件处理方式。没有通用的跨平台方式来编写驱动程序,因为每个不同的操作系统在内核级别的工作方式不同。
Windows 驱动程序和 Linux 驱动程序以不同的方式编写,因为它们处理硬件的方式不同。
您必须为要支持的每个操作系统编写驱动程序。
最好的方法应该是让您的设备显示为蓝牙人机接口设备:我相信主流商业设备就是这样做的。
操作系统可以为 HID 类设备提供通用驱动程序支持,这就是预定义设备类的重点。
就像 Unix 最初建议的那样:如果您的设备与操作系统内置的块或字符设备驱动程序代码兼容,那么您的设备将是“兼容的”。