Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

MuNET-OSS/tauri-plugin-hid

Open more actions menu
 
 

Repository files navigation

Tauri Plugin HID

Tauri plugin to provide access to USB HID devices.

Uses hidapi-rs on MacOS, Windows and Linux.

Uses Android UsbManager on Android.

⚠️ Warning: Work in Progress ⚠️

Features:

  • Enumerate devices
  • Open multiple devices simultaneously
  • Read and write input and output reports

Limitations:

  • Feature reports not supported yet
  • Currently only tested on macOS, Windows and Android.

Installation

Install the plugin with cargo:

cd src-tauri
cargo add tauri-plugin-hid

Alternatively add the dependency directly to Cargo.toml:

[dependencies]
tauri-plugin-hid = "0.1.1"

Install the ts/js api:

npm add @redfernelec/tauri-plugin-hid-api

Add the plugin to src-tauri/src/lib.rs, for example:

tauri::Builder::default()
    .plugin(tauri_plugin_opener::init())
    .plugin(tauri_plugin_hid::init())   // Register hid plugin
    .run(tauri::generate_context!())
    .expect("error while running tauri application");

Add permisions to src-tauri/capabilities/default.json:

"permissions": [
    "core:default",
    "opener:default",
    "hid:default"
]

Example usage in Frontend

Basic usage:

import { HidDevice, enumerate } from "@redfernelec/tauri-plugin-hid-api";

let myDevice: HidDevice | null = null;

// Enumerate devices and find one based on product string
let devices = await enumerate();
for (const device of devices) {
    if (device.productString === "My Device") {
        myDevice = device;
        break;
    }
}

if(myDevice) {
    await myDevice.open();
    await myDevice.write(new Uint8Array([0x00, 0x00]));
    let data = await myDevice.read(2);
    await myDevice.close();
}

An example Vue app is also included in examples/tauri-plugin-hid-vue-example.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 43.0%
  • Rust 41.5%
  • TypeScript 13.9%
  • JavaScript 1.6%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.