{"id":13814476,"url":"https://github.com/donn/nudelta","last_synced_at":"2025-05-15T20:07:42.963Z","repository":{"id":62736366,"uuid":"551293979","full_name":"donn/nudelta","owner":"donn","description":"Open source NuPhy Console alternative","archived":false,"fork":false,"pushed_at":"2025-03-23T23:54:30.000Z","size":2390,"stargazers_count":548,"open_issues_count":21,"forks_count":26,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-04-19T02:16:07.949Z","etag":null,"topics":["air75","console","halo75","keyboard","linux","nuphy","remap"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/donn.png","metadata":{"files":{"readme":"Readme.md","changelog":"Changelog.md","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}},"created_at":"2022-10-14T06:24:26.000Z","updated_at":"2025-04-15T03:33:52.000Z","dependencies_parsed_at":"2024-08-04T04:05:56.155Z","dependency_job_id":"f1a53790-daa6-47d2-8817-bcbd7f3f8620","html_url":"https://github.com/donn/nudelta","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/donn%2Fnudelta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/donn%2Fnudelta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/donn%2Fnudelta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/donn%2Fnudelta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/donn","download_url":"https://codeload.github.com/donn/nudelta/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254414501,"owners_count":22067272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["air75","console","halo75","keyboard","linux","nuphy","remap"],"created_at":"2024-08-04T04:01:59.685Z","updated_at":"2025-05-15T20:07:37.945Z","avatar_url":"https://github.com/donn.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e ν∂ / Nudelta \u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://opensource.org/licenses/GPL-3.0\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-GPLv3-blue.svg\" alt=\"License: GPLv3\"/\u003e\u003c/a\u003e\n    \u003cimg src=\"https://github.com/donn/nudelta/actions/workflows/ci.yml/badge.svg?branch=main\" alt=\"CI Status\" /\u003e\n\u003c/p\u003e\n\n\n\u003e Note: This software is in beta. NuPhy® is a registered trademark of NuPhy Studio.\n\u003e Nudelta is an unofficial product and is not affiliated with NuPhy Studio. \n\n\n\n\u003ch3 align=\"center\"\u003e\n\n[Download](https://github.com/donn/nudelta/releases/latest)\n\n\u003c/h3\u003e\n\n\n![Screenshot of Nudelta Console](./res/screencap.png)\n\nAn open-source alternative to the [NuPhy Console](https://nuphy.com/pages/nuphy-console) created by reverse-engineering the keyboards' USB protocol.\n\nWhat this has:\n* Support for NuPhy Air75 and Halo75 on Windows 10+, macOS 11+, and Linux\n* Loading and saving keymap modifications from a `.yml` configuration file\n* The ability to back up and dump keymaps to binary formats (CLI)\n* The ability to dump keymaps to a human-readable hex format (CLI)\n\nWhat this DOESN'T have:\n* Macros\n* Support for Air60, Halo65, etc.\n    * I don't have them.\n* RGB Control\n    * I don't need that, personally.\n\nContributions are super appreciated for all of these.\n\n\n## Running Requirements\n* Windows 10 or higher\n* macOS 13 or higher\n* Linux 2.6.39 or higher with glibc 2.17 or higher.\n\n### Build Requirements\n* C++17 Compiler\n    * Clang recommended for macOS/Linux\n    * MSVC recommended for Windows\n* Cmake\n* Node 14+ with Yarn\n\n## Build\n\n```sh\ngit clone https://github.com/donn/nudelta\ncd nudelta\ngit submodule update --init --recursive\nrm -rf build\nyarn\nyarn build-native # CLI / Library\nyarn build # GUI\n```\n\nThe Linux AppImage will be found under ./dist, and the Mac app will be found under ./dist/mac.\n\n## Using the CLI\n\nYou will need to use **sudo** on Linux. On macOS, you will need to grant Input Monitoring permissions to whichever Terminal host you're using to run Nudelta, likely Terminal.app.\n\nNo special permissions are required on Windows as far as I can tell.\n\n### Load a custom profile\n\n```sh\nnudelta -l ./donns_remap.yml\n```\n\nThe configuration .yml file is simple: there's a top level object called \"keys\": which is a map of physical keys on the actual keyboard to their replacements:\n\n```yml\nkeys:\n    capslock: esc\n```\n\nSee [example.yml](example.yml) for a profile and somewhat more detailed examples.\n\nYou can find a list of:\n  * Replaceable keys (for the Windows mode) in [res/air75/indices_win.yml](res/Air75/indices_win.yml).\n  * Replacement keycodes in [res/air75/default_keymap_win.yml](res/Air75/default_keymap_win.yml).\n\n### Reset keymap to default\n```sh\nnudelta -r\n```\n\n## License\nThe GNU General Public License v3 or, at your option, any later version. Check '[License](/License)'.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdonn%2Fnudelta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdonn%2Fnudelta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdonn%2Fnudelta/lists"}