2010-08-20 11 views
15

Me preguntaba si alguien por ahí ha tenido experiencia escribiendo controladores de dispositivo de teclado. Sé que los conceptos básicos sobre cómo funcionan las interrupciones de teclado no conocen los detalles de todo. ¿Es difícil? ¿Demasiado difícil para una persona?Escribir un controlador de dispositivo de teclado

Pregunto esto porque recientemente compré un teclado Apple y el controlador de Windows no parece reconocer muchas teclas. Además, si conoces una solución más fácil para resolver esto además de escribir un controlador, también lo agradecería. (He intentado ya SharpKeys, parece que es un problema de controlador de Windows que no puede reconocer ciertos códigos de exploración)

+4

+1 por la voluntad de embarcarse en una hazaña de impresionante hackismo. – Mhmmd

+0

Puede intentar ver si es posible usar los controladores incluidos con BootCamp. – Bruno

+0

¿Pensé que BootCamp no era gratis? – Albinoswordfish

Respuesta

11

Esto es lo que tendrá que escribir el controlador de dispositivo para Windows:

  • Un comprensión de la estructura de controladores de WDF (KMDF) y de su API (no recomiendo WDM)
  • Una segunda PC (o Hyper-V) que puede usar para la depuración del kernel. Descargue WinDbg y luego remueva la segunda máquina. No intente escribir un controlador de dispositivo sin una forma de depuración.
  • Una especificación completa del software del teclado < -> interfaz de hardware. Tal vez un experto de alguna manera puede inferir la interfaz de manera experimental, pero esto podría llevar siglos. Creo que tendrías mejor suerte en ingeniería inversa del controlador en la otra plataforma.

Si usted puede encontrar el origen de un conductor muy similar o el conductor en otra plataforma que esto podría llegar a ser factible, de lo contrario ...

Si usted está interesado en los controladores de dispositivo, intente iniciar escribiendo un software -solo conductor. Lo más probable es que sea solo un "juguete", pero puedes hacer algunas cosas realmente buenas en el núcleo, así que tal vez vale la pena tener un controlador de juguete. Puede comunicarse entre un .exe de modo de usuario y su controlador con un IOCTL. Tal vez eventualmente pueda actualizarlo en un controlador de emulación de teclado solo de software, luego intente actualizarlo en el controlador de dispositivo de teclado real que desee.

encontrado un hilo sobre los controladores de teclado de software de sólo: http://www.osronline.com/showthread.cfm?link=119885

Tal vez esto es útil: http://www.osronline.com/ddkx/intinput/i8042ref_9eb6.htm

Actualización: Hyper-V está disponible para todos los 8 usuarios de Windows, y debe eliminar en gran medida la "segunda Requisito de PC ". Puede ejecutar su controlador en una máquina virtual y conectar el depurador de kernel.

Cuestiones relacionadas