Ответ 1
Вот что вам нужно будет написать драйверу устройства для Windows:
- Понимание структуры драйвера wdf (KMDF) и его API (я не рекомендую WDM)
- Второй компьютер (или Hyper-V), который можно использовать для отладки ядра. Загрузите WinDbg, а затем удалите отладочную версию второй машины. Не пытайтесь написать драйвер устройства без возможности его отладки.
- Полная спецификация программного обеспечения для клавиатуры и аппаратного интерфейса. Может быть, эксперт может каким-то образом вывести интерфейс экспериментально, но это может занять много времени. Я думаю, вам удастся переделать драйвер на другой платформе.
Если вы можете найти источник для очень похожего драйвера или драйвера на другой платформе, это может стать выполнимым, в противном случае...
Если вас интересуют драйверы устройств, попробуйте начать с написания программного обеспечения. Скорее всего, это будет просто "игрушка", но вы можете сделать очень аккуратный материал в ядре, поэтому, возможно, стоит иметь игрушечный драйвер. Вы можете общаться между пользовательским режимом .exe и вашим драйвером с помощью IOCTL. Возможно, в конце концов вы сможете обновить его в программном эмуляторе, а затем попытаться обновить его до необходимого драйвера клавиатуры.
Нашел нить о программных клавиатурных драйверах: http://www.osronline.com/showthread.cfm?link=119885
Возможно, это полезно: http://www.osronline.com/ddkx/intinput/i8042ref_9eb6.htm
Обновление: Hyper-V доступен для всех пользователей Windows 8 и должен в значительной степени устранить требование "второго ПК". Вы можете запустить драйвер на виртуальной машине и подключить к нему отладчик ядра.