//Puts the cursor at the bottom.
Message(MESSAGE_KEY_DOWN, 0, SC_CURSOR_DOWN | SCF_CTRL);
"\n";

TourPut("Press $GREEN$<F1>$FG$ for the main help index.\n"
                "\n"
                "The $GREEN$<F1>$FG$ key works both in "
                "the editor and at the command line.\n"
                "\n"
                "You can find the Demo Index on the help index.\n");
InKeyGet(SC_F1);

TourPut("Press $GREEN$<SHIFT-ESC>$FG$ to abort and exit.\n");
InCharGet(CH_SHIFT_ESC);

U0 RevealPopUpHelp(I64 scf)
{
        F64  t0;
        U8  *st, *st2;
        Bool old_key_desc;

        do
        {
                AutoComplete(ON);
                st = ScanCode2KeyName(scf);
                st2 = MStrUtil(st, SUF_REM_TRAILING);
                Free(st);
                st = MStrPrint( "If you have $GREEN$AutoComplete$FG$ on, you "
                                                "can list the key commands.  This works both "
                                                "in the editor and at the command line.\n"
                                                "\n"
                                                "You can click the links to jump to source code.\n"
                                                "\n"
                                                "Press and hold the $GREEN$<%s>$FG$ key.\n"
                                                "Hold it for more than 1.0 seconds.\n",st2);
                Free(st2);
                TourPut(st);
                Free(st);

                old_key_desc = LBtr(&Fs->win_inhibit, WIf_SELF_KEY_DESC);
                while (kbd.scan_code & (SCF_CTRL | SCF_ALT | SCF_SHIFT) != scf)
                        Sleep(1);

                t0 = tS;
                while (kbd.scan_code & (SCF_CTRL | SCF_ALT | SCF_SHIFT) == scf)
                {
                        KeyScan(,, TRUE);
                        if (1.0 < tS - t0 < 1.15)
                                Sound(34);
                        else
                                Sound;
                        Sleep(1);
                }
                LBEqual(&Fs->win_inhibit, WIf_SELF_KEY_DESC, old_key_desc);
                Sound;
        }
        while (tS - t0 < 1.0);
}

RevealPopUpHelp(SCF_CTRL);
RevealPopUpHelp(SCF_CTRL | SCF_SHIFT);
RevealPopUpHelp(SCF_ALT);
RevealPopUpHelp(SCF_ALT | SCF_SHIFT);
RevealPopUpHelp(SCF_CTRL | SCF_ALT);
RevealPopUpHelp(SCF_CTRL | SCF_ALT|SCF_SHIFT);