An open API service indexing awesome lists of open source software.

https://github.com/rswilem/winctrl-xplane-plugin

This plugin allows you to use Winwing devices in X-Plane 12 without the use of SimAppPro.
https://github.com/rswilem/winctrl-xplane-plugin

Last synced: 2 months ago
JSON representation

This plugin allows you to use Winwing devices in X-Plane 12 without the use of SimAppPro.

Awesome Lists containing this project

README

          

## WINCTRL plugin for X-Plane

For X-Plane 11 and X-Plane 12. Formerly the Winwing plugin for X-Plane.

This plugin allows you to use WINCTRL devices in X-Plane on MacOS and Linux.
The plugin theoretically works on Windows, but is not required there, as WINCTRL provides a native Windows driver through the SimAppPro software.

### Installation

1. Download the latest release from the releases page.
2. Unzip the downloaded file.
3. Copy the `winctrl` folder to your X-Plane `Resources/plugins` directory.
4. Start X-Plane.
5. Updating can be done by replacing the `winctrl` folder or using Skunkcrafts Updater if you have it installed.

For linux, see the [Linux udev rules](#linux-udev-rules) section below to ensure proper permissions and stable device recognition.

### Contributing

- Fork the repository.
- Download the latest X-Plane SDK from https://developer.x-plane.com/sdk/plugin-sdk-downloads/.
- Unzip and copy the `SDK/` folder to the root of the repository.
- Make your changes.
- Test your changes in X-Plane. Datareftool plugin recommented, and make sure you uninstall FlyWithLua as it can interfere with the "Reload Plugins" functionality.
- Commit your changes and push to your fork.
- Create a pull request with a description of your changes.

### Usage

- The plugin will automatically detect your WINCTRL devices.
- There are no user-configurable settings at this time.

### Compatibility Matrix

The matrix below shows device and aircraft compatibility. Devices are listed vertically, aircraft horizontally.
|                                          Device                                                     |                                          ToLiss A3xx |                                          Zibo / LevelUp 737 |                                          X-Crafts E-jets |                                          FlightFactor 767 |                                          FlightFactor 777 |                                          FlightFactor A350 V1 |                                          Rotate MD-11 |                                          IXEG 737 |                                          SSG 747 |                                          JustFlight 146 |                                          Laminar 737 |                                          Laminar A330 (Aerogenesis) |                                          Laminar Citation X |                                          Laminar C172 |
|--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| **URSA MINOR Airline Joystick L+R** | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| **FMC (MCDU, PFP 3N/4/7)** | ✓ | ✓ | ✓ | ✓ | ✓ |   | ✓ | ✓ | ✓ |   |   | ✓ | ✓ |   |
| **3N PAP MCP** |   | ✓ | ✓ |   | ✓ |   | ✓ |   |   |   | ✓ |   |   |   |
| **3N / 3M PDC** |   | ✓ |   |   | ✓ |   |   |   |   |   |   |   |   |   |
| **FCU (+ optional EFIS L+R)** | ✓ |   | ✓ | ✓ | ✓ | ✓ |   |   |   | ✓ | ✓ | ✓ |   | ✓ |
| **32 ECAM** | ✓ |   |   |   |   |   |   |   |   |   |   |   |   |   |
| **32 AGP Metal** | ✓ |   |   |   |   |   |   |   |   |   |   |   |   |   |
| **URSA MINOR 32 Throttle Metal (+ optional 32 PAC Metal)** | ✓ | ✓ | ✓ |   | ✓ |   |   |   |   |   |   |   |   |   |

### Known Issues

- The SSG 747 does not expose any colour datarefs yet. Therefore, the PFP will not show the correct colours.
- The SSG 747 has a dual FMC, but the datarefs seem to overwrite eachother.

### Credits

- [@Schenlap](https://github.com/schenlap) for the initial python implementation and providing the HID protocol documentation.
- [@zodiac1214](https://github.com/zodiac1214) for the Ursa Minor Joystick HID protocol.
- [@CyberGuerro](https://github.com/cyberguerro) for the PFP3N HID protocol and a lot of testing work.
- [@claaslange](https://github.com/claaslange) for the FCU-EFIS integration.
- [@shred86](https://github.com/shred86) for identifying the Ursa Minor Joystick R.
- [@Belnadifia](https://github.com/Belnadifia) for the complete PAP3 HID protocol and Zibo profile.
- [@ColinM9991](https://github.com/ColinM9991) for the FF777 profile and parts of the FMC protocol.
- [@tukan68](https://github.com/tukan68) for FF767 profile.
- [@verres1](https://github.com/verres1) for enriching the FF777 profile.
- [@teropa](https://forums.x-plane.org/profile/1028374-teropa/) for data capture and testing of multiple devices.
- [@SoarByWire](https://forums.x-plane.org/profile/411164-soarbywire/) for the testing of multiple devices.
- [@MortyMars](https://github.com/MortyMars) for the FCU/EFIS FF777, FF767, and FFA350 v1 profiles.
- [@loftwing](https://github.com/loftwing) for the JF146 profile and testing.

### Linux udev rules

To ensure WINCTRL panels are accessible without root and have stable device names, create a udev rules file:

```bash
sudo nano /etc/udev/rules.d/99-winctrl.rules
```

```udev
KERNEL=="hidraw*", ATTRS{idProduct}=="bc27", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-ursa-minor-l"
KERNEL=="hidraw*", ATTRS{idProduct}=="bc28", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-ursa-minor-r"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb36", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-mcdu32-cpt"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb3e", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-mcdu32-fo"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb3a", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-mcdu32-obs"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb35", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-pfp3n-cpt"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb39", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-pfp3n-fo"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb3d", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-pfp3n-obs"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb38", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-pfp4-cpt"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb40", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-pfp4-fo"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb3c", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-pfp4-obs"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb37", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-pfp7-cpt"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb3f", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-pfp7-fo"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb3b", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-pfp7-obs"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb10", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-fcu"
KERNEL=="hidraw*", ATTRS{idProduct}=="bc1e", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-fcu-efis-r"
KERNEL=="hidraw*", ATTRS{idProduct}=="bc1d", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-fcu-efis-l"
KERNEL=="hidraw*", ATTRS{idProduct}=="ba01", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-fcu-efis-lr"
KERNEL=="hidraw*", ATTRS{idProduct}=="bf0f", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-pap3"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb70", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-ecam"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb80", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-agp"
KERNEL=="hidraw*", ATTRS{idProduct}=="b920", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-throttle-l"
KERNEL=="hidraw*", ATTRS{idProduct}=="b930", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-throttle-r"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb61", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-3n-pdc-l"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb62", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-3n-pdc-r"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb51", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-3m-pdc-l"
KERNEL=="hidraw*", ATTRS{idProduct}=="bb52", ATTRS{idVendor}=="4098", MODE="0666", SYMLINK+="winctrl-3m-pdc-r"
```

### Demonstration

Also 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.

Airbus A20N
Boeing B738