{"id":51528331,"url":"https://github.com/timschneeb/kdeconnect-nx","last_synced_at":"2026-07-09T00:01:11.594Z","repository":{"id":363182263,"uuid":"1235510553","full_name":"timschneeb/kdeconnect-nx","owner":"timschneeb","description":"KDE Connect client for Nintendo Switch implemented as a sysmodule and an ultrahand overlay","archived":false,"fork":false,"pushed_at":"2026-06-07T20:21:16.000Z","size":9425,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-07T20:21:57.303Z","etag":null,"topics":["homebrew","kde","kde-connect","nintendo-switch","nintendo-switch-homebrew","remote-control","remote-input","switch","switch-homebrew","sysmodule","tesla-overlay","ultrahand-overlay"],"latest_commit_sha":null,"homepage":"","language":"C++","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/timschneeb.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-05-11T11:50:47.000Z","updated_at":"2026-06-07T20:16:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/timschneeb/kdeconnect-nx","commit_stats":null,"previous_names":["timschneeb/kdeconnect-nx"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/timschneeb/kdeconnect-nx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timschneeb%2Fkdeconnect-nx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timschneeb%2Fkdeconnect-nx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timschneeb%2Fkdeconnect-nx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timschneeb%2Fkdeconnect-nx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timschneeb","download_url":"https://codeload.github.com/timschneeb/kdeconnect-nx/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timschneeb%2Fkdeconnect-nx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35281841,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-08T02:00:06.796Z","response_time":61,"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":["homebrew","kde","kde-connect","nintendo-switch","nintendo-switch-homebrew","remote-control","remote-input","switch","switch-homebrew","sysmodule","tesla-overlay","ultrahand-overlay"],"created_at":"2026-07-09T00:01:10.892Z","updated_at":"2026-07-09T00:01:11.498Z","avatar_url":"https://github.com/timschneeb.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KDE Connect NX\n\nA lightweight [KDE Connect](https://kdeconnect.kde.org/) implementation for the Nintendo Switch written from scratch.\nRuns as a background sysmodule with an Ultrahand overlay, and pairs with any KDE Connect client present in the same local network.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"screenshots/example_notification_half.jpg\" alt=\"Notification pop-up on Switch home screen\" width=\"400\" /\u003e\n  \u003cimg src=\"screenshots/overlay_main_half.jpg\" alt=\"Overlay on Switch home screen\" width=\"400\" /\u003e\n\u003c/p\u003e\n\nMore screenshots [below](#screenshots).\n\n## Features\n\nNot all KDE Connect plugins are implemented. Some plugins are only implemented in one direction.\n\nFrom your phone, tablet, PC to your Switch:\n\n- **Receive notifications (from Android/PC)**\n  - (Notification sharing is disabled by default on PC. Enable it in the plugin settings)\n- **Remote keyboard**\n  - Inject USB keyboard strokes on the Switch from another device\n  - (Limitation: An US English USB keyboard is simulated, so only characters present on a US keyboard can be injected.)\n- **Remote commands**\n  - Control the Switch with some hardcoded commands (power control, send screenshot to PC/phone, etc.)\n- **Volume control**\n  - Remote control the master volume level of your Switch\n- **File transfer**\n  - Send files to your Switch's SD card (just implemented for completeness' sake, for most use-cases sys-ftpd is better)\n\nFrom your Switch to your other devices:\n\n- **Media playback remote controls**\n- **Remote commands (PC only)**\n  - Trigger predefined commands on a connected PC (custom shell commands; requires setup on the PC)\n- **Audio output control (PC only)**\n  - Remotely choose between audio devices and set the volume level for each one\n- **Send screenshot**\n  - Take a screenshot and send it to a device\n- **Ring device**\n\nIn both directions:\n\n- **Battery status**\n- **Ping devices** (for testing)\n\n## Installation\n\n* Install the [Ultrahand-Overlay](https://github.com/ppkantorski/Ultrahand-Overlay), if you haven't already\n  * Ultrahand is a fork of Tesla. Tesla does not support notifications and is not compatible with this application! \n* Download the [latest release](https://github.com/timschneeb/kdeconnect-nx/releases) of this project\n* Extract the ZIP on the SD card of your Switch\n* Reboot\n\n\u003e[!NOTE]\n\u003eThe sysmodule that handles all of the networking, TLS encryption, and plugins consumes 2.7MB of memory from the system pool in total.\n\n### Connecting to other devices\n\n* Visit this page to install KDE Connect on your other devices: https://kdeconnect.kde.org/download.html\n* The KDE Connect clients will automatically discover each other.\n* Open the overlay named 'KDE Connect NX' via Ultrahand\n* After starting the pairing process in the overlay, you need to accept the pair request within 30 seconds.\n\n\u003cdetails\u003e\n\u003csummary\u003eConnection problems? (Click here to expand)\u003c/summary\u003e\n\n\u003e* Your devices must be connected to the same WiFi network\n\u003e* Some networks (especially public or shared ones) have client isolation enabled; KDE Connect will not be able to communicate with other devices on these networks.\n\u003e* Restart the sysmodule (in the overlay, navigate to: `Settings \u003e Kill sysmodule`)\n\u003e* KDE Connect uses dynamic ports in the range 1714-1764 for UDP and TCP. So if you are behind a firewall, [make sure to open this port range for both TCP and UDP](https://userbase.kde.org/KDEConnect#I_have_two_devices_running_KDE_Connect_on_the_same_network,_but_they_can't_see_each_other). Otherwise, make sure your network is not blocking UDP broadcast packets.\n\u003e* The system time on your Switch must be correct to pair devices, otherwise the SSL certificate exchange will fail. If you have updated the system time, you need to restart the sysmodule to apply the change to it.\n\u003e* Check that the KDE Connect apps are updated to the latest version. This implementation does not support older KDE Connect clients.\n\u003e* Check the log file at `/atmosphere/logs/kdeconnect_sysmodule.log` for error messages if it still does not find any device.\n\n\u003c/details\u003e\n  \n\u003e[!IMPORTANT]\n\u003ePlease note that some features are not implemented on all platforms. \n\u003eYou will have the best experience with Android \u0026 Linux. The Windows client is also very capable. \n\u003e\n\u003eFor macOS there is currently only a nightly version available, and on iOS the implementation is very limited due to Apple's locked down ecosystem (it cannot run in background at all). I have not tested the macOS \u0026 iOS client with this sysmodule.\n\n## Screenshots\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"screenshots/remote_keyboard_demo.gif\" alt=\"Remote keyboard input\"/\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003eRemote keyboard input\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"screenshots/overlay_main_crop.jpg\" alt=\"Device list\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"screenshots/overlay_device_crop.jpg\" alt=\"Device actions\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"screenshots/overlay_media_remote_crop.jpg\" alt=\"Media remote\"/\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003eDevice list\u003c/td\u003e\n    \u003ctd align=\"center\"\u003eDevice actions\u003c/td\u003e\n    \u003ctd align=\"center\"\u003eMedia remote\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"screenshots/overlay_commands_crop.jpg\" alt=\"Remote commands\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"screenshots/overlay_sinks_crop.jpg\" alt=\"Volume control\"/\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"screenshots/overlay_settings_crop.jpg\" alt=\"Settings\"/\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003eRemote commands\u003c/td\u003e\n    \u003ctd align=\"center\"\u003eVolume control\u003c/td\u003e\n    \u003ctd align=\"center\"\u003eSettings\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n## Building from sources\n\nRefer to [BUILDING.md](BUILDING.md) for detailed build instructions and development environment setup recommendations.\n\n## License\n\nLicensed under GPLv3.\n\nExceptions:\n* `sysmodule/src/ipc/ipc_server.*`: THE BEER-WARE LICENSE (Thanks to [retronx-team](https://github.com/retronx-team/sys-clk)!)\n* `tools/nxlink/nxlink.c`: ISC license (Thanks to [switchbrew](https://github.com/switchbrew/switch-tools)!)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimschneeb%2Fkdeconnect-nx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimschneeb%2Fkdeconnect-nx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimschneeb%2Fkdeconnect-nx/lists"}