{"id":43890173,"url":"https://github.com/rswilem/winctrl-xplane-plugin","last_synced_at":"2026-05-10T09:16:00.235Z","repository":{"id":303817147,"uuid":"1016771455","full_name":"rswilem/winctrl-xplane-plugin","owner":"rswilem","description":"This plugin allows you to use Winwing devices in X-Plane 12 without the use of SimAppPro.","archived":false,"fork":false,"pushed_at":"2026-01-14T20:03:36.000Z","size":1441,"stargazers_count":26,"open_issues_count":6,"forks_count":9,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-01-15T07:58:32.086Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/rswilem.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":"2025-07-09T13:54:31.000Z","updated_at":"2026-01-14T19:59:14.000Z","dependencies_parsed_at":"2025-08-14T17:15:59.736Z","dependency_job_id":"adccbccf-92d2-45be-9e45-8ed05058153d","html_url":"https://github.com/rswilem/winctrl-xplane-plugin","commit_stats":null,"previous_names":["rswilem/winwing-xplane-plugin","rswilem/winctrl-xplane-plugin"],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/rswilem/winctrl-xplane-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rswilem%2Fwinctrl-xplane-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rswilem%2Fwinctrl-xplane-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rswilem%2Fwinctrl-xplane-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rswilem%2Fwinctrl-xplane-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rswilem","download_url":"https://codeload.github.com/rswilem/winctrl-xplane-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rswilem%2Fwinctrl-xplane-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29168618,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T16:33:35.550Z","status":"ssl_error","status_checked_at":"2026-02-06T16:33:30.716Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":[],"created_at":"2026-02-06T16:35:16.508Z","updated_at":"2026-05-10T09:16:00.227Z","avatar_url":"https://github.com/rswilem.png","language":"C++","funding_links":[],"categories":["Hardware Adapters"],"sub_categories":[],"readme":"## WINCTRL plugin for X-Plane\n\nFor X-Plane 11 and X-Plane 12. Formerly the Winwing plugin for X-Plane.\n\nThis plugin allows you to use WINCTRL devices in X-Plane on MacOS and Linux.\nThe plugin theoretically works on Windows, but is not required there, as WINCTRL provides a native Windows driver through the SimAppPro software.\n\n### Installation\n\n1. Download the latest release from the releases page.\n2. Unzip the downloaded file.\n3. Copy the `winctrl` folder to your X-Plane `Resources/plugins` directory.\n4. Start X-Plane.\n5. Updating can be done by replacing the `winctrl` folder or using Skunkcrafts Updater if you have it installed.\n\nFor linux, see the [Linux udev rules](#linux-udev-rules) section below to ensure proper permissions and stable device recognition.\n\n### Contributing\n\n- Fork the repository.\n- Download the latest X-Plane SDK from https://developer.x-plane.com/sdk/plugin-sdk-downloads/.\n- Unzip and copy the `SDK/` folder to the root of the repository.\n- Make your changes.\n- Test your changes in X-Plane. Datareftool plugin recommented, and make sure you uninstall FlyWithLua as it can interfere with the \"Reload Plugins\" functionality.\n- Commit your changes and push to your fork.\n- Create a pull request with a description of your changes.\n\n### Usage\n\n- The plugin will automatically detect your WINCTRL devices.\n- There are no user-configurable settings at this time.\n\n### Compatibility Matrix\n\nThe matrix below shows device and aircraft compatibility. Devices are listed vertically, aircraft horizontally.\n| \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Device\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; | \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ToLiss A3xx | \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Zibo / LevelUp 737 | \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; X-Crafts E-jets | \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; FlightFactor 767 | \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; FlightFactor 777 | \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; FlightFactor A350 V1 | \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Rotate MD-11 | \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; IXEG 737 | \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; SSG 747 | \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; JustFlight 146 | \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Laminar 737 | \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Laminar A330 (Aerogenesis) | \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Laminar Citation X | \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; Laminar C172 |\n|--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |\n| **URSA MINOR Airline Joystick L+R** | \u0026check; | \u0026check; | \u0026check; | \u0026check; | \u0026check; | \u0026check; | \u0026check; | \u0026check; | \u0026check; | \u0026check; | \u0026check; | \u0026check; | \u0026check; | \u0026check; |\n| **FMC (MCDU, PFP 3N/4/7)** | \u0026check; | \u0026check; | \u0026check; | \u0026check; | \u0026check; | \u0026nbsp; | \u0026check; | \u0026check; | \u0026check; | \u0026nbsp; | \u0026nbsp; | \u0026check; | \u0026check; | \u0026nbsp; |\n| **3N PAP MCP** | \u0026nbsp; | \u0026check; | \u0026check; | \u0026nbsp; | \u0026check; | \u0026nbsp; | \u0026check; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026check; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; |\n| **3N / 3M PDC** | \u0026nbsp; | \u0026check; | \u0026nbsp; | \u0026nbsp; | \u0026check; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; |\n| **FCU (+ optional EFIS L+R)** | \u0026check; | \u0026nbsp; | \u0026check; | \u0026check; | \u0026check; | \u0026check; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026check; | \u0026check; | \u0026check; | \u0026nbsp; | \u0026check; |\n| **32 ECAM** | \u0026check; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; |\n| **32 AGP Metal** | \u0026check; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; |\n| **URSA MINOR 32 Throttle Metal (+ optional 32 PAC Metal)** | \u0026check; | \u0026check; | \u0026check; | \u0026nbsp; | \u0026check; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; | \u0026nbsp; |\n\n### Known Issues\n\n- The SSG 747 does not expose any colour datarefs yet. Therefore, the PFP will not show the correct colours.\n- The SSG 747 has a dual FMC, but the datarefs seem to overwrite eachother.\n\n### Credits\n\n- [@Schenlap](https://github.com/schenlap) for the initial python implementation and providing the HID protocol documentation.\n- [@zodiac1214](https://github.com/zodiac1214) for the Ursa Minor Joystick HID protocol.\n- [@CyberGuerro](https://github.com/cyberguerro) for the PFP3N HID protocol and a lot of testing work.\n- [@claaslange](https://github.com/claaslange) for the FCU-EFIS integration.\n- [@shred86](https://github.com/shred86) for identifying the Ursa Minor Joystick R.\n- [@Belnadifia](https://github.com/Belnadifia) for the complete PAP3 HID protocol and Zibo profile.\n- [@ColinM9991](https://github.com/ColinM9991) for the FF777 profile and parts of the FMC protocol.\n- [@tukan68](https://github.com/tukan68) for FF767 profile.\n- [@verres1](https://github.com/verres1) for enriching the FF777 profile.\n- [@teropa](https://forums.x-plane.org/profile/1028374-teropa/) for data capture and testing of multiple devices.\n- [@SoarByWire](https://forums.x-plane.org/profile/411164-soarbywire/) for the testing of multiple devices.\n- [@MortyMars](https://github.com/MortyMars) for the FCU/EFIS FF777, FF767, and FFA350 v1 profiles.\n- [@loftwing](https://github.com/loftwing) for the JF146 profile and testing.\n\n### Linux udev rules\n\nTo ensure WINCTRL panels are accessible without root and have stable device names, create a udev rules file:\n\n```bash\nsudo nano /etc/udev/rules.d/99-winctrl.rules\n```\n\n```udev\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bc27\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-ursa-minor-l\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bc28\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-ursa-minor-r\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb36\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-mcdu32-cpt\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb3e\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-mcdu32-fo\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb3a\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-mcdu32-obs\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb35\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-pfp3n-cpt\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb39\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-pfp3n-fo\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb3d\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-pfp3n-obs\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb38\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-pfp4-cpt\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb40\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-pfp4-fo\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb3c\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-pfp4-obs\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb37\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-pfp7-cpt\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb3f\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-pfp7-fo\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb3b\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-pfp7-obs\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb10\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-fcu\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bc1e\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-fcu-efis-r\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bc1d\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-fcu-efis-l\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"ba01\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-fcu-efis-lr\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bf0f\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-pap3\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb70\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-ecam\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb80\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-agp\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"b920\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-throttle-l\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"b930\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-throttle-r\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb61\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-3n-pdc-l\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb62\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-3n-pdc-r\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb51\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-3m-pdc-l\"\nKERNEL==\"hidraw*\", ATTRS{idProduct}==\"bb52\", ATTRS{idVendor}==\"4098\", MODE=\"0666\", SYMLINK+=\"winctrl-3m-pdc-r\"\n```\n\n### Demonstration\n\nAlso see the [X-Plane.org forum thread](https://forums.x-plane.org/files/file/95987-winctrl-plugin-for-x-plane-mac-linux-windows/) for more information and discussion.\n\n\u003cimg src=\"https://github.com/user-attachments/assets/75d4e3e0-af9e-488f-bd5e-2d834bea110d\" alt=\"Airbus A20N\" width=\"256\" /\u003e\n\u003cimg src=\"https://github.com/user-attachments/assets/8f5750e2-f913-479a-9f7a-6e3d6c31382d\" alt=\"Boeing B738\" width=\"256\" /\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frswilem%2Fwinctrl-xplane-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frswilem%2Fwinctrl-xplane-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frswilem%2Fwinctrl-xplane-plugin/lists"}