═══ 1. MKey ═══ Function : MKey Syntax : keypress=MKey(timelimit (,timewait)) timelimit The maximum time (ms) MKey() will wait for a key to be pressed, range 1-60000 (1 minute) timewait Optional, the time (ms) Mkey() will pause between scanning the keyboard, range 1-1000 (1 second) keypress 1 (key pressed) or 0 (no key pressed) Purpose : Get input from the keyboard, without the requirement for a key to be pressed. If there is no keyboard input within the given time, the function will return 0. Use timewait (optional, may not exceed the value of timelimit) to reduce CPU usage. Example : /* Program */ timelimit=5000 timewait=25 SAY 'You have about 5 seconds to start typing your name.' CALL CharOut '','What is your name? ' IF MKey(timelimit, timewait)=1 THEN PARSE PULL name ELSE name='unknown' SAY SAY 'Your name is' name /* Output */ You have about 5 seconds to start typing your name. What is your name? Your name is unknown (possible) General : This function is a part of M.DLL, an OS/2 REXX DLL which gives access to many, many easy-to-use, high-level user-I/O functions. It is now based on usage of the mouse, but it will most likely finally become a rather complete menu system, called "M". It will be for full-screen, text-mode only, due to OS limitations. Hold your horses : "M" is not available yet. I'm always interested in your wish-list items and comments, et cetera, related to such an application, as long as your wish (for the time being) isn't Windows-related : m1@uni-one.nl. M.DLL will at least be free for end-users, as far as I can tell now.