Merge changes I330e3b14,I72faa4bb,I7bb0fb23

* changes:
  Use switch statement for report types
  Use a separate writeEvent function
  Use unique_fd for uhid device