KeyFromChar(char, fCtrl, fShift, fAlt)

Returns a key value, given a character and modifier key states. A key value is a numeric keyboard value that is returned by GetKey. You can use CharFromKey to convert a key value into a character.


char - the character part of the keystroke. It is not case sensitive.

fCtrl - non-zero if the CTRL key is included.

fShift - non-zero if the Shift key is included.

fAlt - non-zero if the ALT key is included.

The char parameter can have some special values:

Table 6.6: char Parameter Values and Their Meanings

Char Value



Simple alpha characters


Function Key number x; e.g. F10


Numeric keypad character x; e.g. N+ for "+" key

Up, Down, Left, Right

Arrow keys

Page Up, Page Down

Insert, Delete

Home, End,

Tab, Enter

Other special keys


Examples of Key Assignments:

// assign Ctrl+C to Page Down command:
key = KeyFromChar(“c”, 1, 0, 0);  // Ctrl+C 
AssignKeyToCmd(key, “Page Down”);


// assign F9 to Close Project command:
key = KeyFromChar(“F9”, 0, 0, 1);  // Alt+F9 
AssignKeyToCmd(key, “Close Project”);


Examples of input functions:

// input a keypress and decode it
key = GetKey()
if (IsFuncKey(key))
    Msg cat("Function key = ", FuncFromKey(key))
if (IsAltKeyDown(key))
        Msg "Alt key down"
if (IsCtrlKeyDown(key))
    Msg "Ctrl key down"
ch = CharFromKey(key)
if (Ascii(ch) == 13)
    Msg "You pressed Enter!"
else if (toupper(ch) == 'S')