diff --git a/Input/Joysticks/Saitek/Cyborg-Evo.xml b/Input/Joysticks/Saitek/Cyborg-Evo.xml new file mode 100644 index 000000000..563b28054 --- /dev/null +++ b/Input/Joysticks/Saitek/Cyborg-Evo.xml @@ -0,0 +1,483 @@ + + + + +Saitek Cyborg Evo + + + + + Aileron + + property-scale + /controls/flight/aileron + 2 + + + + + Elevator + + property-scale + /controls/flight/elevator + -1.0 + 2 + + + + + Throttle + + nasal + controls.throttleAxis() + + + + + Rudder + + property-scale + /controls/flight/rudder + 2 + + + + + + View Direction; Aileron Trim; + + true + + nasal + + mod = getprop("/input/joysticks/js[0]/saitek-cyborg-evo-modifier"); + if (mod == nil or mod == 0) { + v = getprop("/sim/current-view/view-number"); + if (v == 0 or v == 4) { + view.panViewDir(2); + } else { + view.panViewDir(2); + } + } elsif (mod == 1) { + controls.aileronTrim(-0.75); + } elsif (mod == 2) { + controls.adjMixture(-2); + } elsif (mod == 3) { + # + } + + + + + true + + nasal + + mod = getprop("/input/joysticks/js[0]/saitek-cyborg-evo-modifier"); + if (mod == nil or mod == 0) { + v = getprop("/sim/current-view/view-number"); + if (v == 0 or v == 4) { + view.panViewDir(-2); + } else { + view.panViewDir(-2); + } + } elsif (mod == 1) { + controls.aileronTrim(0.75); + } elsif (mod == 2) { + controls.adjMixture(2); + } elsif (mod == 3) { + # + } + + + + + + + View Elevation; Elevator Trim; + + true + + nasal + + mod = getprop("/input/joysticks/js[0]/saitek-cyborg-evo-modifier"); + if (mod == nil or mod == 0) { + view.panViewPitch(2); + } elsif (mod == 1) { + controls.elevatorTrim(-0.75); + } elsif (mod == 2) { + controls.adjPropeller(-1); + } elsif (mod == 3) { + # + } + + + + + true + + nasal + + mod = getprop("/input/joysticks/js[0]/saitek-cyborg-evo-modifier"); + if (mod == nil or mod == 0) { + view.panViewPitch(-2); + } elsif (mod == 1) { + controls.elevatorTrim(0.75); + } elsif (mod == 2) { + controls.adjPropeller(1); + } elsif (mod == 3) { + # + } + + + + + + + + + + + Brakes + true + + nasal + + mod = getprop("/input/joysticks/js[0]/saitek-cyborg-evo-modifier"); + if (mod == nil or mod == 0) { + interpolate("/controls/gear/brake-left", 1, 0.075); + interpolate("/controls/gear/brake-right", 1, 0.075); + } elsif (mod == 1) { + setprop("/controls/gear/brake-left", 1); + setprop("/controls/gear/brake-right", 1); + } elsif (mod == 2) { + # + } elsif (mod == 3) { + # + } + + + + true + + nasal + + mod = getprop("/input/joysticks/js[0]/saitek-cyborg-evo-modifier"); + if (mod == nil or mod == 0) { + interpolate("/controls/gear/brake-left", 0, 0.075); + interpolate("/controls/gear/brake-right", 0, 0.075); + } elsif (mod == 1) { + brake = !getprop("/controls/gear/brake-parking"); + setprop("/controls/gear/brake-parking", brake); + if (brake) { + gui.popupTip("Parking Brake ON"); + } else { + gui.popupTip("Parking Brake OFF"); + } + setprop("/controls/gear/brake-left", 0); + setprop("/controls/gear/brake-right", 0); + } elsif (mod == 2) { + speedbrake = !getprop("/controls/flight/speedbrake"); + setprop("/controls/flight/speedbrake", speedbrake); + } elsif (mod == 3) { + reverser = !getprop("/controls/engines/engine[0]/reverser"); + props.setAll("/controls/engines/engine", "reverser", reverser); + if (reverser) { + gui.popupTip("Thrust Reverser ON"); + } else { + gui.popupTip("Thrust Reverser OFF"); + } + } + + + + + + + + Reset view; toggle tail-wheel lock; reset trim + false + + nasal + + mod = getprop("/input/joysticks/js[0]/saitek-cyborg-evo-modifier"); + if (mod == nil or mod == 0) { + view.resetView(); + } elsif (mod == 1) { + setprop("/controls/flight/elevator-trim", 0); + setprop("/controls/flight/aileron-trim", 0); + setprop("/controls/flight/rudder-trim", 0); + } elsif (mod == 2) { + setprop("/sim/current-view/view-number", 0); + view.resetView(); + } elsif (mod == 3) { + twlock = !getprop("/controls/gear/tailwheel-lock"); + setprop("/controls/gear/tailwheel-lock", twlock); + if (twlock) { + gui.popupTip("Tail Wheel UNLOCKED"); + } else { + gui.popupTip("Tail Wheel LOCKED"); + } + } + + + + + + + Flaps Up; Gear up + false + + nasal + + mod = getprop("/input/joysticks/js[0]/saitek-cyborg-evo-modifier"); + if (mod == nil or mod == 0) { + controls.stepFlaps(-1); + } elsif (mod == 1) { + setprop("/controls/gear/gear-down", 0); + } elsif (mod == 2) { + view.increase(); + } elsif (mod == 3) { + # + } + + + + + + + Flaps Down; Gear down + false + + nasal + + mod = getprop("/input/joysticks/js[0]/saitek-cyborg-evo-modifier"); + if (mod == nil or mod == 0) { + controls.stepFlaps(1); + } elsif (mod == 1) { + setprop("/controls/gear/gear-down", 1); + } elsif (mod == 2) { + view.decrease(); + } elsif (mod == 3) { + # + } + + + + + + + Previous View + false + + nasal + + mod = getprop("/input/joysticks/js[0]/saitek-cyborg-evo-modifier"); + if (mod == nil or mod == 0) { + view.stepView(-1); + } elsif (mod == 1) { + controls.rudderTrim(-0.75); + } elsif (mod == 2) { + # + } elsif (mod == 3) { + # + } + + + + + + + Next View + false + + nasal + + mod = getprop("/input/joysticks/js[0]/saitek-cyborg-evo-modifier"); + if (mod == nil or mod == 0) { + view.stepView(1); + } elsif (mod == 1) { + controls.rudderTrim(0.75); + } elsif (mod == 2) { + # + } elsif (mod == 3) { + # + } + + + + + + + + + Modifier 1 + false + + nasal + + name = "/input/joysticks/js[0]/saitek-cyborg-evo-modifier"; + setprop(name, 1); + + + + + nasal + + name = "/input/joysticks/js[0]/saitek-cyborg-evo-modifier"; + setprop(name, 0); + + + + + + + + Modifier 2 + false + + nasal + + name = "/input/joysticks/js[0]/saitek-cyborg-evo-modifier"; + setprop(name, 2); + + + + + nasal + + name = "/input/joysticks/js[0]/saitek-cyborg-evo-modifier"; + setprop(name, 0); + + + + + + + + Modifier 3 + false + + nasal + + name = "/input/joysticks/js[0]/saitek-cyborg-evo-modifier"; + setprop(name, 3); + + + + + nasal + + name = "/input/joysticks/js[0]/saitek-cyborg-evo-modifier"; + setprop(name, 0); + + + + + + + + Modifier 1 + false + + nasal + + name = "/input/joysticks/js[0]/saitek-cyborg-evo-modifier"; + setprop(name, 1); + + + + + nasal + + name = "/input/joysticks/js[0]/saitek-cyborg-evo-modifier"; + setprop(name, 0); + + + + + + + + Modifier 2 + false + + nasal + + name = "/input/joysticks/js[0]/saitek-cyborg-evo-modifier"; + setprop(name, 2); + + + + + nasal + + name = "/input/joysticks/js[0]/saitek-cyborg-evo-modifier"; + setprop(name, 0); + + + + + + + + Modifier 3 + false + + nasal + + name = "/input/joysticks/js[0]/saitek-cyborg-evo-modifier"; + setprop(name, 3); + + + + + nasal + + name = "/input/joysticks/js[0]/saitek-cyborg-evo-modifier"; + setprop(name, 0); + + + + + + diff --git a/joysticks.xml b/joysticks.xml index d42c424a4..51bd6efa8 100644 --- a/joysticks.xml +++ b/joysticks.xml @@ -39,6 +39,7 @@ Joystick binding definitions. +