从需求来看,我们需要一个可以接受控制命令的鼠标,不管它是硬件还是软件。不过,这里我们是立足于整个辅助项目,把鼠标宏部分单独作为一个子项目,所以这篇文档更类似于总结要怎么做一个我们需要的子部件。
作为一个项目的子项目,要考虑成本、收益、周期、稳定性这几个足以影响项目成败的根本因素的,简单的说,就是成本低、收益高、周期短、稳定性强,实际开发中可能无法同时达到,那么就需要取舍,例如说相对于开发周期一个月来说,一个星期的开发时间导致的成本升高是可以接受的;如果能带来足够高的收益,那么周期足够长又是可以接受的。我认可的原则是,在设定了总体收益的情况下,会选择对于开发者最有利的方案;而不是选择对使用者最有利的方案。
1. 虚拟鼠标的方案会被排除一部分,在本地编写虚拟鼠标,100%会被游戏厂家发现的,不过这个方案里面的过滤驱动和设备栈两方面是可以使用的,所以我后面也特意编写了虚拟设备使用的驱动和SDK。因为这里涉及到具体游戏辅助针对的游戏具体使用的方案问题。
2. 在实践中,使用开发板的方案取得实际成功的案例比较多,事实上我自己更喜欢选择Arm类的开发板,这是因为可以顺便熟悉linux平台的系统开发,同时时间也比较合适,1~2周左右。不会造成太大的延迟。
根据1和2,我选择的方案就是虚拟鼠标和开发板,一共三套方案,都已经验证过可行了。
这个方案完善之后,我们开始进入下一个阶段,虚拟相机的设计和开发。