1 stable release
new 1.0.0 | Apr 3, 2024 |
---|
#1 in #racing
140 downloads per month
59KB
1.5K
SLoC
G29
Description
Rust crate for using the logitech G29 steering wheel with force feedback. More Force Feedback options coming soon.
Currently the events
feature is a bit slow in my opinion, so I'm working on optimization.
Thanks to @nightmode for their NodeJS library that I frequently referenced. logitech-g29
Features
- Events (help me make this more performant)
Example
use g29::{Options, G29};
fn main() {
let g29 = G29::connect(Options::default());
g29.register_event_handler(
g29::events::Event::PlaystationButtonReleased,
playstation_button_released_handler,
);
g29.register_event_handler(g29::events::Event::Throttle, throttle_handler);
g29.register_event_handler(g29::events::Event::Brake, brake_handler);
g29.register_event_handler(g29::events::Event::Clutch, clutch_handler);
while g29.connected() {}
}
fn playstation_button_released_handler(g29: &mut G29) {
g29.disconnect();
println!("Playstation button released");
}
fn throttle_handler(g29: &mut G29) {
println!("Throttle: {}", g29.throttle());
}
fn brake_handler(g29: &mut G29) {
println!("Brake: {}", g29.brake());
}
fn clutch_handler(g29: &mut G29) {
println!("Clutch: {}", g29.clutch());
}
Dependencies
~2–11MB
~89K SLoC