# Handling_Inputs.xml [[Go back to index]](..\..\..\Template_Explorer.html) Asobo\(Common\)Inputs\\Handling\_Inputs.xml ------------------------------------------- Source XML <ModelBehaviors> <Include RelativeFile="..\\..\\\(Inputs\)\\Helpers.xml"/> <InputEvent ID="HANDLING"> <Presets> <Switch> <Case NotEmpty="FLAPS\_ID"> <Preset ID="HANDLING\_Flaps"> <Parameters Type="Default"> <STEP\_INCREMENT>1 (A:FLAPS NUM HANDLE POSITIONS, Number) / 16384 \*</STEP\_INCREMENT> <Condition Valid="IS\_CONTINUOUS"> <True> <INCREMENT>32</INCREMENT> </True> <False> <INCREMENT>1</INCREMENT> </False> </Condition> <UPPER\_LIMIT>16384</UPPER\_LIMIT> <LOWER\_LIMIT>0</LOWER\_LIMIT> <ON\_BEFORE\_INC/> <ON\_BEFORE\_DEC/> <ON\_BEFORE\_SET/> <ON\_AFTER\_INC\_EXTERNAL\_CODE/> <ON\_AFTER\_DEC\_EXTERNAL\_CODE/> <ON\_AFTER\_SET/> <ON\_AFTER\_INC/> <ON\_AFTER\_DEC/> <IS\_CONTINUOUS>False</IS\_CONTINUOUS> <TT\_VALUE>(A:FLAPS HANDLE PERCENT, Percent) '%.1f%%' @sprintf</TT\_VALUE> </Parameters> <Parameters Type="Default"> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE/> <ON\_STATE\_CHANGED/> <TT\_DESCRIPTION\_ID>@TT\_Package.HANDLING\_LEVER\_FLAPS\_ACTION\_SET</TT\_DESCRIPTION\_ID> </Parameters> <Parameters Type="Override"> <ON\_STATE\_CHANGED>\#ON\_STATE\_CHANGED\# \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\#</ON\_STATE\_CHANGED> <ON\_AFTER\_INC>\#ON\_AFTER\_INC\# \#ON\_AFTER\_INC\_EXTERNAL\_CODE\#</ON\_AFTER\_INC> <ON\_AFTER\_DEC>\#ON\_AFTER\_DEC\# \#ON\_AFTER\_DEC\_EXTERNAL\_CODE\#</ON\_AFTER\_DEC> <DEC\_EVENT>(A:FLAPS HANDLE PERCENT, position 16k) p0 - (>B:HANDLING\_Flaps\_Set)</DEC\_EVENT> <INC\_EVENT>(A:FLAPS HANDLE PERCENT, position 16k) p0 + (>B:HANDLING\_Flaps\_Set)</INC\_EVENT> <Condition Valid="IS\_CONTINUOUS"> <True> <SET\_EVENT>p0 \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min s0 (>K:FLAPS\_CONTINUOUS\_SET) l0 (>O:HANDLING\_Flaps\_Position) </SET\_EVENT> </True> <False> <SET\_EVENT>p0 \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min (>K:FLAPS\_SET) (A:FLAPS HANDLE PERCENT, position 16k) (>O:HANDLING\_Flaps\_Position) </SET\_EVENT> </False> </Condition> </Parameters> <Tooltip> <Icon>MOVE\_AXIS\_Y</Icon> <Interaction>PRIMARY\_DOWN+Y\_AXIS</Interaction> <InteractionLockable>Y\_AXIS</InteractionLockable> <TTDescription RPN="True">(R:1:\#TT\_DESCRIPTION\_ID\#)</TTDescription> <TTValue RPN="True">\#TT\_VALUE\#</TTValue> </Tooltip> <Value> <Units>percent</Units> <Code>(O:HANDLING\_Flaps\_Position) \#LOWER\_LIMIT\# - \#UPPER\_LIMIT\# \#LOWER\_LIMIT\# - / 100 \*</Code> <Init>(A:FLAPS HANDLE PERCENT, position 16k) \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min (>O:HANDLING\_Flaps\_Position)</Init> <WatchVars> <Simvar ID="FLAPS HANDLE PERCENT"/> </WatchVars> </Value> <Inc> <Code>\#ON\_BEFORE\_INC\# \#INC\_EVENT\# \#ON\_AFTER\_INC\#</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> <Bindings> <Binding EventID="FLAPS\_INCR"> <Param RPN="True">\#STEP\_INCREMENT\#</Param> </Binding> <Binding EventID="FLAPS\_CONTINUOUS\_INCR"> <Param>\#INCREMENT\#</Param> </Binding> </Bindings> </Inc> <Dec> <Code>\#ON\_BEFORE\_DEC\# \#DEC\_EVENT\# \#ON\_AFTER\_DEC\#</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> <Bindings> <Binding EventID="FLAPS\_DECR"> <Param RPN="True">\#STEP\_INCREMENT\#</Param> </Binding> <Binding EventID="FLAPS\_CONTINUOUS\_DECR"> <Param>\#INCREMENT\#</Param> </Binding> </Bindings> </Dec> <Set> <Code>\#ON\_BEFORE\_SET\# \#SET\_EVENT\# \#ON\_AFTER\_SET\# \#ON\_STATE\_CHANGED\#</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> <Bindings> <Binding EventID="FLAPS\_DOWN"> <Param RPN="True">(A:FLAPS NUM HANDLE POSITIONS, Number) 1 - 16384 \*</Param> </Binding> <Binding EventID="FLAPS\_UP"> <Param>0</Param> </Binding> <Binding EventID="FLAPS\_1"> <Param RPN="True">1 (A:FLAPS NUM HANDLE POSITIONS, Number) / 16384 \*</Param> </Binding> <Binding EventID="FLAPS\_2"> <Param RPN="True">2 (A:FLAPS NUM HANDLE POSITIONS, Number) / 16384 \*</Param> </Binding> <Binding EventID="FLAPS\_3"> <Param RPN="True">3 (A:FLAPS NUM HANDLE POSITIONS, Number) / 16384 \*</Param> </Binding> <Binding EventID="FLAPS\_SET"> <Param RPN="True">p1 @S16KTo01</Param> </Binding> <Binding EventID="AXIS\_FLAPS\_SET"> <Param RPN="True">p1 16384 + 0.5 \* \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min</Param> </Binding> <Binding EventID="FLAPS\_CONTINUOUS\_SET"> <Param RPN="True">p1 @S16KTo01</Param> </Binding> </Bindings> </Set> </Preset> </Case> <Case NotEmpty="HIDER\_ID"> <Preset ID="HANDLING\_Yoke\_Hider\_\#HIDER\_ID\#"> <Parameters Type="Default"> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE/> <Condition NotEmpty="TT\_DESCRIPTION\_ID"> <True> <Condition NotEmpty="TT\_DESCRIPTION\_INDEX"> <True> <TT\_DESCRIPTION>\#TT\_DESCRIPTION\_INDEX\# (R:1:\#TT\_DESCRIPTION\_ID\#) @sprintf</TT\_DESCRIPTION> <TT\_DESCRIPTION\_IS\_DYNAMIC>True</TT\_DESCRIPTION\_IS\_DYNAMIC> </True> <False> <TT\_DESCRIPTION>\#TT\_DESCRIPTION\_ID\#</TT\_DESCRIPTION> <TT\_DESCRIPTION\_IS\_DYNAMIC>False</TT\_DESCRIPTION\_IS\_DYNAMIC> </False> </Condition> </True> <False> <TT\_DESCRIPTION>@TT\_Package.YOKE\_VISIBILITY\_ACTION\_SET</TT\_DESCRIPTION> <!-- ?a faudra le cr?er a un moment dans KLM, c'est le default --> <TT\_DESCRIPTION\_IS\_DYNAMIC>False</TT\_DESCRIPTION\_IS\_DYNAMIC> </False> </Condition> </Parameters> <Parameters Type="Override"> <ON\_STATE\_CHANGED>\#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\#</ON\_STATE\_CHANGED> </Parameters> <Tooltip> <Icon>Push</Icon> <Interaction>PRIMARY\_DOWN</Interaction> <InteractionLockable>LOCK</InteractionLockable> <TTDescription RPN="\#TT\_DESCRIPTION\_IS\_DYNAMIC\#">\#TT\_DESCRIPTION\#</TTDescription> <TTValue RPN="True">(B:HANDLING\_Yoke\_Hider\_\#HIDER\_ID\#, bool) if{ (R:1:@TT\_Package.GT\_STATE\_HIDDEN) } els{ (R:1:@TT\_Package.GT\_STATE\_VISIBLE) }</TTValue> </Tooltip> <Value> <Units>Number</Units> <Code>(L:XMLVAR\_YokeHidden\#HIDER\_ID\#)</Code> </Value> <Inc> <Code>1 (>B:HANDLING\_Yoke\_Hider\_\#HIDER\_ID\#\_Set)</Code> </Inc> <Dec> <Code>0 (>B:HANDLING\_Yoke\_Hider\_\#HIDER\_ID\#\_Set)</Code> </Dec> <Set> <Code>p0 0 == ! (>L:XMLVAR\_YokeHidden\#HIDER\_ID\#) \#ON\_STATE\_CHANGED\#</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> <Bindings> <Binding Alias="HANDLING\_Yoke\_Hider\_\#HIDER\_ID\#\_Toggle"> <Param RPN="True">1 0 (B:HANDLING\_Yoke\_Hider\_\#HIDER\_ID\#) 0 == ?</Param> </Binding> <Binding Alias="HANDLING\_Yoke\_Hider\_\#HIDER\_ID\#\_Hide"> <Param>0</Param> </Binding> <Binding Alias="HANDLING\_Yoke\_Hider\_\#HIDER\_ID\#\_Show"> <Param>1</Param> </Binding> </Bindings> </Set> </Preset> </Case> <Case NotEmpty="ELEVATOR\_TRIM\_ID"> <Preset ID="HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#"> <Parameters Type="Default"> <Switch Param="INTERACTION\_TYPE"> <Case Value="SWITCH"> <INCREMENT>1</INCREMENT> <UPPER\_LIMIT>2</UPPER\_LIMIT> <LOWER\_LIMIT>0</LOWER\_LIMIT> </Case> <Default> <INCREMENT>256</INCREMENT> <UPPER\_LIMIT>16384</UPPER\_LIMIT> <LOWER\_LIMIT>-16384</LOWER\_LIMIT> </Default> </Switch> <ON\_BEFORE\_INC/> <ON\_BEFORE\_DEC/> <ON\_BEFORE\_SET/> <ON\_AFTER\_INC\_EXTERNAL\_CODE/> <ON\_AFTER\_DEC\_EXTERNAL\_CODE/> <ON\_AFTER\_SET/> <ON\_AFTER\_INC/> <ON\_AFTER\_DEC/> <REPEAT\_TIME>0.1</REPEAT\_TIME> <Condition Check="SWITCH\_POSITION\_VAR"> <True> <INPUTEVENT\_VAR\_TYPE>\#SWITCH\_POSITION\_TYPE\#</INPUTEVENT\_VAR\_TYPE> <INPUTEVENT\_VAR\_NAME>\#SWITCH\_POSITION\_VAR\#</INPUTEVENT\_VAR\_NAME> </True> <False> <INPUTEVENT\_VAR\_TYPE>L</INPUTEVENT\_VAR\_TYPE> <INPUTEVENT\_VAR\_NAME>HANDLING\_ElevatorTrim</INPUTEVENT\_VAR\_NAME> </False> </Condition> </Parameters> <Parameters Type="Default"> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE/> <ON\_STATE\_CHANGED/> <TT\_DESCRIPTION\_ID>@TT\_Package.HANDLING\_SWITCH\_YOKE\_ELEVATORTRIM\_ACTION</TT\_DESCRIPTION\_ID> </Parameters> <Parameters Type="Override"> <DELAY\_BEFORE\_REPEAT> (E:SIMULATION TIME, seconds) sp0 l0 (O:\#INPUTEVENT\_VAR\_NAME\#\_LastInputTime) - sp1 (\* Time since last Input \*) l0 (>O:\#INPUTEVENT\_VAR\_NAME\#\_LastInputTime) l1 \#REPEAT\_TIME\# > if{ l0 \#REPEAT\_TIME\# 5 \* + (>O:\#INPUTEVENT\_VAR\_NAME\#\_TimeRepeatStarts) } els{ l0 (O:\#INPUTEVENT\_VAR\_NAME\#\_TimeRepeatStarts) < if{ quit } } </DELAY\_BEFORE\_REPEAT> <ON\_STATE\_CHANGED>\#ON\_STATE\_CHANGED\# \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\#</ON\_STATE\_CHANGED> <ON\_AFTER\_INC>\#ON\_AFTER\_INC\# \#ON\_AFTER\_INC\_EXTERNAL\_CODE\#</ON\_AFTER\_INC> <ON\_AFTER\_DEC>\#ON\_AFTER\_DEC\# \#ON\_AFTER\_DEC\_EXTERNAL\_CODE\#</ON\_AFTER\_DEC> <SET\_EVENT>p0 \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min s0 (>K:ELEVATOR\_TRIM\_SET) l0 (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#)</SET\_EVENT> <INIT\_VALUE>(A:ELEVATOR TRIM PCT, position 16k) \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#)</INIT\_VALUE> <Switch Param="INTERACTION\_TYPE"> <Case Value="WHEEL"> <TT\_ICON\_AUTO>ROTATE</TT\_ICON\_AUTO> </Case> <Case Value="KNOB"> <TT\_ICON\_AUTO>ROTATE</TT\_ICON\_AUTO> </Case> <Case Value="SWITCH"> <Condition Check="SWITCH\_POSITION\_VAR\_TIMER"> <True> <RESET\_TIMER>(>\#SWITCH\_POSITION\_TYPE\_TIMER\#:\#SWITCH\_POSITION\_VAR\_TIMER\#)</RESET\_TIMER> </True> <False> <RESET\_TIMER></RESET\_TIMER> </False> </Condition> <Condition Check="SWITCH\_DIRECTION" Match="Horizontal"> <True> <TT\_ICON\_AUTO>MOVE\_X</TT\_ICON\_AUTO> </True> <False> <TT\_ICON\_AUTO>MOVE\_Y</TT\_ICON\_AUTO> </False> </Condition> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION\_TYPE"> <Case Value="WHEEL"> <INC\_EVENT>(\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) p0 + (>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Set)</INC\_EVENT> <DEC\_EVENT>(\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) p0 - (>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Set)</DEC\_EVENT> </Case> <Case Value="SWITCH"> <INC\_EVENT>(\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) p0 + (>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Set)</INC\_EVENT> <DEC\_EVENT>(\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) p0 - (>B:HANDLING\_ElevatorTrim\_\#IE\_ELEVATOR\_TRIM\#\_Set)</DEC\_EVENT> <INIT\_VALUE> \#STATE0\_TEST\# if{ 0 (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) quit } \#STATE1\_TEST\# if{ 1 (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) quit } \#STATE2\_TEST\# if{ 2 (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) quit } </INIT\_VALUE> <SET\_EVENT> (O:IsDirectSet) if{ p0 -16384 max 16384 min s0 (>K:ELEVATOR\_TRIM\_SET) l0 (A:ELEVATOR TRIM PCT, position 16k) > if{ 0 (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) } els{ l0 (A:ELEVATOR TRIM PCT, position 16k) < if{ 2 (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) } } 0 (>O:IsDirectSet) } els{ p0 \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min s0 (\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) != if{ l0 (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) l0 0 == if{ \#CODE\_POS\_0\# quit } l0 1 == if{ \#CODE\_POS\_1\# quit } l0 2 == if{ \#CODE\_POS\_2\# quit } } els{ \#RESET\_TIMER\# } } </SET\_EVENT> </Case> </Switch> <Condition Check="TT\_ICON"> <False> <TT\_ICON>\#TT\_ICON\_AUTO\#</TT\_ICON> </False> </Condition> </Parameters> <Tooltip> <Icon>\#TT\_ICON\#</Icon> <Interaction>PRIMARY\_DOWN+Y\_AXIS</Interaction> <InteractionLockable>Y\_AXIS</InteractionLockable> <TTDescription RPN="True">(R:1:\#TT\_DESCRIPTION\_ID\#)</TTDescription> <TTValue RPN="True">(A:ELEVATOR TRIM POSITION, degrees) '%.1f°' @sprintf</TTValue> </Tooltip> <Value> <Units>percent</Units> <Code>(\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) \#LOWER\_LIMIT\# - \#UPPER\_LIMIT\# \#LOWER\_LIMIT\# - / 100 \*</Code> <Init>\#INIT\_VALUE\#</Init> <WatchVars> <Simvar ID="ELEVATOR TRIM PCT"/> </WatchVars> </Value> <Inc> <Code>\#ON\_BEFORE\_INC\# \#INC\_EVENT\# \#ON\_AFTER\_INC\#</Code> <Parameters> <Param Type="Float" RPN="True">p0 \#INCREMENT\# \*</Param> </Parameters> <Bindings> <Binding EventID="ELEV\_TRIM\_UP"> <Param RPN="True">\#DELAY\_BEFORE\_REPEAT\# 1</Param> </Binding> </Bindings> </Inc> <Dec> <Code>\#ON\_BEFORE\_DEC\# \#DEC\_EVENT\# \#ON\_AFTER\_DEC\#</Code> <Parameters> <Param Type="Float" RPN="True">p0 \#INCREMENT\# \*</Param> </Parameters> <Bindings> <Binding EventID="ELEV\_TRIM\_DN"> <Param RPN="True">\#DELAY\_BEFORE\_REPEAT\# 1</Param> </Binding> </Bindings> </Dec> <Set> <Code>\#ON\_BEFORE\_SET\# \#SET\_EVENT\# \#ON\_AFTER\_SET\# \#ON\_STATE\_CHANGED\#</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> <Bindings> <Binding EventID="ELEVATOR\_TRIM\_SET"> <Param RPN="True">1 (>O:IsDirectSet) p1 @S16KTo01</Param> </Binding> <Condition Valid="DISABLE\_BINDING\_AXIS\_ELEV\_TRIM\_SET"> <False> <Condition Valid="INVERT\_BINDING\_AXIS\_ELEV\_TRIM\_SET"> <True> <Binding EventID="AXIS\_ELEV\_TRIM\_SET"> <Param RPN="True">1 (>O:IsDirectSet) p1 -1 \*</Param> </Binding> </True> <False> <Binding EventID="AXIS\_ELEV\_TRIM\_SET"> <Param RPN="True">1 (>O:IsDirectSet) p1</Param> </Binding> </False> </Condition> </False> </Condition> <Binding Alias="HANDLING\_ElevatorTrim\_Position\_Neutral"> <Param RPN="True">0</Param> </Binding> </Bindings> </Set> </Preset> </Case> <Case NotEmpty="RUDDER\_TRIM\_ID"> <Preset ID="HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#"> <Parameters Type="Default"> <Switch Param="INTERACTION\_TYPE"> <Case Value="SWITCH"> <INCREMENT>1</INCREMENT> <UPPER\_LIMIT>2</UPPER\_LIMIT> <LOWER\_LIMIT>0</LOWER\_LIMIT> <STATE0\_TIMER>0</STATE0\_TIMER> <STATE\_MAX\_TIMER>0</STATE\_MAX\_TIMER> </Case> <Default> <INCREMENT>256</INCREMENT> <UPPER\_LIMIT>16384</UPPER\_LIMIT> <LOWER\_LIMIT>-16384</LOWER\_LIMIT> </Default> </Switch> <ON\_BEFORE\_INC/> <ON\_BEFORE\_DEC/> <ON\_BEFORE\_SET/> <ON\_AFTER\_INC\_EXTERNAL\_CODE/> <ON\_AFTER\_DEC\_EXTERNAL\_CODE/> <ON\_AFTER\_SET/> <ON\_AFTER\_INC/> <ON\_AFTER\_DEC/> <Condition Check="SWITCH\_POSITION\_VAR"> <True> <INPUTEVENT\_VAR\_TYPE>\#SWITCH\_POSITION\_TYPE\#</INPUTEVENT\_VAR\_TYPE> <INPUTEVENT\_VAR\_NAME>\#SWITCH\_POSITION\_VAR\#</INPUTEVENT\_VAR\_NAME> </True> <False> <INPUTEVENT\_VAR\_TYPE>L</INPUTEVENT\_VAR\_TYPE> <INPUTEVENT\_VAR\_NAME>HANDLING\_RudderTrim</INPUTEVENT\_VAR\_NAME> </False> </Condition> <REPEAT\_TIME>0.1</REPEAT\_TIME> </Parameters> <Parameters Type="Default"> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE/> <ON\_STATE\_CHANGED/> <SET\_EVENT>p0 \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min s0 (>K:RUDDER\_TRIM\_SET\_EX1) l0 (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#)</SET\_EVENT> <INIT\_VALUE>(A:RUDDER TRIM PCT, position 16k) \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#)</INIT\_VALUE> <Switch Param="INTERACTION\_TYPE"> <Case Value="WHEEL"> <TT\_ICON>ROTATE</TT\_ICON> </Case> <Case Value="KNOB"> <TT\_ICON>ROTATE</TT\_ICON> </Case> <Case Value="SWITCH"> <Condition Check="SWITCH\_POSITION\_VAR\_TIMER"> <True> <RESET\_TIMER> \#STATE0\_TEST\# if{ \#STATE\_MAX\_TIMER\# } els{ \#STATE2\_TEST\# if{ \#STATE0\_TIMER\# } } (E:SIMULATION TIME, seconds) + (>\#SWITCH\_POSITION\_TYPE\_TIMER\#:\#SWITCH\_POSITION\_VAR\_TIMER\#) </RESET\_TIMER> </True> <False> <RESET\_TIMER></RESET\_TIMER> </False> </Condition> <Condition Check="SWITCH\_DIRECTION" Match="Horizontal"> <True> <TT\_ICON>MOVE\_X</TT\_ICON> </True> <False> <TT\_ICON>MOVE\_Y</TT\_ICON> </False> </Condition> </Case> </Switch> <TT\_DESCRIPTION\_ID>@TT\_Package.HANDLING\_KNOB\_RUDDER\_TRIM\_ACTION</TT\_DESCRIPTION\_ID> </Parameters> <Parameters Type="Override"> <DELAY\_BEFORE\_REPEAT> (E:SIMULATION TIME, seconds) sp0 l0 (O:\#INPUTEVENT\_VAR\_NAME\#\_LastInputTime) - sp1 (\* Time since last Input \*) l0 (>O:\#INPUTEVENT\_VAR\_NAME\#\_LastInputTime) l1 \#REPEAT\_TIME\# > if{ l0 \#REPEAT\_TIME\# 5 \* + (>O:\#INPUTEVENT\_VAR\_NAME\#\_TimeRepeatStarts) } els{ l0 (O:\#INPUTEVENT\_VAR\_NAME\#\_TimeRepeatStarts) < if{ quit } } </DELAY\_BEFORE\_REPEAT> <ON\_STATE\_CHANGED>\#ON\_STATE\_CHANGED\# \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\#</ON\_STATE\_CHANGED> <ON\_AFTER\_INC>\#ON\_AFTER\_INC\# \#ON\_AFTER\_INC\_EXTERNAL\_CODE\#</ON\_AFTER\_INC> <ON\_AFTER\_DEC>\#ON\_AFTER\_DEC\# \#ON\_AFTER\_DEC\_EXTERNAL\_CODE\#</ON\_AFTER\_DEC> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION\_TYPE"> <Case Value="SWITCH"> <INC\_EVENT>(\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) p0 + (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Set)</INC\_EVENT> <DEC\_EVENT>(\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) p0 - (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Set)</DEC\_EVENT> <INIT\_VALUE> \#STATE0\_TEST\# if{ 0 (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) quit } \#STATE1\_TEST\# if{ 1 (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) quit } \#STATE2\_TEST\# if{ 2 (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) quit } </INIT\_VALUE> <SET\_EVENT> p0 \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min s0 (\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) != if{ l0 (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) l0 0 == if{ \#CODE\_POS\_0\# quit } l0 1 == if{ \#CODE\_POS\_1\# quit } l0 2 == if{ \#CODE\_POS\_2\# quit } } els{ \#RESET\_TIMER\# } </SET\_EVENT> </Case> <Case Value="WHEEL"> <INC\_EVENT>(A:RUDDER TRIM PCT, position 16k) p0 + (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Set)</INC\_EVENT> <DEC\_EVENT>(A:RUDDER TRIM PCT, position 16k) p0 - (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Set)</DEC\_EVENT> </Case> <Case Value="KNOB"> <INC\_EVENT>(A:RUDDER TRIM PCT, position 16k) p0 + (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Set)</INC\_EVENT> <DEC\_EVENT>(A:RUDDER TRIM PCT, position 16k) p0 - (>B:HANDLING\_RudderTrim\_\#IE\_RUDDER\_TRIM\#\_Set)</DEC\_EVENT> </Case> </Switch> </Parameters> <Tooltip> <Icon>\#TT\_ICON\#</Icon> <Interaction>PRIMARY\_DOWN+X\_AXIS</Interaction> <InteractionLockable>X\_AXIS</InteractionLockable> <TTDescription RPN="True">(R:1:\#TT\_DESCRIPTION\_ID\#)</TTDescription> <TTValue RPN="True">(A:RUDDER TRIM, degrees) '%.1f°' @sprintf</TTValue> </Tooltip> <Value> <Units>percent</Units> <Code>(\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) \#LOWER\_LIMIT\# - \#UPPER\_LIMIT\# \#LOWER\_LIMIT\# - / 100 \*</Code> <Init>\#INIT\_VALUE\#</Init> <WatchVars> <Simvar ID="RUDDER TRIM PCT"/> </WatchVars> </Value> <Inc> <Code>\#ON\_BEFORE\_INC\# \#INC\_EVENT\# \#ON\_AFTER\_INC\#</Code> <Parameters> <Param Type="Float" RPN="True">p0 \#INCREMENT\# \*</Param> </Parameters> <Bindings> <Binding EventID="RUDDER\_TRIM\_RIGHT"> <Param RPN="True">\#DELAY\_BEFORE\_REPEAT\# 1</Param> </Binding> </Bindings> </Inc> <Dec> <Code>\#ON\_BEFORE\_DEC\# \#DEC\_EVENT\# \#ON\_AFTER\_DEC\#</Code> <Parameters> <Param Type="Float" RPN="True">p0 \#INCREMENT\# \*</Param> </Parameters> <Bindings> <Binding EventID="RUDDER\_TRIM\_LEFT"> <Param RPN="True">\#DELAY\_BEFORE\_REPEAT\# 1</Param> </Binding> </Bindings> </Dec> <Set> <Code>\#ON\_BEFORE\_SET\# \#SET\_EVENT\# \#ON\_AFTER\_SET\# \#ON\_STATE\_CHANGED\#</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> <Bindings> <Binding EventID="RUDDER\_TRIM\_SET"> <Param RPN="True">p1 @S1To01</Param> </Binding> <Binding EventID="RUDDER\_TRIM\_SET\_EX1"> <Param RPN="True">p1 @S16KTo01</Param> </Binding> <Binding Alias="HANDLING\_RudderTrim\_Position\_Neutral"> <Param RPN="True">0</Param> </Binding> </Bindings> </Set> </Preset> </Case> <Case NotEmpty="AILERONS\_TRIM\_ID"> <Preset ID="HANDLING\_AileronsTrim\_\#IE\_AILERONS\_TRIM\#"> <Parameters Type="Default"> <Switch Param="INTERACTION\_TYPE"> <Case Value="SWITCH"> <INCREMENT>1</INCREMENT> <UPPER\_LIMIT>2</UPPER\_LIMIT> <LOWER\_LIMIT>0</LOWER\_LIMIT> </Case> <Default> <INCREMENT>256</INCREMENT> <UPPER\_LIMIT>16384</UPPER\_LIMIT> <LOWER\_LIMIT>-16384</LOWER\_LIMIT> </Default> </Switch> <ON\_BEFORE\_INC/> <ON\_BEFORE\_DEC/> <ON\_BEFORE\_SET/> <ON\_AFTER\_INC\_EXTERNAL\_CODE/> <ON\_AFTER\_DEC\_EXTERNAL\_CODE/> <ON\_AFTER\_SET/> <ON\_AFTER\_INC/> <ON\_AFTER\_DEC/> <Condition Check="SWITCH\_POSITION\_VAR"> <True> <INPUTEVENT\_VAR\_TYPE>\#SWITCH\_POSITION\_TYPE\#</INPUTEVENT\_VAR\_TYPE> <INPUTEVENT\_VAR\_NAME>\#SWITCH\_POSITION\_VAR\#</INPUTEVENT\_VAR\_NAME> </True> <False> <INPUTEVENT\_VAR\_TYPE>L</INPUTEVENT\_VAR\_TYPE> <INPUTEVENT\_VAR\_NAME>HANDLING\_AileronsTrim</INPUTEVENT\_VAR\_NAME> </False> </Condition> <TT\_DESCRIPTION\_ID>@TT\_Package.HANDLING\_KNOB\_AILERON\_ACTION</TT\_DESCRIPTION\_ID> </Parameters> <Parameters Type="Default"> <SET\_EVENT> p0 \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min s0 (>K:AILERON\_TRIM\_SET\_EX1) l0 (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#)</SET\_EVENT> <INIT\_VALUE>(A:AILERON TRIM PCT, position 16k) \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#)</INIT\_VALUE> <Switch Param="INTERACTION\_TYPE"> <Case Value="WHEEL"> <TT\_ICON>ROTATE</TT\_ICON> </Case> <Case Value="KNOB"> <TT\_ICON>ROTATE</TT\_ICON> </Case> <Case Value="SWITCH"> <Condition Check="SWITCH\_POSITION\_VAR\_TIMER"> <True> <RESET\_TIMER>(>\#SWITCH\_POSITION\_TYPE\_TIMER\#:\#SWITCH\_POSITION\_VAR\_TIMER\#)</RESET\_TIMER> </True> <False> <RESET\_TIMER></RESET\_TIMER> </False> </Condition> <Condition Check="SWITCH\_DIRECTION" Match="Horizontal"> <True> <TT\_ICON>MOVE\_X</TT\_ICON> </True> <False> <TT\_ICON>MOVE\_Y</TT\_ICON> </False> </Condition> </Case> </Switch> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE/> <ON\_STATE\_CHANGED/> <REPEAT\_TIME>0.1</REPEAT\_TIME> </Parameters> <Parameters Type="Override"> <DELAY\_BEFORE\_REPEAT> (E:SIMULATION TIME, seconds) sp0 l0 (O:\#INPUTEVENT\_VAR\_NAME\#\_LastInputTime) - sp1 (\* Time since last Input \*) l0 (>O:\#INPUTEVENT\_VAR\_NAME\#\_LastInputTime) l1 \#REPEAT\_TIME\# > if{ l0 \#REPEAT\_TIME\# 5 \* + (>O:\#INPUTEVENT\_VAR\_NAME\#\_TimeRepeatStarts) } els{ l0 (O:\#INPUTEVENT\_VAR\_NAME\#\_TimeRepeatStarts) < if{ quit } } </DELAY\_BEFORE\_REPEAT> <ON\_STATE\_CHANGED>\#ON\_STATE\_CHANGED\# \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\#</ON\_STATE\_CHANGED> <ON\_AFTER\_INC>\#ON\_AFTER\_INC\# \#ON\_AFTER\_INC\_EXTERNAL\_CODE\#</ON\_AFTER\_INC> <ON\_AFTER\_DEC>\#ON\_AFTER\_DEC\# \#ON\_AFTER\_DEC\_EXTERNAL\_CODE\#</ON\_AFTER\_DEC> </Parameters> <Parameters Type="Override"> <Switch Param="INTERACTION\_TYPE"> <Case Value="SWITCH"> <INC\_EVENT>(\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) p0 + (>B:HANDLING\_AileronsTrim\_\#IE\_AILERONS\_TRIM\#\_Set)</INC\_EVENT> <DEC\_EVENT>(\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) p0 - (>B:HANDLING\_AileronsTrim\_\#IE\_AILERONS\_TRIM\#\_Set)</DEC\_EVENT> <INIT\_VALUE> \#STATE0\_TEST\# if{ 0 (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) quit } \#STATE1\_TEST\# if{ 1 (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) quit } \#STATE2\_TEST\# if{ 2 (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) quit } </INIT\_VALUE> <SET\_EVENT> p0 \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min s0 (\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) != if{ l0 (>\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) l0 0 == if{ \#CODE\_POS\_0\# quit } l0 1 == if{ \#CODE\_POS\_1\# quit } l0 2 == if{ \#CODE\_POS\_2\# quit } } els{ \#RESET\_TIMER\# } </SET\_EVENT> </Case> <Case Value="WHEEL"> <INC\_EVENT>(A:AILERON TRIM PCT, position 16k) p0 + (>B:HANDLING\_AileronsTrim\_\#IE\_AILERONS\_TRIM\#\_Set)</INC\_EVENT> <DEC\_EVENT>(A:AILERON TRIM PCT, position 16k) p0 - (>B:HANDLING\_AileronsTrim\_\#IE\_AILERONS\_TRIM\#\_Set)</DEC\_EVENT> </Case> <Case Value="KNOB"> <INC\_EVENT>(A:AILERON TRIM PCT, position 16k) p0 + (>B:HANDLING\_AileronsTrim\_\#IE\_AILERONS\_TRIM\#\_Set)</INC\_EVENT> <DEC\_EVENT>(A:AILERON TRIM PCT, position 16k) p0 - (>B:HANDLING\_AileronsTrim\_\#IE\_AILERONS\_TRIM\#\_Set)</DEC\_EVENT> </Case> </Switch> </Parameters> <Tooltip> <Icon>\#TT\_ICON\#</Icon> <Interaction>PRIMARY\_DOWN+X\_AXIS</Interaction> <InteractionLockable>X\_AXIS</InteractionLockable> <TTDescription RPN="True">(R:1:\#TT\_DESCRIPTION\_ID\#)</TTDescription> <TTValue RPN="True">(A:AILERON TRIM, degrees) '%.1f°' @sprintf</TTValue> </Tooltip> <Value> <Units>percent</Units> <Code>(\#INPUTEVENT\_VAR\_TYPE\#:\#INPUTEVENT\_VAR\_NAME\#) \#LOWER\_LIMIT\# - \#UPPER\_LIMIT\# \#LOWER\_LIMIT\# - / 100 \*</Code> <Init>\#INIT\_VALUE\#</Init> <WatchVars> <Simvar ID="AILERON TRIM PCT"/> </WatchVars> </Value> <Inc> <Code>\#ON\_BEFORE\_INC\# \#INC\_EVENT\# \#ON\_AFTER\_INC\#</Code> <Parameters> <Switch Param="INTERACTION\_TYPE"> <Case Value="SWITCH"> <Param Type="Float" RPN="True">p0</Param> </Case> <Default> <Param Type="Float" RPN="True">p0 \#INCREMENT\# \*</Param> </Default> </Switch> </Parameters> <Bindings> <Binding EventID="AILERON\_TRIM\_RIGHT"> <Param RPN="True">\#DELAY\_BEFORE\_REPEAT\# 1</Param> </Binding> </Bindings> </Inc> <Dec> <Code>\#ON\_BEFORE\_DEC\# \#DEC\_EVENT\# \#ON\_AFTER\_DEC\#</Code> <Parameters> <Switch Param="INTERACTION\_TYPE"> <Case Value="SWITCH"> <Param Type="Float" RPN="True">p0</Param> </Case> <Default> <Param Type="Float" RPN="True">p0 \#INCREMENT\# \*</Param> </Default> </Switch> </Parameters> <Bindings> <Binding EventID="AILERON\_TRIM\_LEFT"> <Param RPN="True">\#DELAY\_BEFORE\_REPEAT\# 1</Param> </Binding> </Bindings> </Dec> <Set> <Code>\#ON\_BEFORE\_SET\# \#SET\_EVENT\# \#ON\_AFTER\_SET\# \#ON\_STATE\_CHANGED\#</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> <Bindings> <Binding EventID="AILERON\_TRIM\_SET"> <Param RPN="True">p1 @S1To01</Param> </Binding> <Binding EventID="AILERON\_TRIM\_SET\_EX1"> <Param RPN="True">p1 @S16KTo01</Param> </Binding> <Binding Alias="HANDLING\_AileronsTrim\_Position\_Neutral"> <Param RPN="True">0</Param> </Binding> </Bindings> </Set> </Preset> </Case> <Default> <Condition NotEmpty="EXTEND\_TARGET"> <True> <Extend Target="\#EXTEND\_TARGET\#"> <Parameters Type="Default"> <INPUT\_EVENT\_ID\_SOURCE>HANDLING</INPUT\_EVENT\_ID\_SOURCE> </Parameters> </Extend> </True> <False> <Extend Target="ASOBO\_GIE\_Anim\_Handling"> <Parameters Type="Default"> <INPUT\_EVENT\_ID\_SOURCE>HANDLING</INPUT\_EVENT\_ID\_SOURCE> </Parameters> </Extend> </False> </Condition> </Default> </Switch> </Presets> </InputEvent> </ModelBehaviors>     ### Includes - RelativeFile: [..\\..\\\(Inputs\)\\Helpers.xml](../../inputs/helpers/)