Skip to content
/ uhid-fs Public
forked from danstiner/rust-u2f

UHID wrapper

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

sameer/uhid-fs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

270 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

uhid-fs

uhid-fs provides a safe wrapper around uhid-sys

What is UHID?

UHID lets you write userspace drivers for HID devices in Linux. No need for a kernel module, just run your program and you can register an HID device.

There are a lot of things you can do with this, to name a few:

  • Emulate a mouse/keyboard for shortcuts/macros/task automation (independent of X11/Wayland/system console)
  • Add support for HID devices that are only supported on Windows / other platforms
  • Write drivers for a new HID device (i.e. DIY Arduino water touchpad)

Kernel Docs Description

UHID allows user-space to implement HID transport drivers. Please see hid-transport.html for an introduction into HID transport drivers. This document relies heavily on the definitions declared there.

With UHID, a user-space transport driver can create kernel hid-devices for each device connected to the user-space controlled bus. The UHID API defines the I/O events provided from the kernel to user-space and vice versa.

See the Kernel UHID doc page for a full explanation of the mechanics.

Examples

See the example folder. Sending a newline will make the mouse move to the right.

See sameer/gearvr-controller-uhid for a real-world use case.

About

UHID wrapper

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 100.0%