Alef/A2.ahk – User

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
 
mNo edit summary
Line 1: Line 1:
<pre>
<pre>
// use TrackIR(tm) input
var.TRACKIR=false
// lean using the mouse, scale factor
var.MOUSE_LEAN=100
// POV digital3+ = down, up
// POV digital3+ = down, up
ppjoy1.digital3=joystick1.button2
ppjoy1.digital3=joystick1.button2
Line 59: Line 64:
}
}


// arma always choose the wheel over ppjoy
// if (joy2.productname="Logitech G25 Racing Wheel USB")
// if (joy2.productname="Logitech G25 Racing Wheel USB")


Line 66: Line 72:


// FreeTrack
// FreeTrack
faketrackir.pitch=realtrackir.pitch
if var.TRACKIR then {
if key.shift then {
  faketrackir.pitch=realtrackir.pitch
//    var.irx=EnsureMapRange(realtrackir.yaw, -90, 90, -0.5, 0.5)
  faketrackir.x=var.irx
} else {
   faketrackir.yaw=realtrackir.yaw
   faketrackir.yaw=realtrackir.yaw
   faketrackir.x=0
   //var.irz=EnsureMapRange(realtrackir.pitch, -5, 5, -1, 1)
}
}


if key.Ctrl then {
if Key.Windows then
  var.irz=EnsureMapRange(realtrackir.pitch, -5, 5, -1, 1)
    if Key.Shift then {
  faketrackir.z=var.irz
      if (! var.in_lean) then { // initial
          var.lean_t0=mouse.DirectInputX
          var.tune_lean=false
          var.in_lean=true
      }
      if (! var.tune_lean) then {
          var.lean_t0=mouse.DirectInputX-var.lean
          var.tune_lean=true
      }
      var.lean=mouse.DirectInputX - var.lean_t0
      faketrackir.x=EnsureMapRange(var.lean, -(var.MOUSE_LEAN), var.MOUSE_LEAN, -1, 1)
    } else {
      var.tune_lean=false
    }
} else {
} else {
   //faketrackir.z=0
   faketrackir.x=0
  var.lean=0
  var.in_lean=false
}
}
</pre>
</pre>

Revision as of 16:24, 7 February 2009

// use TrackIR(tm) input
var.TRACKIR=false
// lean using the mouse, scale factor
var.MOUSE_LEAN=100

// POV digital3+ = down, up
ppjoy1.digital3=joystick1.button2
ppjoy1.digital4=joystick1.button3
ppjoy1.digital5=joystick1.button4
ppjoy1.digital6=joystick1.button5

// Joy buttons
ppjoy1.digital1=joystick1.button1
ppjoy1.digital7=joystick1.button6
ppjoy1.digital8=joystick1.button7
ppjoy1.digital13=joystick1.button1

// Tab,ShiftTab for targets
if joystick1.button8 then {
   Key.Shift=true
   Key.Tab=true
   Key.Tab=false
   Key.Shift=false
   wait 100ms
} else if joystick1.button9 then {
   Key.Tab=true
   Key.Tab=false
   wait 100ms
}

// Zoom mgmt
var.b10 = joystick1.button10 // Keep zoomed out
var.b11 = joystick1.button11 // Keep zoomed in

if var.b10 or (Key.Windows and Mouse.WheelDown) then {
   //Mouse.DirectInputZ=1
   var.z=faketrackir.z-1
   faketrackir.z=max(var.z, -1)
   wait 500ms
}
if var.b11 or (Key.Windows and Mouse.WheelUp)  then {
   //Mouse.DirectInputZ=0
   var.z=faketrackir.z+1
   faketrackir.z=min(var.z, 1)
   wait 500ms
}

// axes
ppjoy1.analog0=joystick1.x
ppjoy1.analog2=joystick1.z

// y dead 0.03 -0.18
var.y=joystick1.y
if var.y < -0.18 then {
  var.ey=EnsureMapRange(var.y, -1, -0.18 , -1, -0.01)
  ppjoy1.Analog1=var.ey
  //ppjoy1.analog1=var.y
} else if var.y > 0.03 then {
  var.ey=EnsureMapRange(var.y, 0.03 , 1, 0.01 , 1)
  ppjoy1.Analog1=var.ey
} else {
  ppjoy1.analog1=0
}

// arma always choose the wheel over ppjoy
// if (joy2.productname="Logitech G25 Racing Wheel USB")

ppjoy1.analog3=joystick2.x
ppjoy1.analog4=joystick2.y
ppjoy1.analog5=EnsureMapRange(joystick2.roll, -1, 1, -3, 3)

// FreeTrack
if var.TRACKIR then {
  faketrackir.pitch=realtrackir.pitch
  faketrackir.yaw=realtrackir.yaw
  //var.irz=EnsureMapRange(realtrackir.pitch, -5, 5, -1, 1)
}

if Key.Windows then
    if Key.Shift then {
       if (! var.in_lean) then { // initial
          var.lean_t0=mouse.DirectInputX
          var.tune_lean=false
          var.in_lean=true
       }
       if (! var.tune_lean) then {
          var.lean_t0=mouse.DirectInputX-var.lean
          var.tune_lean=true
       }
       var.lean=mouse.DirectInputX - var.lean_t0
       faketrackir.x=EnsureMapRange(var.lean, -(var.MOUSE_LEAN), var.MOUSE_LEAN, -1, 1)
    } else {
       var.tune_lean=false
    }
} else {
  faketrackir.x=0
  var.lean=0
  var.in_lean=false
}