IMProcess Subroutine
Purpose
Processes keyboard events and language-specific input.
Library
Input Method Library (libIM.a)
Note: This subroutine will be
removed in future releases. Use the IMFilter and IMLookupString subroutines
to process keyboard events.
Syntax
Description
This subroutine is a main entry point to the input method of the operating system. The IMProcess subroutine processes one keyboard event at a time. Processing proceeds as follows:
- Validates the IM parameter.
- Performs keyboard translation for all supported modifier states.
- Invokes internal function to do language-dependent processing.
- Performs any necessary callback functions depending on the internal state.
- Returns to application, setting the String and Length parameters appropriately.
Parameters
| Item | Description |
|---|---|
| IM | Specifies the input method instance. |
| KeySymbol | Defines the set of keyboard symbols that will be handled. |
| State | Specifies the state of the keyboard. |
| String | Holds the returned string. Returning a null value means that
the input is used or discarded by the input method. Note: The String parameter
is not a null-terminated string.
|
| Length | Stores the length, in bytes, of the String parameter. |
Return Values
This subroutine returns the IMError global variable if an error occurs. The IMerrno global variable is set to indicate the error. Some of the variable values include:
| Item | Description |
|---|---|
| IMError | Error occurred during this subroutine. |
| IMTextAndAuxiliaryOff | No text string in the Text area, and the Auxiliary area is not shown. |
| IMTextOn | Text string in the Text area, but no Auxiliary area. |
| IMAuxiliaryOn | No text string in the Text area, and the Auxiliary area is shown. |
| IMTextAndAuxiliaryOn | Text string in the Text area, and the Auxiliary is shown. |