本帖最后由 shilka 于 2011-9-22 06:43 编辑
thesniper1v1 发表于 2011-9-19 21:33
按键设置的是可以工作的
但是他模拟方式,是模拟鼠标在桌面移动,以屏幕中点为起点,如果分辨率为1920x1 ...
我找到变通的办法了,譬如对于H1U按钮,在源文件里写- include "test_Macros.ttm"
- ...
- int intX;
- int Mouse_Up_Program;
- ...
- int main()
- {...
- SetKBRate(25, 33);
- Mouse_Up_Program = CHAIN(EXEC("ActKey(KEYON+AXIS(MOUSE_Y_AXIS, -100, 20));"),D(),EXEC("ActKey(AXIS(MOUSE_Y_AXIS, -100, 20));intX=intX-100;"));
- ...
- MapKey(&Joystick, H1U, mouseUp);
- MapKeyR(&Joystick, H1U, mouseUpR);
- ...
- }
复制代码
然后新建一个名叫test_Macros.ttm的宏定义文件,在里面写
- define mouseUp REXEC(0,50,"ActKey(KEYON+Mouse_Up_Program);")
- define mouseUpR CHAIN(EXEC("if(intX<-6000) ActKey(KEYON+AXIS(MOUSE_Y_AXIS, 0-intX, 20));"),D(),EXEC("if(intX<-6000) ActKey(AXIS(MOUSE_Y_AXIS, 0-intX, 20));"),D(),EXEC("if(intX<-6000) intX=0;"))
复制代码
这样每当鼠标离开中点距离超过6000的时候,松开H1U会把鼠标在TARGET的逻辑里自动归中。为了方便调试这个例子里只使用了鼠标轴事件,没有添加你要的ctrl
写出来有些复杂.不如你把你的配置文件发上来,我帮你整体修改一下.你把你的源代码整个贴上来,就是点击"View Script"之后显示的代码段。
注意在我修改以后你就不能再使用GUI的脚本编辑界面了,只能用Script Editor。所以如果你不打算今后都使用Script Editor的话就把其他所有功能都安排好之后再发给我。或者在thrustmaster品牌交流群里叫我一声。
|