{"id":34955696,"url":"https://github.com/worklouder/input-linux","last_synced_at":"2026-01-18T08:41:46.450Z","repository":{"id":290631653,"uuid":"974922390","full_name":"worklouder/input-linux","owner":"worklouder","description":"This project is an unofficial community-developed port of the Input application, intended for use on Linux systems.","archived":false,"fork":false,"pushed_at":"2026-01-14T23:55:40.000Z","size":199,"stargazers_count":9,"open_issues_count":1,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-15T07:22:30.146Z","etag":null,"topics":["input","linux","worklouder"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/worklouder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-04-29T14:04:14.000Z","updated_at":"2026-01-03T11:50:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"b2749b7e-28f4-4faf-a2c2-7bc245718235","html_url":"https://github.com/worklouder/input-linux","commit_stats":null,"previous_names":["worklouder/input-linux"],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/worklouder/input-linux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/worklouder%2Finput-linux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/worklouder%2Finput-linux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/worklouder%2Finput-linux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/worklouder%2Finput-linux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/worklouder","download_url":"https://codeload.github.com/worklouder/input-linux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/worklouder%2Finput-linux/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28534148,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["input","linux","worklouder"],"created_at":"2025-12-26T22:01:03.326Z","updated_at":"2026-01-18T08:41:46.428Z","avatar_url":"https://github.com/worklouder.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Input - Linux Version\n\n## ⚠️ Disclaimer\n\nThis project is an **unofficial community-developed** port of the Input application, intended for use on Linux systems.\n\nWhile this project has been acknowledged and welcomed by Work Louder Inc., it is **not officially supported** or maintained by them. As such, functionality and stability are not guaranteed.\n\n### Important Notes\n\n- This software is provided **\"as is\"**, without any warranties, express or implied.\n- Use at your own risk.\n- **Work Louder does not guarantee the safety, integrity, or reliability of any files downloaded from this repository or related sources.** Users are responsible for reviewing and validating the software before installation.\n- Work Louder cannot be held liable for any damages or legal claims resulting from the use or distribution of this software.\n\nBy using, copying, modifying, or distributing this software, **you agree to these terms**.\n\n---\n\n## Usage\n\nYou have two options for using Input on Linux:\n\n### Option 1: Download Prebuilt AppImage\n\nThe easiest way to get started is by visiting the [Releases Page](https://github.com/worklouder/input-linux/releases) and downloading the latest `.AppImage`.\n\nMake the AppImage executable and run it:\n\nWe recommend using a tool like [Gear Lever](https://flathub.org/apps/it.mijorus.gearlever)\n\nYou may need FUSE in order for the AppImage to run.\n\n```bash\nsudo apt install libfuse2\nchmod +x Input-*.AppImage\n./Input-*.AppImage\n```\n\n---\n\n### Option 2: Build It Yourself\n\nThis option is for users who want to rebuild the application from the official Windows installer.\n\n### Requirements\n\nBefore running the setup script, ensure the following tools are installed and accessible in your `$PATH`:\n\n| Tool             | Purpose                                         | Ubuntu/Debian Install Command                         |\n|------------------|--------------------------------------------------|--------------------------------------------------------|\n| `curl`           | Download files over HTTP(S)                      | `sudo apt install curl`                               |\n| `7z`             | Extract `.exe` and `.7z` archives (`p7zip-full`) | `sudo apt install p7zip-full`                         |\n| `node`           | JavaScript runtime                               | `sudo apt install nodejs`                             |\n| `npm`            | Node.js package manager                          | `sudo apt install npm`                                |\n| `asar`           | Extract and repack `.asar` Electron archives     | `sudo npm install -g asar`                            |\n| `build-essential`| Required for compiling native modules            | `sudo apt install build-essential`                    |\n| `python3.11`     | Compatible Python version with venv support      | `sudo apt install python3.11 python3.11-venv`         |\n| `git`            | Used to clone the repository (optional)          | `sudo apt install git`                                |\n\nInstall them all in one step:\n\n```bash\nsudo apt update\nsudo apt install curl p7zip-full nodejs npm build-essential python3.11 python3.11-venv git\nsudo npm install -g asar\n```\n\n---\n\n### 🛠️ Build Process\n\nThe setup script now:\n\n- Creates a virtualenv with Python 3.11+ to ensure a compatible `distutils` environment\n- Installs `setuptools` and a shim for `distutils` to work with modern Python\n- Rebuilds native modules like `node-hid` using the patched environment\n- Applies community patches into `./input-app/`\n- Launches the app with Electron\n\nRun it:\n\n```bash\ngit clone https://github.com/worklouder/input-linux.git\ncd input-linux\nbash input4linux-0.8.2.sh\n```\n\nLaunch the app:\n\n```bash\n./input-app/start.sh\n```\n\n---\n\n## Optional: Udev Rule Setup\n\nInstall the necessary udev rules to allow access to your Work Louder device:\n\nInput *should* automatically create these for you.\n\n```bash\ncurl -sSL https://raw.githubusercontent.com/worklouder/input-linux/main/patch/dist-electron/scripts/install-udev-worklouder.sh | sudo bash\n```\n\nAfterward, **unplug and replug your keyboard** before launching the app.\n\n---\n\n## Troubleshooting\n\n- If `node-hid` fails to build and you’re using Python 3.12 or newer, ensure the build script properly activates its virtualenv.\n- Use Python 3.11+ for best compatibility with `node-gyp`.\n- If the app launches but doesn’t detect your device, ensure udev rules are installed (see above).\n- The build script defaults to `TEST_MODE=true`, which skips over non-critical errors. You can run it in strict mode like this:\n\n```bash\nTEST_MODE=false ./input4linux-0.8.2.sh\n```\n\n- If you were previously using `npm config set python`, that’s no longer needed. The build script uses `export PYTHON=...` automatically now.\n\n---\n\n## Contributions\n\nPull requests are welcome. This project is maintained on a best-effort basis by the community.\n\n---\n\n## License\n\nThis project does not claim ownership of Input. Input is a product of Work Louder Inc. This port is provided under an unofficial and permissive approach intended to help Linux users make use of their devices. Refer to the individual license files, if applicable.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworklouder%2Finput-linux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fworklouder%2Finput-linux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworklouder%2Finput-linux/lists"}