Hit Any Key to Continue

QUESTION: PV-WAVE had a nifty little program named HAK. It stood for Hit Any Key to Continue. It was really handy for temporarily interruping program execution until the user was ready to continue. Does such a thing exist in IDL?

ANSWER: No, but it is not hard to program. Here is one, appropriately named HAK, that Pardeep Pall and I came up with recently. It seems to do the job nicely.

    PRO HAK, NoPrompt=noprompt
      ; Clear typeahead buffer before input
      WHILE Get_KBRD(0) do junk=1
      ; Get input
      IF Keyword_Set(noprompt) THEN BEGIN  
          junk = Get_KBRD(1)
      ENDIF ELSE BEGIN
          Print, 'Hit any key to continue...'
          junk = Get_KBRD(1)
          Print, 'Continuing...
      ENDELSE
      ; Clear typeahead buffer after input
      WHILE Get_KBRD(0) do junk=1
    END

Here is a version from Arthur Vigan that allows you to interrup operations with the Escape key.

   pro hak, NoPrompt=noprompt
     on_error,2
     ;; Clear typeahead buffer before input
     while get_kbrd(0) do junk = 1
     ;; Get input
     if Keyword_set(noprompt) then begin 
        junk = get_kbrd(1)
     endif else begin
        print, 'Hit any key to continue...'
        junk = get_kbrd(1)
     endelse
     ;; Clear typeahead buffer after input
     while get_kbrd(0) do tmp = 1
     ;; ESCape character
     if (byte(junk) eq 27) $
     then message,' --> escape key pressed! Stopping...', $
                  /noname,/noprefix,/reset
   end

Google
 
Web Coyote's Guide to IDL Programming