logicinputmovemap.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. // Movemap used in keyboard-only mode
  2. if(isObject(LogicInput_MoveMap_Keys)){ LogicInput_MoveMap_Keys.delete(); }
  3. new ActionMap(LogicInput_MoveMap_Keys);
  4. $LogicInput_KeyCount = 0;
  5. function LogicInput_AddKey(%key, %device) {
  6. if(%device $= "") {
  7. %device = "keyboard";
  8. %map = LogicInput_MoveMap_Keys;
  9. } else if(%device $= "mouse0") {
  10. %map = LogicInput_MoveMap_Axis;
  11. }
  12. %keyidx = $LogicInput_KeyCount;
  13. $LogicInput_KeyCount++;
  14. eval("function LogicInput_KeyHit" @ %keyidx @ "(%s) { LogicInput_SendKey(\"" @ expandEscape(%key) @ "\", %s); }");
  15. %map.bind(%device, %key, "LogicInput_KeyHit" @ %keyidx);
  16. }
  17. // Movemap added on for mouse mode
  18. if(isObject(LogicInput_MoveMap_Axis)){ LogicInput_MoveMap_Axis.delete(); }
  19. new ActionMap(LogicInput_MoveMap_Axis);
  20. $LogicInput_AxisCount = 0;
  21. function LogicInput_AddAxis(%axis) {
  22. %axisidx = $LogicInput_AxisCount;
  23. $LogicInput_AxisCount++;
  24. eval("function LogicInput_AxisMove" @ %axisidx @ "(%x) { LogicInput_SendAxis(\"" @ expandEscape(%axis) @ "\", %x); }");
  25. LogicInput_MoveMap_Axis.bind("mouse0", %axis, "LogicInput_AxisMove" @ %axisidx);
  26. }
  27. // List of keys and axes to capture
  28. LogicInput_AddAxis("xaxis");
  29. LogicInput_AddAxis("yaxis");
  30. LogicInput_AddAxis("zaxis");
  31. LogicInput_AddKey("button0", "mouse0");
  32. LogicInput_AddKey("button1", "mouse0");
  33. LogicInput_AddKey("button2", "mouse0");
  34. LogicInput_AddKey("button3", "mouse0");
  35. LogicInput_AddKey("button4", "mouse0");
  36. LogicInput_AddKey("backspace");
  37. LogicInput_AddKey("tab");
  38. LogicInput_AddKey("return");
  39. LogicInput_AddKey("space");
  40. LogicInput_AddKey("end");
  41. LogicInput_AddKey("home");
  42. LogicInput_AddKey("left");
  43. LogicInput_AddKey("up");
  44. LogicInput_AddKey("right");
  45. LogicInput_AddKey("down");
  46. LogicInput_AddKey("insert");
  47. LogicInput_AddKey("delete");
  48. LogicInput_AddKey("0");
  49. LogicInput_AddKey("1");
  50. LogicInput_AddKey("2");
  51. LogicInput_AddKey("3");
  52. LogicInput_AddKey("4");
  53. LogicInput_AddKey("5");
  54. LogicInput_AddKey("6");
  55. LogicInput_AddKey("7");
  56. LogicInput_AddKey("8");
  57. LogicInput_AddKey("9");
  58. LogicInput_AddKey("a");
  59. LogicInput_AddKey("b");
  60. LogicInput_AddKey("c");
  61. LogicInput_AddKey("d");
  62. LogicInput_AddKey("e");
  63. LogicInput_AddKey("f");
  64. LogicInput_AddKey("g");
  65. LogicInput_AddKey("h");
  66. LogicInput_AddKey("i");
  67. LogicInput_AddKey("j");
  68. LogicInput_AddKey("k");
  69. LogicInput_AddKey("l");
  70. LogicInput_AddKey("m");
  71. LogicInput_AddKey("n");
  72. LogicInput_AddKey("o");
  73. LogicInput_AddKey("p");
  74. LogicInput_AddKey("q");
  75. LogicInput_AddKey("r");
  76. LogicInput_AddKey("s");
  77. LogicInput_AddKey("t");
  78. LogicInput_AddKey("u");
  79. LogicInput_AddKey("v");
  80. LogicInput_AddKey("w");
  81. LogicInput_AddKey("x");
  82. LogicInput_AddKey("y");
  83. LogicInput_AddKey("z");
  84. LogicInput_AddKey("numpad0");
  85. LogicInput_AddKey("numpad1");
  86. LogicInput_AddKey("numpad2");
  87. LogicInput_AddKey("numpad3");
  88. LogicInput_AddKey("numpad4");
  89. LogicInput_AddKey("numpad5");
  90. LogicInput_AddKey("numpad6");
  91. LogicInput_AddKey("numpad7");
  92. LogicInput_AddKey("numpad8");
  93. LogicInput_AddKey("numpad9");
  94. LogicInput_AddKey("*");
  95. LogicInput_AddKey("+");
  96. LogicInput_AddKey("numpadenter");
  97. LogicInput_AddKey("minus");
  98. LogicInput_AddKey("numpaddecimal");
  99. LogicInput_AddKey("/");
  100. LogicInput_AddKey("f1");
  101. LogicInput_AddKey("f2");
  102. LogicInput_AddKey("f3");
  103. LogicInput_AddKey("f4");
  104. LogicInput_AddKey("f5");
  105. LogicInput_AddKey("f6");
  106. LogicInput_AddKey("f7");
  107. LogicInput_AddKey("f8");
  108. LogicInput_AddKey("f9");
  109. LogicInput_AddKey("f10");
  110. LogicInput_AddKey("f11");
  111. LogicInput_AddKey("f12");
  112. LogicInput_AddKey("lshift");
  113. LogicInput_AddKey("rshift");
  114. LogicInput_AddKey("lcontrol");
  115. LogicInput_AddKey("rcontrol");
  116. LogicInput_AddKey("lalt");
  117. LogicInput_AddKey("ralt");
  118. LogicInput_AddKey(";");
  119. LogicInput_AddKey(",");
  120. LogicInput_AddKey(".");
  121. LogicInput_AddKey("/");
  122. LogicInput_AddKey("`");
  123. LogicInput_AddKey("[");
  124. LogicInput_AddKey("\\");
  125. LogicInput_AddKey("]");
  126. LogicInput_AddKey("=");
  127. LogicInput_AddKey("apostrophe");
  128. LogicInput_AddKey("pageup");
  129. LogicInput_AddKey("pagedown");
  130. LogicInput_AddKey("escape");