udev devices may not have all the attributes; fixes #93
use () instead of [] where possible
K800: added support for hand detection