{"id":41294191,"url":"https://github.com/shubham0x13/ffbeast-wheel-webhid-api","last_synced_at":"2026-01-23T04:04:57.789Z","repository":{"id":332726636,"uuid":"1126819895","full_name":"shubham0x13/ffbeast-wheel-webhid-api","owner":"shubham0x13","description":"WebHID based API for FFBeast Wheel","archived":false,"fork":false,"pushed_at":"2026-01-15T07:35:58.000Z","size":151,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-15T14:24:41.347Z","etag":null,"topics":["api","ffb","ffbeast","force-feedback","usb-hid","wheel"],"latest_commit_sha":null,"homepage":"https://shubham0x13.github.io/ffbeast-wheel-webhid-api/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shubham0x13.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-02T16:27:51.000Z","updated_at":"2026-01-15T07:30:42.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/shubham0x13/ffbeast-wheel-webhid-api","commit_stats":null,"previous_names":["shubham0x13/ffbeast-wheel-webhid-api"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/shubham0x13/ffbeast-wheel-webhid-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shubham0x13%2Fffbeast-wheel-webhid-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shubham0x13%2Fffbeast-wheel-webhid-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shubham0x13%2Fffbeast-wheel-webhid-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shubham0x13%2Fffbeast-wheel-webhid-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shubham0x13","download_url":"https://codeload.github.com/shubham0x13/ffbeast-wheel-webhid-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shubham0x13%2Fffbeast-wheel-webhid-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28679583,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T04:02:18.746Z","status":"ssl_error","status_checked_at":"2026-01-23T04:01:41.298Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","ffb","ffbeast","force-feedback","usb-hid","wheel"],"created_at":"2026-01-23T04:03:02.141Z","updated_at":"2026-01-23T04:04:57.782Z","avatar_url":"https://github.com/shubham0x13.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FFBeast Wheel WebHID API\n\nA TypeScript WebHID-based API for communicating with [FFBeast](https://ffbeast.github.io/) force feedback wheel controllers directly from the browser.\n\nThis library is a TypeScript rewrite of the original C/C++ API, adapted to use the [WebHID API](https://developer.mozilla.org/en-US/docs/Web/API/WebHID_API) for browser-based applications. The original C/C++ source code is available in the [`reference_cpp`](https://github.com/shubham0x13/ffbeast-wheel-webhid-api/tree/main/reference_cpp) directory for reference.\n\n\u003e **Note:** This API includes additional helper methods and properties not present in the original C/C++ implementation, such as `readAllSettings()`, `positionDegrees`, `torqueNormalized`, and more for convenience.\n\n## Features\n\n- 🎮 **Direct wheel communication** via WebHID (no drivers or native apps required)\n- 📊 **Real-time device state** - position, torque, firmware version\n- ⚙️ **Full settings control** - effect settings, hardware settings, GPIO, ADC configurations\n- 🔧 **Direct force feedback control** - spring, constant, and periodic forces\n- 📡 **Event-driven architecture** - subscribe to device state changes\n- 🔒 **Type-safe** - full TypeScript support with comprehensive types\n\n## Documentation\n\n📚 **[Full API Documentation](https://shubham0x13.github.io/ffbeast-wheel-webhid-api/)**\n\n## Browser Support\n\n\u003e **Note:** Supported in all modern Chromium-based browsers (e.g., Chrome, Edge, Opera, Brave, etc).\n\n| Browser        | Supported |\n| -------------- | --------- |\n| Chromium-based | ✅        |\n| Firefox        | ❌        |\n| Safari         | ❌        |\n\n## Installation\n\n```bash\nnpm i @shubham0x13/ffbeast-wheel-webhid-api\n```\n\n## Quick Start\n\n```typescript\nimport { WheelApi } from \"@shubham0x13/ffbeast-wheel-webhid-api\";\n\nconst wheel = new WheelApi();\n\nwheel.on(\"stateReceived\", (state) =\u003e {\n  console.log(\"Position:\", state.positionDegrees);\n  console.log(\"Torque:\", state.torqueNormalized);\n});\n\nwheel.on(\"deviceConnected\", (device) =\u003e {\n  console.log(\"Connected to:\", device.productName);\n});\n\n// Connect to the wheel (opens browser device picker)\nawait wheel.connect();\n\n// Cleanup when done\nawait wheel.disconnect();\nwheel.destroy();\n```\n\n## Requirements\n\n- Node.js \u003e= 20.19.0\n- A Chromium-based browser with WebHID support\n- An FFBeast wheel controller\n\n## License\n\nThis project is licensed under the [MIT License](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshubham0x13%2Fffbeast-wheel-webhid-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshubham0x13%2Fffbeast-wheel-webhid-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshubham0x13%2Fffbeast-wheel-webhid-api/lists"}