In Chrome the browser will not provide such access to the system. The correct way would be to have an external program collecting the data and communicating with the browser add-on. It is achieved through Native Messaging.
Note that you will not be able to bundle the external program with the extension; you'll need to have your own installer.
Edit: I have to comment that @abraham's answer is perhaps more correct. You can have raw USB access in a context of a Packaged App.