Add support for many more devices (closes #39 #50 #51 #52 #53).