Skip to content

Fast library for the Logitech G29 steering wheel

Notifications You must be signed in to change notification settings

EzraEllette/g29

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

G29

Description

Rust crate for using the logitech G29 steering wheel with force feedback. More Force Feedback options coming soon.

Thanks to @nightmode for their NodeJS library that I frequently referenced. logitech-g29

Example

use lib_g29::{Options, G29, events::Event};

fn main() {
    let g29 = G29::connect(Options::default());

    g29.register_event_handler(
        Event::PlaystationButtonReleased,
        playstation_button_released_handler,
    );

    g29.register_event_handler(Event::Throttle, throttle_handler);

    g29.register_event_handler(Event::Brake, brake_handler);

    g29.register_event_handler(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());
}

About

Fast library for the Logitech G29 steering wheel

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages