You probably don't need to write a driver if the controller plugs into the Xbox's controller port.  You can just download the Xbox controller drivers written by others.<p>That said, you may find the following resources useful (I certainly have):<p>Linux Device Drivers (a very helpful book, but the kernel API has changed a bit since its release):<p><a href="http://lwn.net/Kernel/LDD3/" rel="nofollow">http://lwn.net/Kernel/LDD3/</a><p>Windows Driver Development Kit (use Google to find the XP or Server 2003 versions if you need to develop for XP):<p><a href="http://www.microsoft.com/whdc/devtools/WDK/default.mspx" rel="nofollow">http://www.microsoft.com/whdc/devtools/WDK/default.mspx</a><p>libusb (write cross-platform USB drivers without touching kernel code):<p><a href="http://www.libusb.org/" rel="nofollow">http://www.libusb.org/</a><p><a href="http://libusb-win32.sourceforge.net/" rel="nofollow">http://libusb-win32.sourceforge.net/</a><p>If you want to create a new device that's worth writing drivers for, start here (the USB Bit Whacker):<p><a href="http://www.sparkfun.com/commerce/product_info.php?products_id=762" rel="nofollow">http://www.sparkfun.com/commerce/product_info.php?products_i...</a><p><a href="http://www.curdes.com/gnupic/GnuPic.html" rel="nofollow">http://www.curdes.com/gnupic/GnuPic.html</a><p><a href="http://www.microchip.com/forums/tm.aspx?m=123533" rel="nofollow">http://www.microchip.com/forums/tm.aspx?m=123533</a>