In the PCI are several timing values that are solely for menus. The first is hli_s_ptm (packet
offset 0x062), the highlight start time. This is normally zero, so that highlighting and user interaction are enabled immediately, but
it can be set to a presentation time later than the video presentation time stamp (PTS) to delay showing the selected button and allowing
Two values in the PCI that affect this. First is btn_sl_e_ptm (packet offset 0x06a), button select
end time, which controls when this happens. If left at zero user interaction remains active as long as the menu is displayed. This again
is a presentation time, and must be later than hli_s_ptm, if specified, and the video presentation time stamp.
The other value is foac_btnn (packet offset 0x075), force action button. If this is non-zero it specifies a button number that
will get pressed for the user at button select end time. In this way you can provide a time-out, taking a default path if the user is
too slow. For multiple display mode menus this is the base button number, the number used in the first set of 12 or 18 buttons.
The value controlling this in the PCI is hli_e_ptm (packet offset 0x066), highlight end time.
Normally this will be zero for a menu, allowing highlighting to continue as long as the menu is displayed. It becomes important for
button-over-video to prevent the highlighting from continuing on until the next button is presented. But you could use it in a normal
menu. Once again, it is a presentation time, and must be later than the other times listed above.