7个版本 (破坏性)
0.6.0 | 2023年6月24日 |
---|---|
0.5.0 | 2023年5月13日 |
0.4.0 | 2023年4月19日 |
0.3.1 | 2023年4月16日 |
0.1.0 | 2023年4月7日 |
#140 in Windows API
34KB
781 行
针对vjoy-sys的安全且惯用的包装器。
关于vJoy
vJoy可以模拟最多16个输入设备,每个设备最多有128个按钮,8个轴和4个帽开关(4向或连续)。这些虚拟设备可用于
- 模拟游戏手柄/摇杆,以模拟需要特定输入类型的老游戏。
- 将多个物理设备组合成一个虚拟设备。
- 将物理设备到虚拟设备的应用变换(例如,2按钮到轴重绑定,软件过滤等)。
虚拟设备对应用程序表现为常规输入设备。
用法
需要安装vJoy驱动程序版本2.1.9.1,并且仅适用于Windows。
在运行时通过libloading加载vJoy共享库。有关详细信息,请参阅集成测试。
示例
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(())
}
依赖关系
~0.5–2.9MB
~55K SLoC