Skip to content

RavenX8/vpc-shift-tool

Repository files navigation

OpenVPC - Shift Tool

A free and open-source alternative to the VPC Shift Tool bundled with the VirPil control software package.

Overview

OpenVPC Shift Tool is a utility designed for VirPil flight simulation controllers. It allows you to combine button inputs from multiple VirPil devices using logical operations (OR, AND, XOR), creating a "shift state" that can be sent to receiver devices. This enables more complex control schemes and button combinations for flight simulators.

Features

  • Connect to multiple VirPil devices simultaneously
  • Configure source devices that provide button inputs
  • Set up receiver devices that receive the combined shift state
  • Choose between different logical operations (OR, AND, XOR) for each bit
  • Automatic device detection for VirPil hardware
  • Configuration saving and loading
  • Cross-platform support (Windows and Linux)

Installation

Pre-built Binaries

Pre-built binaries for Windows and Linux are available in the GitHub Actions artifacts for each commit. You can find them by:

  1. Going to the Actions tab
  2. Selecting the most recent successful workflow run
  3. Downloading the appropriate artifact for your platform (Linux-x86_64_build or Windows-x86_64_build)

Building from Source

Prerequisites

  • Rust toolchain (install from rustup.rs)
  • For Linux: libudev-dev package

Build Steps

# Clone the repository
git clone https://github.com/RavenX8/vpc-shift-tool.git
cd vpc-shift-tool

# Build the release version
cargo build --release

The compiled binary will be available in target/release/.

Linux Installation

On Linux, you need to install udev rules to access VirPil devices without root privileges:

# Using the Makefile
sudo make install

# Or manually
sudo cp udev/rules.d/70-vpc.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger

Usage

  1. Launch the application

  2. The main interface shows three sections:

    • Sources: Devices that provide button inputs
    • Rules: Logical operations to apply to each bit
    • Receivers: Devices that receive the combined shift state
  3. Add source devices by selecting them from the dropdown menu

  4. Configure which bits are active for each source

  5. Set the logical operation (OR, AND, XOR) for each bit in the Rules section

  6. Add receiver devices that will receive the combined shift state

  7. Click "Start" to begin the shift operation

Configuration

The application automatically saves your configuration to:

  • Windows: %APPDATA%\shift_tool.json
  • Linux: ~/.config/shift_tool.json

Troubleshooting

Device Not Detected

  • Ensure your VirPil devices are properly connected
  • On Linux, verify udev rules are installed correctly
  • Try refreshing the device list with the "Refresh Devices" button

Permission Issues on Linux

If you encounter permission issues accessing the devices on Linux:

  1. Ensure the udev rules are installed correctly
  2. Log out and log back in, or reboot your system
  3. Verify your user is in the "input" group: groups $USER

License

GNU General Public License v3.0

Author

RavenX8

Links

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published