[Question] To control USB devices directly from a browser
@diuming is already working on this.
Since Apr 23, 2026.
Assessment
This issue has not been assessed yet.
Description
Hi,
I've successfully communicated and controlled my USB device within a browser using Emscripten + libusb (compiled into a static library by Emscripten).
Most of code (communication and control) is written in C, and Emscripten compiles it into JavaScript and wasm.
I am specifically concerned about the WebUSB bridging, as Emscripten provides a built-in layer for libusb, which SwiftWasm might lack.
Is it possible to convert this communication and control C code to Swift using Swift SDKs for WebAssembly?
Browser communicate with USB Device?
`My Swift code` + `Swift SDKs for WebAssembly` + `Emscripten libusb static library`
- Dominant language
- Swift
- Stars
- 986
- Forks
- 76
- Avg merge
- 21h 11m
- Merged PRs (30d)
- 4
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from swiftwasm/JavaScriptKit
-
Difficulty 3/5 1-2 days Newbie friendliness 55/100
swiftwasm/JavaScriptKit#793 ·
-
swiftwasm/JavaScriptKit#785 · 1 assignee ·
-
[SwiftBuild] Preserve duplicate archive members when SwiftBuild expands static archives for linking Open
Difficulty 4/5 3-5 days Newbie friendliness 48/100
swiftwasm/JavaScriptKit#781 · 3 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
swiftwasm/JavaScriptKit#773 ·
-
swiftwasm/JavaScriptKit#767 · 1 assignee ·
All issues in swiftwasm/JavaScriptKit
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
manaflow-ai/cmux#13763 ·
-
type: feature request
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
googleapis/google-cloud-swift#1036 · 1 comment ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
wultra/mtoken-sdk-ios#253 ·
-
area:dictation documentation P2
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
uttrflow/uttrflow-swift#1180 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100