写设备驱动程序?

我想知道我是否理解正确

说,如果我想控制我的鼠标如何工作,即左button打开窗口,右button发送按键“A”等。

但是我不是在申请中写下如下的东西:

void MouseDown(xxxxEventArgs e, sender object) { } 

我想完全控制设备如何工作,那么我将需要为它写一个驱动程序? 从我之前在汇编中学到的东西,控制一个设备,我应该需要知道他们的端口与设备通信。 但是,如果我买了一个罗技鼠标,是否可以自己编写一个鼠标驱动程序来使用它?

因为我看到一些项目,他们从商店购买一个USBnetworking摄像头,他们可以控制networking来旋转,从networking摄像头接受图像,我不知道这是因为networking摄像头提供了API的他们?

提前致谢。

如果你想控制整个设备,那么你需要写一个设备驱动程序。 这是一个不平凡的任务,你应该阅读它。 这里和这里有一个关于windows驱动程序开发的书。

如果你想写设备驱动程序,你应该非常精通C和/或C ++。

你不需要为你正在做的事情写一个设备驱动程序。设备驱动程序除了可以读取,写入,执行IOMMU等或其他东西的寄存器的设备地址的数据表之外什么都没有。你将需要的是某种你正试图实现的东西的应用程序部分的黑客攻击。

因为设备驱动程序代码只是从设备读取数据并写回来,所以它是关心它的应用程序。尽管在某些情况下,设备驱动程序员为应用程序员提供了一个方法(函数),以便他们可以编写应用程序并调用这些方法在你的情况下,你只需要理解应用程序代码是如何与设备驱动程序通话的。 如果你想写一个设备驱动程序检查这个http://www.freesoftwaremagazine.com/articles/drivers_linux?page=0%2C0