- Renamed udev rules file from 99-vpc.rules to 70-vpc.rules for better priority - Updated all references to the file in Makefile and documentation - Added instructions for manually creating udev rules when using precompiled binaries - Improved installation instructions for both Windows and Linux platforms
111 lines
3.3 KiB
Markdown
111 lines
3.3 KiB
Markdown
# 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](https://github.com/RavenX8/vpc-shift-tool/actions)
|
|
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](https://rustup.rs/))
|
|
- For Linux: libudev-dev package
|
|
|
|
#### Build Steps
|
|
|
|
```bash
|
|
# 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:
|
|
|
|
```bash
|
|
# 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
|
|
|
|
- [GitHub Repository](https://github.com/RavenX8/vpc-shift-tool)
|
|
- [Gitea Repository](https://gitea.azgstudio.com/Raven/vpc-shift-tool)
|