quote:Originally posted by morgath:
Hello Charvel , i�m not the author but maybe i can help.
check this (all):
1 - in the TIR profile you are using for PF all axis are operative. (in default profile for FB/PF, zoom axis isn�t operative)
2 - open the virtual joystick (you only need one) in the windows control panel, open TIR and tir2joy too, and test if your head move the joystick axis, if it makes it, your "Joystick = *" value is correct, if not, check it changing the value "4" for different values like 2, 3, 4 etc... not coincident with your real peripheals. (sometimes this can use unexplicable values, don�t worry for that, it�s not a problem)
-Set in controls panel in FB/PF the next values:
Wide view = Numpad +; Fov 85 = Numpad -; FOV 80 = Numpad *;
FOV 75 = Numpad 1; Normal View = Numpad 2; FOV 65 = Numpad 3;
FOV 60 = Numpad 4, FOV 55 = Numpad 5; FOV 50 =Numpad 6;
FOV 45 = Numpad 7;, FOV 40 = Numpad 8; Fov 35 = Numpad 9; Gunsight View = Numpad Insert
and reserve this keys, no use or combine with
Shift, control or alt, in another function.
if the movement is incorrect, (erratic, for example) maybe the autohotkey is using an incorrect axis, check tis line in the mave F1 text:
JoystickAxis = y
and change the "Y" for: "X" or "Y"
"Z" "R" "U" "V" (more common is "V")
if it now runs, remenber that you can adjust the distance and movement progression with the windows settings of the virtual joystick
if not run,(or not understand something) don�t worry, continue asking here.
sure it will be easy of repair.
good luckFirst of all thanks very much for your help, morgath!
Okay, still not working but here's what I've done:
1) checked TIR profile (custom) and all axes, including "Y" are enabled.
2) Opened virtual joystick in control panel, just shows that there's a virtual joystick there. Not sure if this window needs to be open so I left it open. Should I be using one of the other shortcuts to open (eg. PPjoyCOM, PPjoyKEY, PPjoyMOUSE...etc.)? I tried having the PPjoyMouse open anyway on another attempt.
3) Make sure TIR software is on and open TIR2JOY. It shows a window with X, Y values constantly changing (very fast). It seems to react to my headmovements. I leave this window open.
4) Start Hotkey program with the script pasted into the AutoHotkey.ini. Double-clicking the tray icon shows this:
quote:Script lines most recently executed (oldest first). Press [F5] to refresh.
The seconds elapsed between a line and the one after it is in parens to the right (if not 0).
The bottommost line's elapsed time is the number of seconds since it executed.
091: if joystate between 072 and 100
097: Sleep,25 (0.03)
098: }
017: {
018: GetKeyState,joystate,%JoystickNumber%Joy%JoystickAxis%
019: if joystate between 000 and 013
025: if joystate between 014 and 018
031: if joystate between 019 and 023
037: if joystate between 024 and 028
043: if joystate between 029 and 033
049: if joystate between 034 and 038
055: if joystate between 039 and 043
061: if joystate between 044 and 048
067: if joystate between 049 and 056
068: if sent_button <> 9
073: if joystate between 057 and 061
079: if joystate between 062 and 066
085: if joystate between 067 and 071
091: if joystate between 072 and 100
097: Sleep,25 (0.03)
098: }
017: {
018: GetKeyState,joystate,%JoystickNumber%Joy%JoystickAxis%
019: if joystate between 000 and 013
025: if joystate between 014 and 018
031: if joystate between 019 and 023
037: if joystate between 024 and 028
043: if joystate between 029 and 033
049: if joystate between 034 and 038
055: if joystate between 039 and 043
061: if joystate between 044 and 048
067: if joystate between 049 and 056
068: if sent_button <> 9
073: if joystate between 057 and 061
079: if joystate between 062 and 066
085: if joystate between 067 and 071
091: if joystate between 072 and 100
097: Sleep,25 (0.03)
098: }
017: {
018: GetKeyState,joystate,%JoystickNumber%Joy%JoystickAxis%
019: if joystate between 000 and 013
025: if joystate between 014 and 018
031: if joystate between 019 and 023
037: if joystate between 024 and 028
043: if joystate between 029 and 033
049: if joystate between 034 and 038
055: if joystate between 039 and 043
061: if joystate between 044 and 048
067: if joystate between 049 and 056
068: if sent_button <> 9
073: if joystate between 057 and 061
079: if joystate between 062 and 066
085: if joystate between 067 and 071
091: if joystate between 072 and 100
097: Sleep,25 (0.03)
098: }
017: {
018: GetKeyState,joystate,%JoystickNumber%Joy%JoystickAxis%
019: if joystate between 000 and 013
025: if joystate between 014 and 018
031: if joystate between 019 and 023
037: if joystate between 024 and 028
043: if joystate between 029 and 033
049: if joystate between 034 and 038
055: if joystate between 039 and 043
061: if joystate between 044 and 048
067: if joystate between 049 and 056
068: if sent_button <> 9
073: if joystate between 057 and 061
079: if joystate between 062 and 066
085: if joystate between 067 and 071
091: if joystate between 072 and 100
097: Sleep,25 (0.03)
098: }
017: {
018: GetKeyState,joystate,%JoystickNumber%Joy%JoystickAxis%
019: if joystate between 000 and 013
025: if joystate between 014 and 018
031: if joystate between 019 and 023
037: if joystate between 024 and 028
043: if joystate between 029 and 033
049: if joystate between 034 and 038
055: if joystate between 039 and 043
061: if joystate between 044 and 048
067: if joystate between 049 and 056
068: if sent_button <> 9
073: if joystate between 057 and 061
079: if joystate between 062 and 066
085: if joystate between 067 and 071
091: if joystate between 072 and 100
097: Sleep,25 (0.03)
098: }
017: {
018: GetKeyState,joystate,%JoystickNumber%Joy%JoystickAxis%
019: if joystate between 000 and 013
025: if joystate between 014 and 018
031: if joystate between 019 and 023
037: if joystate between 024 and 028
043: if joystate between 029 and 033
049: if joystate between 034 and 038
055: if joystate between 039 and 043
061: if joystate between 044 and 048
067: if joystate between 049 and 056
068: if sent_button <> 9
073: if joystate between 057 and 061
079: if joystate between 062 and 066
085: if joystate between 067 and 071
091: if joystate between 072 and 100
097: Sleep,25 (0.03)
098: }
017: {
018: GetKeyState,joystate,%JoystickNumber%Joy%JoystickAxis%
019: if joystate between 000 and 013
025: if joystate between 014 and 018
031: if joystate between 019 and 023
037: if joystate between 024 and 028
043: if joystate between 029 and 033
049: if joystate between 034 and 038
055: if joystate between 039 and 043
061: if joystate between 044 and 048
067: if joystate between 049 and 056
068: if sent_button <> 9
073: if joystate between 057 and 061
079: if joystate between 062 and 066
085: if joystate between 067 and 071
091: if joystate between 072 and 100
097: Sleep,25 (0.03)
098: }
017: {
018: GetKeyState,joystate,%JoystickNumber%Joy%JoystickAxis%
019: if joystate between 000 and 013
025: if joystate between 014 and 018
031: if joystate between 019 and 023
037: if joystate between 024 and 028
043: if joystate between 029 and 033
049: if joystate between 034 and 038
055: if joystate between 039 and 043
061: if joystate between 044 and 048
067: if joystate between 049 and 056
068: if sent_button <> 9
073: if joystate between 057 and 061
079: if joystate between 062 and 066
085: if joystate between 067 and 071
091: if joystate between 072 and 100
097: Sleep,25 (0.03)
098: }
017: {
018: GetKeyState,joystate,%JoystickNumber%Joy%JoystickAxis%
019: if joystate between 000 and 013
025: if joystate between 014 and 018
031: if joystate between 019 and 023
037: if joystate between 024 and 028
043: if joystate between 029 and 033
049: if joystate between 034 and 038
055: if joystate between 039 and 043
061: if joystate between 044 and 048
067: if joystate between 049 and 056
068: if sent_button <> 9
073: if joystate between 057 and 061
079: if joystate between 062 and 066
085: if joystate between 067 and 071
091: if joystate between 072 and 100
097: Sleep,25 (0.03)
098: }
017: {
018: GetKeyState,joystate,%JoystickNumber%Joy%JoystickAxis%
019: if joystate between 000 and 013
025: if joystate between 014 and 018
031: if joystate between 019 and 023
037: if joystate between 024 and 028
043: if joystate between 029 and 033
049: if joystate between 034 and 038
055: if joystate between 039 and 043
061: if joystate between 044 and 048
067: if joystate between 049 and 056
068: if sent_button <> 9
073: if joystate between 057 and 061
079: if joystate between 062 and 066
085: if joystate between 067 and 071
091: if joystate between 072 and 100
097: Sleep,25 (0.03)
098: }
017: {
018: GetKeyState,joystate,%JoystickNumber%Joy%JoystickAxis%
019: if joystate between 000 and 013
025: if joystate between 014 and 018
031: if joystate between 019 and 023
037: if joystate between 024 and 028
043: if joystate between 029 and 033
049: if joystate between 034 and 038
055: if joystate between 039 and 043
061: if joystate between 044 and 048
067: if joystate between 049 and 056
068: if sent_button <> 9
073: if joystate between 057 and 061
079: if joystate between 062 and 066
085: if joystate between 067 and 071
091: if joystate between 072 and 100
097: Sleep,25 (0.02)
Press [F5] to refresh.Tried creating my own .AHK file and starting AuotHotkey with that but no luck. When opening it up in Notepad it shows this:
quote:; TrackIR Zoom Script for IL2FB/AEP/PF
;
http://www.lufthunden.com
; This script is used to send single keypresses to manage FOV in IL2.
; =LH=Mave's Xmas present for the IL2 community
#SingleInstance
SetFormat, float, 03 ; Omit decimal point from axis position percentages.
JoystickNumber = 4 ; Increase this to test a joystick other than the first.
JoystickAxis = y ; Set this to the axis you want to use.
GetKeyState, axis_count, %JoystickNumber%JoyAxes
if axis_count < 1
{
MsgBox Joystick #%JoystickNumber% does not appear to be attached to the system.
ExitApp
}
Loop
{
GetKeyState, joystate, %JoystickNumber%Joy%JoystickAxis%
if joystate between 000 and 013
ifNotEqual, sent_button, 1
{
sent_button = 1
Send, +{Numpad0 1}
}
if joystate between 014 and 018
ifNotEqual, sent_button, 2
{
sent_button = 2
Send, +{Numpad9 1}
}
if joystate between 019 and 023
ifNotEqual, sent_button, 3
{
sent_button = 3
Send, +{Numpad8 1}
}
if joystate between 024 and 028
ifNotEqual, sent_button, 4
{
sent_button = 4
Send, +{Numpad7 1}
}
if joystate between 029 and 033
ifNotEqual, sent_button, 5
{
sent_button = 5
Send, +{Numpad6 1}
}
if joystate between 034 and 038
ifNotEqual, sent_button, 6
{
sent_button = 6
Send, +{Numpad5 1}
}
if joystate between 039 and 043
ifNotEqual, sent_button, 7
{
sent_button = 7
Send, +{Numpad4 1}
}
if joystate between 044 and 048
ifNotEqual, sent_button, 8
{
sent_button = 8
Send, +{Numpad3 1}
}
if joystate between 049 and 056
ifNotEqual, sent_button, 9
{
sent_button = 9
Send, +{Numpad2 1}
}
if joystate between 057 and 061
ifNotEqual, sent_button, 10
{
sent_button = 10
Send, +{Numpad1 1}
}
if joystate between 062 and 066
ifNotEqual, sent_button, 11
{
sent_button = 11
Send, +{NumpadMult 1}
}
if joystate between 067 and 071
ifNotEqual, sent_button, 12
{
sent_button = 12
Send, +{NumpadSub 1}
}
if joystate between 072 and 100
ifNotEqual, sent_button, 13
{
sent_button = 13
Send, +{NumpadAdd 1}
}
Sleep, 25
}
return*copy/pasted here
5) Start PF and change all values for FOV to what you specified. I thought these were supposed to be "shift"+ numpad x but I just did them exactly as you said and removed any other assignments to these keys.
6) Try a QMB and get nothing. TIR works as always but not a hint of any key changes or anomolous stuff happening.
I'm probably just doing something dumb but after spending all this time on it I'm kind of determined to figure it out.
Thanks again for your help.