I'm getting to the point where, after a year or so, I'm more or less comfortable using Linux (Ubuntu, first 8.04, now 9.04) as my main OS (it helped that the competition was, primarily, Vista). I can't shake the feeling that I should learn more about the workings under the hood.
I'm relatively inexperienced in programming (I can write simple C, C++, Python and Perl -albeit with some hand-holding), but I'd like to start learning how to put together a device driver. Primarily because I'm tempted to buy Apple's new Magic Mouse, and I imagine that there's likely no Linux driver as yet.
I'm happy to use books, websites, magazine articles (if I can get hold of them), but I just wondered if there's anyone out there that has a particular source that helped them get started?
Obviously this is Community Wiki, since it's such a vague and subjective question.
Any and all help, and suggestions, gratefully received. =)
(Also, I accept that writing a driver may be a bit like learning to ride a unicycle before learning to walk, but...I figure that the learning curve should/might be interesting.)