I was wondering if anybody out there has had experience writing keyboard device drivers. I know the basics of how keyboard interrupts work however don't really know the details of everything. Is it difficult? Too difficult for one person?
I ask this because recently I purchased a Apple keyboard and the windows driver doesn't seem to recognize a lot of keys. Also if you know an easier solution to solve this other than writing a driver I would appreciate that as well. (I've already tried SharpKeys, seems like it's a windows driver problem that it can't recognize certain scan codes)
Some keyboards require proprietary Windows-based drivers to access advanced features of your keyboard, such as media controls and hot-keys. These drivers are available on the CD that accompanied your keyboard, but you can also acquire them from the manufacturer's website.
Here is what you will need to write the device driver for Windows:
If you can find the source for a very similar driver or the driver on another platform this might become doable, otherwise...
If you are interested in device drivers, try starting by writing a software-only driver. It will most likely be just a "toy", but you can do some really neat stuff in the kernel so maybe its worth having a toy driver. You can communicate between a user-mode .exe and your driver with an IOCTL. Maybe eventually you can update it into a software-only keyboard emulating driver, then try to upgrade it into the actual keyboard device driver that you want.
Found a thread about software-only keyboard drivers: http://www.osronline.com/showthread.cfm?link=119885
Maybe this is useful: http://www.osronline.com/ddkx/intinput/i8042ref_9eb6.htm
Update: Hyper-V is available for all Windows 8 users, and should largely eliminate the "second PC" requirement. You can run your driver on a VM and connect the kernel debugger to it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With