Hello aircraft and hardware developers,
For those of you looking for the list of H events for control pad support for the G1000 NXi, here is the list of events to use:
// For the controlpad keyboard input:
AS1000_CONTROL_PAD_A
AS1000_CONTROL_PAD_B
AS1000_CONTROL_PAD_C
AS1000_CONTROL_PAD_D
AS1000_CONTROL_PAD_E
AS1000_CONTROL_PAD_F
AS1000_CONTROL_PAD_G
AS1000_CONTROL_PAD_H
AS1000_CONTROL_PAD_I
AS1000_CONTROL_PAD_J
AS1000_CONTROL_PAD_K
AS1000_CONTROL_PAD_L
AS1000_CONTROL_PAD_M
AS1000_CONTROL_PAD_N
AS1000_CONTROL_PAD_O
AS1000_CONTROL_PAD_P
AS1000_CONTROL_PAD_Q
AS1000_CONTROL_PAD_R
AS1000_CONTROL_PAD_S
AS1000_CONTROL_PAD_T
AS1000_CONTROL_PAD_U
AS1000_CONTROL_PAD_V
AS1000_CONTROL_PAD_W
AS1000_CONTROL_PAD_X
AS1000_CONTROL_PAD_Y
AS1000_CONTROL_PAD_Z
AS1000_CONTROL_PAD_SPC
AS1000_CONTROL_PAD_0
AS1000_CONTROL_PAD_1
AS1000_CONTROL_PAD_2
AS1000_CONTROL_PAD_3
AS1000_CONTROL_PAD_4
AS1000_CONTROL_PAD_5
AS1000_CONTROL_PAD_6
AS1000_CONTROL_PAD_7
AS1000_CONTROL_PAD_8
AS1000_CONTROL_PAD_9
AS1000_CONTROL_PAD_Dot
AS1000_CONTROL_PAD_BKSP
AS1000_CONTROL_PAD_PlusMinus
// These common events can also be received from the control pad:
AS1000_CONTROL_PAD_FMS_Upper_INC
AS1000_CONTROL_PAD_FMS_Upper_DEC
AS1000_CONTROL_PAD_FMS_Lower_INC
AS1000_CONTROL_PAD_FMS_Lower_DEC
AS1000_CONTROL_PAD_MENU_Push
AS1000_CONTROL_PAD_CLR
AS1000_CONTROL_PAD_ENT_Push
AS1000_CONTROL_PAD_FMS_Upper_PUSH
AS1000_CONTROL_PAD_DIRECTTO
AS1000_CONTROL_PAD_FPL_Push
AS1000_CONTROL_PAD_PROC_Push
AS1000_CONTROL_PAD_RANGE_INC
AS1000_CONTROL_PAD_RANGE_DEC
AS1000_CONTROL_PAD_RANGE_DEC
AS1000_CONTROL_PAD_Home
Thanks!
Missed some events in that list, here are the remainder:
AS1000_CONTROL_PAD_COM
AS1000_CONTROL_PAD_NAV
AS1000_CONTROL_PAD_XPDR
AS1000_CONTROL_PAD_CRS
AS1000_CONTROL_PAD_Home
Multi-Function Knob
For the GCU479 multifunction knob, the following RPN is an example of how the knob is done on the SR22T:
Inner knob:
(L:WT1000_Controlpad_Mode, Enum) 0 == if{
p0 0 > if{ (>H:AS1000_PFD_COM_Small_INC) } els{ (>H:AS1000_PFD_COM_Small_DEC) }
}
(L:WT1000_Controlpad_Mode, Enum) 1 == if{
p0 0 > if{ (>H:AS1000_PFD_NAV_Small_INC) } els{ (>H:AS1000_PFD_NAV_Small_DEC) }
}
(L:WT1000_Controlpad_Mode, Enum) 2 == if{
p0 0 > if{ (>H:AS1000_PFD_CRS_INC) } els{ (>H:AS1000_PFD_CRS_DEC) }
}
(L:WT1000_Controlpad_Mode, Enum) 3 == if{
p0 0 > if{ (>H:AS1000_PFD_XPDR_Small_INC) } els{ (>H:AS1000_PFD_XPDR_Small_DEC) }
}
Outer knob:
(L:WT1000_Controlpad_Mode, Enum) 0 == if{
p0 0 > if{ (>H:AS1000_PFD_COM_Large_INC) } els{ (>H:AS1000_PFD_COM_Large_DEC) }
}
(L:WT1000_Controlpad_Mode, Enum) 1 == if{
p0 0 > if{ (>H:AS1000_PFD_NAV_Large_INC) } els{ (>H:AS1000_PFD_NAV_Large_DEC) }
}
(L:WT1000_Controlpad_Mode, Enum) 2 == if{
p0 0 > if{ (>H:AS1000_PFD_CRS_INC) } els{ (>H:AS1000_PFD_CRS_DEC) }
}
(L:WT1000_Controlpad_Mode, Enum) 3 == if{
p0 0 > if{ (>H:AS1000_PFD_XPDR_Large_INC) } els{ (>H:AS1000_PFD_XPDR_Large_DEC) }
}
At this time there isn’t a dedicated event for that knob.
Numeric Lighting
On the GCU479, the number pad backlights are blue when inputs will go to the selected COM/NAV/CRS/XPDR mode selection, and white when they will go to MFD page inputs.
On the SR22T, this is achieved with two sets of emissive node labels, one set that is white, and one set that is blue. You can detect the current mode using the L:WT1000_ControlPad_ModeInput_Inhibited
LVar. When this is true (inhibited) this means input to the selected mode control is inhibited and the lights are white. When this is false, this means input flows to the selected mode control and the lights are blue.
Hello! Do these work with simconnect?