Advertisement
Guest User

Untitled

a guest
Jul 1st, 2015
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 8.51 KB | None | 0 0
  1. include "target.tmh" //here we link this file to the file that contains function code
  2.  
  3. //program startup
  4. int ScalevalueX; ///custom function for Scale management
  5. int ScalevalueY; ///custom function for Scale management
  6. int curvevalueX; ///custom function for curve management
  7. int curvevalueY; ///custom function for curve management
  8.  
  9.  
  10.  
  11.  
  12.  
  13. int main()
  14. {
  15. if(Init(&EventHandle)) return 1; // declare the event handler, return on error
  16.  
  17. //script and function functions go here
  18.  
  19.  
  20. //////////////////////////////////////////////////////////////////////////////////////
  21. //////////////////////////////////////////////////////////////////////////////////////
  22. //////////////////////////////////////////////////////////////////////////////////////
  23.  
  24.  
  25. //Layer selection
  26. SetShiftButton(&Throttle, MSL, &Throttle, BSF, BSB, 0);
  27.  
  28. //axis mapping T16000
  29. MapAxis(&T16000, JOYX, DX_X_AXIS);
  30. MapAxis(&T16000, JOYY, DX_Y_AXIS);
  31.  
  32. //axis mapping  Warthog Throttle
  33. MapAxis(&Throttle, THR_LEFT, DX_ZROT_AXIS);
  34. MapAxis(&Throttle, THR_RIGHT, DX_Z_AXIS);
  35. MapAxis(&Throttle, SCX, DX_XROT_AXIS);
  36. MapAxis(&Throttle, SCY, DX_YROT_AXIS);
  37. MapAxis(&Throttle, THR_FC, DX_SLIDER_AXIS);
  38.  
  39. //Axes default curves
  40. SetSCurve(&T16000, JOYY, 0, 0, 0, 0, 0);
  41. SetSCurve(&T16000, JOYX, 0, 0, 0, 0, 0);
  42. //Reset Scale - Curve
  43. MapKeyIOUMD(&T16000, TS2,
  44. 'v',
  45. TEMPO(CHAIN(EXEC("ScalevalueX = 0;"), EXEC("ScalevalueY = 0;"), EXEC("SetSCurve(&T16000, JOYY, 0, 0, 0, curvevalueY, ScalevalueY);"), EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, curvevalueX, ScalevalueX);")), CHAIN(EXEC("curvevalueX = 0;"), EXEC("curvevalueY = 0;"), EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, curvevalueX, ScalevalueX);"), EXEC("SetSCurve(&T16000, JOYY, 0, 0, 0, curvevalueY, ScalevalueY);"), 333)),
  46. 'v',
  47. TEMPO(CHAIN(EXEC("ScalevalueX = 0;"), EXEC("ScalevalueY = 0;"), EXEC("SetSCurve(&T16000, JOYY, 0, 0, 0, curvevalueY, ScalevalueY);"), EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, curvevalueX, ScalevalueX);")), CHAIN(EXEC("curvevalueX = 0;"), EXEC("curvevalueY = 0;"), EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, curvevalueX, ScalevalueX);"), EXEC("SetSCurve(&T16000, JOYY, 0, 0, 0, curvevalueY, ScalevalueY);"), 333)),
  48. 'v',
  49. TEMPO(CHAIN(EXEC("ScalevalueX = 0;"), EXEC("ScalevalueY = 0;"), EXEC("SetSCurve(&T16000, JOYY, 0, 0, 0, curvevalueY, ScalevalueY);"), EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, curvevalueX, ScalevalueX);")), CHAIN(EXEC("curvevalueX = 0;"), EXEC("curvevalueY = 0;"), EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, curvevalueX, ScalevalueX);"), EXEC("SetSCurve(&T16000, JOYY, 0, 0, 0, curvevalueY, ScalevalueY);"), 333))
  50. );
  51.  
  52. //////////////////////////////////////////////////////////////////////////////////////
  53. //////////////////////////////////////////////////////////////////////////////////////
  54. //////////////////////////////////////////////////////////////////////////////////////
  55.  
  56.  
  57. //Layered HAT
  58.  
  59. MapKeyIOUMD(&T16000, H1U,
  60. TEMPO(CHAIN(PULSE+'t', D(), PULSE+USB[0x5B], D(), PULSE+USB[0x59]), CHAIN(PULSE+'t', D(), PULSE+USB[0x5B], D(), PULSE+USB[0x5A]), 333),
  61. EXEC("TrimDXAxis(DX_X_AXIS, CURRENT);TrimDXAxis(DX_Y_AXIS, CURRENT);"),
  62. TEMPO(CHAIN(PULSE+'t', D(), PULSE+USB[0x5B], D(), PULSE+USB[0x59]), CHAIN(PULSE+'t', D(), PULSE+USB[0x5B], D(), PULSE+USB[0x5A]), 333),
  63. EXEC("TrimDXAxis(DX_X_AXIS, CURRENT);TrimDXAxis(DX_Y_AXIS, CURRENT);"),
  64. TEMPO(CHAIN(PULSE+'t', D(), PULSE+USB[0x5B], D(), PULSE+USB[0x59]), CHAIN(PULSE+'t', D(), PULSE+USB[0x5B], D(), PULSE+USB[0x5A]), 333),
  65. REXEC(1, 100, "TrimDXAxis(DX_Y_AXIS, -2);"));
  66.  
  67.  
  68. MapKeyIOUMD(&T16000, H1D,
  69. TEMPO(CHAIN(PULSE+'t', D(), PULSE+USB[0x5C], D(), PULSE+USB[0x5B]), CHAIN(PULSE+'t', D(), PULSE+USB[0x5C], D(), PULSE+USB[0x5C]), 333),
  70. EXEC("TrimDXAxis(DX_X_AXIS, SET(0));TrimDXAxis(DX_Y_AXIS, SET(0));"),
  71. TEMPO(CHAIN(PULSE+'t', D(), PULSE+USB[0x5C], D(), PULSE+USB[0x5B]), CHAIN(PULSE+'t', D(), PULSE+USB[0x5C], D(), PULSE+USB[0x5C]), 333),
  72. EXEC("TrimDXAxis(DX_X_AXIS, SET(0));TrimDXAxis(DX_Y_AXIS, SET(0));"),
  73. TEMPO(CHAIN(PULSE+'t', D(), PULSE+USB[0x5C], D(), PULSE+USB[0x5B]), CHAIN(PULSE+'t', D(), PULSE+USB[0x5C], D(), PULSE+USB[0x5C]), 333),
  74. REXEC(1, 100, "TrimDXAxis(DX_Y_AXIS, 2);"));
  75.  
  76. MapKeyIOUMD(&T16000, H1L,
  77. TEMPO(CHAIN(PULSE+'t', D(), PULSE+USB[0x59], D(), PULSE+USB[0x59]), CHAIN(PULSE+'t', D(), PULSE+USB[0x59], D(), PULSE+USB[0x5A]), 333),
  78. CHAIN(
  79. EXEC("ScalevalueX = ScalevalueX -1;"),
  80. EXEC("ScalevalueY = ScalevalueY -1;"),
  81. EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, 0, ScalevalueX);"),
  82. EXEC("SetSCurve(&T16000, JOYY, 0, 0, 0, 0, ScalevalueY);")),
  83. TEMPO(CHAIN(PULSE+'t', D(), PULSE+USB[0x59], D(), PULSE+USB[0x59]), CHAIN(PULSE+'t', D(), PULSE+USB[0x59], D(), PULSE+USB[0x5A]), 333),
  84. CHAIN(EXEC("curvevalueX = curvevalueX + 1;"), EXEC("curvevalueY = curvevalueY + 1;"), EXEC("SetSCurve(&T16000, JOYY, 0, 0, 0, curvevalueY, ScalevalueY);"), EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, curvevalueX, ScalevalueX);")),
  85. TEMPO(CHAIN(PULSE+'t', D(), PULSE+USB[0x59], D(), PULSE+USB[0x59]), CHAIN(PULSE+'t', D(), PULSE+USB[0x59], D(), PULSE+USB[0x5A]), 333),
  86. REXEC(0, 100, "TrimDXAxis(DX_X_AXIS, -2);"));
  87.  
  88.  
  89. MapKeyIOUMD(&T16000, H1R,
  90. TEMPO(CHAIN(PULSE+'t', D(), PULSE+USB[0x5A], D(), PULSE+USB[0x59]), CHAIN(PULSE+'t', D(), PULSE+USB[0x5A], D(), PULSE+USB[0x5A]), 333),
  91. CHAIN(
  92. EXEC("ScalevalueX = ScalevalueX +1;"),
  93. EXEC("ScalevalueY = ScalevalueY +1;"),
  94. EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, 0, ScalevalueX);"),
  95. EXEC("SetSCurve(&T16000, JOYY, 0, 0, 0, 0, ScalevalueY);")),
  96. TEMPO(CHAIN(PULSE+'t', D(), PULSE+USB[0x5A], D(), PULSE+USB[0x59]), CHAIN(PULSE+'t', D(), PULSE+USB[0x5A], D(), PULSE+USB[0x5A]), 333),
  97. CHAIN(EXEC("curvevalueX = curvevalueX - 1;"), EXEC("curvevalueY = curvevalueY - 1;"), EXEC("SetSCurve(&T16000, JOYY, 0, 0, 0, curvevalueY, ScalevalueY);"), EXEC("SetSCurve(&T16000, JOYX, 0, 0, 0, curvevalueX, ScalevalueX);")),
  98. TEMPO(CHAIN(PULSE+'t', D(), PULSE+USB[0x5A], D(), PULSE+USB[0x59]), CHAIN(PULSE+'t', D(), PULSE+USB[0x5A], D(), PULSE+USB[0x5A]), 333),
  99. REXEC(0, 100, "TrimDXAxis(DX_X_AXIS, 2);"));
  100.  
  101.  
  102.  
  103. //War Thunder Setting
  104.  
  105. //////////////////////////////////////////////////////////////////////////////////////
  106. //////////////////////////////////////////////////////////////////////////////////////
  107. //////////////////////////////////////////////////////////////////////////////////////
  108.  
  109. //Calling for Help, Follow me
  110. //MapKey(&Throttle, CSU, TEMPO(CHAIN(PULSE+'t', D(), PULSE+USB[0x5C], D(), PULSE+USB[0x5A]), CHAIN(PULSE+'t', D(), PULSE+USB[0x5C], D(), PULSE+USB[0x59]), 333));
  111.  
  112. //Start Engine, Auto-Manual engine control
  113. MapKey(&Throttle, LDGH, TEMPO(PULSE+'i', PULSE+'o', 500));
  114.  
  115. //Auto-Manual Propeller, Radiator control
  116. MapKey(&Throttle, EORIGN, TEMPO(PULSE+'u', PULSE+'y', 500));
  117.  
  118. //Magneto next, Preview
  119. MapKey(&Throttle, EOLIGN, TEMPO(PULSE+USB[0x4B], PULSE+USB[0x4E], 500));
  120.  
  121. //Gear, Propeller to Flag
  122. MapKey(&Throttle, LTB, TEMPO(PULSE+USB[0x0A], PULSE+USB[0x4A], 500));
  123.  
  124. MapKey(&T16000, B9, TEMPO(CHAIN(PULSE+'t', D(), PULSE+USB[0x5C], D(), PULSE+USB[0x5E]), CHAIN(PULSE+'t', D(), PULSE+USB[0x5B], D(), PULSE+USB[0x5B]), 333));
  125.  
  126. MapKey(&Throttle, CHF, TEMPO(PULSE+'v', 0, 333));
  127.  
  128. MapKey(&Throttle, CSD, REXEC(1, 100, "TrimDXAxis(DX_Y_AXIS, -10);"));
  129.  
  130.  
  131. //Skype - TeamSpeack PTT
  132. MapKey(&Throttle, MSP, USB[0x2D]);
  133.  
  134. //Track Ir + FaceTrackNoIr
  135.  
  136. //////////////////////////////////////////////////////////////////////////////////////
  137. //////////////////////////////////////////////////////////////////////////////////////
  138. //////////////////////////////////////////////////////////////////////////////////////
  139.  
  140. //MapKey(&Throttle, MSL, CHAIN(PULSE+R_CTL+DARROW, PULSE+PGUP));
  141. //MapKeyR(&Throttle, MSL, CHAIN(PULSE+R_CTL+DARROW, PULSE+PGUP));
  142.  
  143. MapKeyIOUMD(&T16000, TS3, MOUSE_LEFT, SPC, MOUSE_LEFT, SPC, MOUSE_LEFT, SPC);
  144. MapKeyIOUMD(&T16000, TS4, MOUSE_RIGHT, TEMPO(PULSE+KP0, USB[0x10], 100), MOUSE_RIGHT, TEMPO(PULSE+KP0, USB[0x10], 100), MOUSE_RIGHT, TEMPO(PULSE+KP0, USB[0x10], 100));
  145.  
  146. //////////////////////////////////////////////////////////////////////////////////////
  147. //////////////////////////////////////////////////////////////////////////////////////
  148. //////////////////////////////////////////////////////////////////////////////////////
  149.  
  150. MapKeyUMD(&Throttle, CSU,
  151. TEMPO(CHAIN(PULSE+'k', D(), PULSE+USB[0x5C], D(), PULSE+USB[0x5A]), CHAIN(PULSE+'k', D(), PULSE+USB[0x5C], D(), PULSE+USB[0x59]), 333),
  152. TEMPO(CHAIN(PULSE+'t', D(), PULSE+USB[0x5C], D(), PULSE+USB[0x5A]), CHAIN(PULSE+'t', D(), PULSE+USB[0x5C], D(), PULSE+USB[0x59]), 333),
  153. 0);
  154.  
  155. //////////////////////////////////////////////////////////////////////////////////////
  156. //////////////////////////////////////////////////////////////////////////////////////
  157. //////////////////////////////////////////////////////////////////////////////////////
  158.  
  159.  
  160.  
  161. }
  162.  
  163. int EventHandle(int type, alias o, int x)
  164. {
  165. DefaultMapping(&o, x);
  166. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement