我正在创建一个触摸板设备(自定义硬件,但类似于 android 设备),它充当类似于Wacom Bamboo的触摸屏绘图板绘图垫。但是,该设备的关键功能不是通过电线或蓝牙将其连接到计算机,而是连接到本地 WiFi 网络并搜索具有开放端口(目前为 5000 用于测试目的)的设备。目前,我有一个用 C 语言编写的客户端,它在启动时会在端口 5000 上打开一个 DatagramSocket 并等待包含标准化 X、Y 和压力的自定义 UDP 数据包。然后,出于测试目的,我将标准化的 X 和 Y 放入 SendInput。SendInput“有效”但是将数据包注入计算机当前鼠标不是我想要的。相反,我希望将它视为一个单独的输入设备,以便像 gimp 这样的程序能够检测到它并根据数据分配自定义功能(即:让 gimp 利用压力数据)。
问题是我不知道从哪里开始创建执行前者的驱动程序。我一直在广泛研究winddk,认为这可能是关键。winddk 的问题是我找不到任何关于使用不是来自 ps/2 或 USB 的数据创建 HID 驱动程序的文档。本教程让我开始考虑使用 IOCTL,但我不确定如何将它们视为输入。
作为旁注,我在标题中说 TCP/UDP 是因为我愿意并出于安全考虑,从 UDP 连接更改为 TCP。
如果有人可以将我推向正确的方向或将我链接到一些相关的文档和示例,那将是很棒的,因为现在我迷路了。谢谢你。