我想知道是否有人有编写键盘设备驱动程序的经验。我知道键盘中断的基本原理,但并不了解所有细节。这很难吗?一个人能做到吗?
我问这个问题是因为最近购买了一个苹果键盘,Windows驱动程序似乎无法识别许多按键。如果您知道其他更容易的解决方法而不是编写驱动程序,我也会非常感激。(我已经尝试过SharpKeys,但似乎它是无法识别某些扫描码的Windows驱动程序问题)
我想知道是否有人有编写键盘设备驱动程序的经验。我知道键盘中断的基本原理,但并不了解所有细节。这很难吗?一个人能做到吗?
我问这个问题是因为最近购买了一个苹果键盘,Windows驱动程序似乎无法识别许多按键。如果您知道其他更容易的解决方法而不是编写驱动程序,我也会非常感激。(我已经尝试过SharpKeys,但似乎它是无法识别某些扫描码的Windows驱动程序问题)
以下是编写Windows设备驱动程序所需的内容:
如果你能找到非常相似的驱动程序源代码或其他平台上的驱动程序,则可能会变得可行,否则...
如果你对设备驱动程序感兴趣,请尝试先编写一个仅限软件的驱动程序。它很可能只是一个“玩具”,但你可以在内核中做一些非常棒的事情,因此也许值得拥有一个玩具驱动程序。你可以使用IOCTL在用户模式.exe和你的驱动程序之间进行通信。也许最终你可以将其更新为仅限软件的键盘仿真驱动程序,然后尝试将其升级为你想要的实际键盘设备驱动程序。
发现了有关仅限软件键盘驱动程序的线程: http://www.osronline.com/showthread.cfm?link=119885
也许这很有用:http://www.osronline.com/ddkx/intinput/i8042ref_9eb6.htm
更新:Hyper-V现在适用于所有Windows 8用户,并且应该大部分消除了“第二台电脑”的需求。您可以在虚拟机上运行驱动程序并将内核调试器连接到它。