SU14 Beta - G1000 NXi Control Pad (GCU) Events List

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

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.