Crates.io | vjoy |
lib.rs | vjoy |
version | 0.6.0 |
source | src |
created_at | 2023-04-07 17:14:16.504208 |
updated_at | 2023-06-24 08:41:42.570396 |
description | Idiomatic and safe wrapper for vjoy-sys |
homepage | |
repository | https://github.com/ArrowMaxGithub/vjoy |
max_upload_size | |
id | 833059 |
size | 42,095 |
Safe and idiomatic wrapper for for vjoy-sys.
vJoy simulates up to 16 input devices with up to 128 buttons, 8 axes, and 4 hat switches (4-way or continuous). The virtual devices can be used to
The virtual devices appear to applications as regular input devices.
The vJoy driver version 2.1.9.1 needs to be installed and is only available for Windows.
The vJoy shared library is loaded at runtime via libloading. See the integration tests for specifics.
use vjoy::{VJoy, ButtonState, Error, HatState, FourWayHat};
fn main() -> Result<(), Error>{
let mut vjoy = VJoy::from_default_dll_location()?;
let device_1 = vjoy.get_device_state_mut(1)?;
device_1.set_button(1, ButtonState::Pressed)?;
device_1.set_axis(1, i32::MAX)?;
let hat_type = device_1.hat_type();
let value = match hat_type{
HatState::Discrete(_) => HatState::Discrete(FourWayHat::East),
HatState::Continuous(_) => HatState::Continuous(90 * 100),
};
device_1.set_hat(1, value)?;
vjoy.update_all_devices()?;
Ok(())
}