AcesHigh Posted November 20, 2013 Posted November 20, 2013 (edited) Another fantastic well thougth out part of the sim discovered just now. I went to setup my G27 Racing pedals to use as the rudder and I think this is the first game that recognized one pedal push and automatically mapped the other in the opposite direction. No messing around, no sliders to fiddle with, no additional programs to install. Thanks 1C/777 - you made this the first game I've played to make it easy for this type of config. Edited November 20, 2013 by AcesHigh
CreepiJim Posted November 28, 2013 Posted November 28, 2013 I use the G25 pedals with a bodnar box and PPJoy/GlovePie. But the accelerator pedal has some issues and I am not sure if it is a GlovePie/PPJoy issue. I hope someone can help me out with some advise or hints. The pedals are set up correctly and do work under certain circumstances. I have to slightly press the left pedal to actually be able to move the right rudder, otherwise the input is not recognized. By pressing the left pedal too much, the left rudder suddenly jumps back to neutral (trying to move the rudder right). The right pedal works like a charm however. Now I hope there is a way to either script a correction input for the left pedal, so I do not have to manually put pressure on the opposite rudder to move the right one. Otherwise I have to use ductape to build a physical end stop for the left pedal to give a constant output. If both does not work, which rudder pedals you guys would reccomend? Not speaking of high end equippment, but something that works and enables a realistic leg work. Thanks in advance!
=Xone_96=Allen_and_Heath Posted December 4, 2013 Posted December 4, 2013 Another fantastic well thougth out part of the sim discovered just now. I went to setup my G27 Racing pedals to use as the rudder and I think this is the first game that recognized one pedal push and automatically mapped the other in the opposite direction. No messing around, no sliders to fiddle with, no additional programs to install. Thanks 1C/777 - you made this the first game I've played to make it easy for this type of config. Hi, Bit away from the main theme, but: Since you have installed Logy drivers on you pc, is it too much if I ask you for one experiment? Can you please, try to assign the steering wheel of G27 as a ruder control (yeah just a test you don't need to fly with it more them 10-20min and no acrobatic pilotage as well)? And can you check please if we have FF effects on the ruder/wheel? Thank you in advance!
NonWonderDog Posted December 7, 2013 Posted December 7, 2013 (edited) I use G27 pedals for rudder, too, but I have a GlovePIE script I use to combine the throttle and clutch axes. I didn't try separately assigning throttle and clutch to rudder in-game last week, but if it worked before it doesn't work this week. It looks like they've changed the input assignment, as I had to change my glovePIE script in order to rebind axes this week. I use temporary key maps to bind axes so the real axes don't interfere, and the sim seems to want a smooth movement in order to register an axis now. Hi, Bit away from the main theme, but: Since you have installed Logy drivers on you pc, is it too much if I ask you for one experiment? Can you please, try to assign the steering wheel of G27 as a ruder control (yeah just a test you don't need to fly with it more them 10-20min and no acrobatic pilotage as well)? And can you check please if we have FF effects on the ruder/wheel? Thank you in advance! I did try this, though, and I'm sorry to report that there's no force-feedback on the rudder. Oh, if anyone wants my script, here it is. It's a continual work in progress and has a bunch of extraneous stuff in it, but it might have some helpful GlovePIE techniques for newbies: // Various control tweaks for flight sims, using PPJoy // G27: // Combine Clutch and Throttle from G27 pedals into rudder axis // Mirror the brake pedal and add a digital brake // X52: // Slider hysteresis // Automatic Collective Brake (For Ka-50) // FrankenHOTAS: // Map trim hat to buttons for Falcon PIE.FrameRate = 120hz; var.sliderHysteresis = 0.02; // for smooth slider var.throttleHysteresis = 0.02; // for collective brake var.assignmode = 0; // use arrow keys for axes // In assign mode, the axes are driven by keys instead // Intended for axis assignment menus if (var.assignmode) { ppjoy1.Analog2 = 0.95*ppjoy1.Analog2 + 0.05*swallow(Key.Right) - 0.05*swallow(Key.Left); // rudder ppjoy1.Analog3 = 0.95*ppjoy1.Analog3 + 0.05*swallow(Key.Up) - 0.05*swallow(Key.Down); // analog brake ppjoy1.Analog4 = 0.95*ppjoy1.Analog4 + 0.05*swallow(Key.X) - 0.05*swallow(Key.Z); // slider ppjoy1.Digital0 = swallow(Key.B); // digital brake debug = ppjoy1.Analog4 } else { // Get device numbers if (Starting) { var.G27num = 0; var.X52num = 0; var.frankenNum = 0; var.i = 1; while (joystick[var.i].Name != "") { if (joystick[var.i].Name == "Logitech G27 Racing Wheel USB") { var.G27num = var.i; } else if (joystick[var.i].Name == "Saitek X52 Flight Controller") { var.X52num = var.i; } else if (joystick[var.i].Name == "Teensy Keyboard/Mouse/Joystick") { var.frankenNum = var.i; } var.i++; } } //////////////// // G27 Inputs // //////////////// // Rudder on Z axis, toe brakes on X rotation // Need to change this to use differential toe brakes based on rudder if (var.G27num) { PPJoy1.Analog2 = 0.5*joystick[var.G27num].dial - 0.5*joystick[var.G27num].y; PPJoy1.Analog3 = -joystick[var.G27num].roll; PPJoy1.Digital0 = (joystick[var.G27num].roll < 0.5); } //////////////// // X52 Inputs // //////////////// // Replicate slider, with hysteresis to avoid spiking // Need to add a deadzone to avoid spikes at the edges if (var.X52num) { if (joystick[var.X52num].slider != var.sliderLast) { var.sliderLastSign = sign(var.sliderChange); var.sliderChange = joystick[var.X52num].slider-var.sliderLast; var.sliderLast = joystick[var.X52num].slider; var.sliderError = var.slider - joystick[var.X52num].slider; if (joystick[var.X52num].slider = 1) { var.slider = 1; var.sliderLastSign = -1; } else if (joystick[var.X52num].slider = -1) { var.slider = -1; var.sliderLastSign = 1; } else if (sign(var.sliderChange) == var.sliderLastSign) { var.slider += var.sliderChange; } else if (abs(var.sliderError) > var.sliderHysteresis) { var.slider += var.sliderChange; } } PPJoy1.Analog4 = Var.slider } // send a PPJoy button press whenever the throttle is moved // This lets you use the KA-50 altitude autopilot mode much more easily if (var.X52num) { if (joystick[var.X52num].z != var.throttleLast) { var.throttleLastSign = sign(var.throttleChange); var.throttleChange = joystick[var.X52num].z-var.throttleLast; var.throttleLast = joystick[var.X52num].z; var.throttleError = var.throttle - joystick[var.X52num].z; if (sign(var.throttleChange) == var.throttleLastSign) { var.throttleStopCount = 0; PPJoy1.Digital1 = 1; var.throttle = joystick[var.X52num].z; } else if (abs(var.throttleError) > var.throttleHysteresis) { var.throttleStopCount = 0; PPJoy1.Digital1 = 1; var.throttle = joystick[var.X52num].z; } } else { if (var.throttleStopCount >= 12) then { PPJoy1.Digital1 = 0; } else { var.throttleStopCount++; } } } ///////////////////////// // FrankenHOTAS Inputs // ///////////////////////// if (var.frankenNum) { PPJoy1.Digital2 = joystick[var.frankenNum].Pov1Up PPJoy1.Digital3 = joystick[var.frankenNum].Pov1Right PPJoy1.Digital4 = joystick[var.frankenNum].Pov1Down PPJoy1.Digital5 = joystick[var.frankenNum].Pov1Left } } Edited December 7, 2013 by NonWonderDog
=Xone_96=Allen_and_Heath Posted December 8, 2013 Posted December 8, 2013 I did try this, though, and I'm sorry to report that there's no force-feedback on the rudder. Oh, if anyone wants my script, here it is. It's a continual work in progress and has a bunch of extraneous stuff in it, but it might have some helpful GlovePIE techniques for newbies: // Various control tweaks for flight sims, using PPJoy // G27: // Combine Clutch and Throttle from G27 pedals into rudder axis // Mirror the brake pedal and add a digital brake // X52: // Slider hysteresis // Automatic Collective Brake (For Ka-50) // FrankenHOTAS: // Map trim hat to buttons for Falcon PIE.FrameRate = 120hz; var.sliderHysteresis = 0.02; // for smooth slider var.throttleHysteresis = 0.02; // for collective brake var.assignmode = 0; // use arrow keys for axes // In assign mode, the axes are driven by keys instead // Intended for axis assignment menus if (var.assignmode) { ppjoy1.Analog2 = 0.95*ppjoy1.Analog2 + 0.05*swallow(Key.Right) - 0.05*swallow(Key.Left); // rudder ppjoy1.Analog3 = 0.95*ppjoy1.Analog3 + 0.05*swallow(Key.Up) - 0.05*swallow(Key.Down); // analog brake ppjoy1.Analog4 = 0.95*ppjoy1.Analog4 + 0.05*swallow(Key.X) - 0.05*swallow(Key.Z); // slider ppjoy1.Digital0 = swallow(Key.B); // digital brake debug = ppjoy1.Analog4 } else { // Get device numbers if (Starting) { var.G27num = 0; var.X52num = 0; var.frankenNum = 0; var.i = 1; while (joystick[var.i].Name != "") { if (joystick[var.i].Name == "Logitech G27 Racing Wheel USB") { var.G27num = var.i; } else if (joystick[var.i].Name == "Saitek X52 Flight Controller") { var.X52num = var.i; } else if (joystick[var.i].Name == "Teensy Keyboard/Mouse/Joystick") { var.frankenNum = var.i; } var.i++; } } //////////////// // G27 Inputs // //////////////// // Rudder on Z axis, toe brakes on X rotation // Need to change this to use differential toe brakes based on rudder if (var.G27num) { PPJoy1.Analog2 = 0.5*joystick[var.G27num].dial - 0.5*joystick[var.G27num].y; PPJoy1.Analog3 = -joystick[var.G27num].roll; PPJoy1.Digital0 = (joystick[var.G27num].roll < 0.5); } //////////////// // X52 Inputs // //////////////// // Replicate slider, with hysteresis to avoid spiking // Need to add a deadzone to avoid spikes at the edges if (var.X52num) { if (joystick[var.X52num].slider != var.sliderLast) { var.sliderLastSign = sign(var.sliderChange); var.sliderChange = joystick[var.X52num].slider-var.sliderLast; var.sliderLast = joystick[var.X52num].slider; var.sliderError = var.slider - joystick[var.X52num].slider; if (joystick[var.X52num].slider = 1) { var.slider = 1; var.sliderLastSign = -1; } else if (joystick[var.X52num].slider = -1) { var.slider = -1; var.sliderLastSign = 1; } else if (sign(var.sliderChange) == var.sliderLastSign) { var.slider += var.sliderChange; } else if (abs(var.sliderError) > var.sliderHysteresis) { var.slider += var.sliderChange; } } PPJoy1.Analog4 = Var.slider } // send a PPJoy button press whenever the throttle is moved // This lets you use the KA-50 altitude autopilot mode much more easily if (var.X52num) { if (joystick[var.X52num].z != var.throttleLast) { var.throttleLastSign = sign(var.throttleChange); var.throttleChange = joystick[var.X52num].z-var.throttleLast; var.throttleLast = joystick[var.X52num].z; var.throttleError = var.throttle - joystick[var.X52num].z; if (sign(var.throttleChange) == var.throttleLastSign) { var.throttleStopCount = 0; PPJoy1.Digital1 = 1; var.throttle = joystick[var.X52num].z; } else if (abs(var.throttleError) > var.throttleHysteresis) { var.throttleStopCount = 0; PPJoy1.Digital1 = 1; var.throttle = joystick[var.X52num].z; } } else { if (var.throttleStopCount >= 12) then { PPJoy1.Digital1 = 0; } else { var.throttleStopCount++; } } } ///////////////////////// // FrankenHOTAS Inputs // ///////////////////////// if (var.frankenNum) { PPJoy1.Digital2 = joystick[var.frankenNum].Pov1Up PPJoy1.Digital3 = joystick[var.frankenNum].Pov1Right PPJoy1.Digital4 = joystick[var.frankenNum].Pov1Down PPJoy1.Digital5 = joystick[var.frankenNum].Pov1Left } } Thank you for the info!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now