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. |