写驱动有什么捷径吗?

我买了个蓝牙遥控器,发现就是个遥控器形态的蓝牙键盘。这就与普通键盘无法区分了,因为键盘钩子无法获取硬件名。
于是我找到 Interception 这个工具,它是个驱动,我对驱动没有常识,理解它是在硬件和普通驱动之间建立了一个中间层。
它还提供一个Interception.dll,使其与这个中间层通信。
而我使用的AutoHotkey 库也使用了一个 AutoHotInterception.dll 调用 Interception.dll。
也就是说,中间层有3层。
好在,Interception.dll有源码,我看了下,发现只是在调用 DeviceIoControl() 而已。
然后我就平替了后两层,只剩下这个驱动本身。
如果它也平替了,这不就如同把 AutoHotkey 的热键在驱动里实现,岂不妙哉。
问题是我在 github 搜索了圈,也没找到可以抄作业的
问GPT,给的答复也非常繁琐

那么,写驱动有什么捷径吗?可以抄作业那种

不懂幫頂。

不懂,但是有个思路,网上有不少大神,比如B站的地精康回,通过单片机ESP32来驱动黑莓手机键盘,然后单片机蓝牙与主机相连接,这样是不是能够回避键盘主机驱动的问题。

关键在于如何修改别人的代码,然后打包到自己写的软件里。

到ioctrl这一步就可以了,再往下写驱动往往要和内核与硬件打交道了。

而且很多驱动要有硬件的寄存器等参数才能完成。

windows的驱动我不太懂,linux的驱动基本上都是开源的,如果类比过来其实是可以将原来的蓝牙驱动改个名字,新建一个其他的设备来单独使用。