IMIoctl Subroutine

Purpose

Performs a variety of control or query operations on the input method.

Library

Input Method Library (libIM.a)

Syntax

int IMIoctl( IM Operation Argument)
IMObject IM;
int Operation;
char *Argument;

Description

The IMIoctl subroutine performs a variety of control or query operations on the input method specified by the IM parameter. In addition, this subroutine can be used to control the unique function of each language input method because it provides input method-specific extensions. Each input method defines its own function.

Parameters

IM
Specifies the input method instance.
Operation
Specifies the operation.
Argument
The use of this parameter depends on which of the following operations is performed.
IM_Refresh
Refreshes the text area, auxiliary areas, and indicator by calling the needed callback functions if these areas are not empty. The Argument parameter is not used.
IM_GetString
Gets the current pre-editing string. The Argument parameter specifies the address of the IMSTR structure supplied by the caller. The callback function is invoked to clear the pre-editing if it exists.
IM_Clear
Clears the text and auxiliary areas if they exist. If the Argument parameter is not a null value, this operation invokes the callback functions to clear the screen. The keyboard state remains the same.
IM_Reset
Clears the auxiliary area if it currently exists. If the Argument parameter is a null value, this operation clears only the internal buffer of the input method. Otherwise, the IMAuxHide subroutine is called, and the input method returns to its initial state.
IM_ChangeLength
Changes the maximum length of the pre-editing string.
IM_ChangeMode
Sets the Processing Mode of the input method to the mode specified by the Argument parameter. The valid value for Argument is:
IMNormalMode
Specifies the normal mode of pre-editing.
IMSuppressedMode
Suppresses pre-editing.
 
IM_QueryState
Returns the status of the text area, the auxiliary area, and the indicator. It also returns the beep status and the processing mode. The results are stored into the caller-supplied IMQueryState structure pointed to by the Argument parameter.
IM_QueryText
Returns detailed information about the text area. The results are stored in the caller-supplied IMQueryText structure pointed to by the Argument parameter.
IM_QueryAuxiliary
Returns detailed information about the auxiliary area. The results are stored in the caller-supplied IMQueryAuxiliary structure pointed to by the Argument parameter.
IM_QueryIndicator
Returns detailed information about the indicator. The results are stored in the caller-supplied IMQueryIndicator structure pointed to by the Argument parameter.
IM_QueryIndicatorString
Returns an indicator string corresponding to the current indicator. Results are stored in the caller-supplied IMQueryIndicatorString structure pointed to by the Argument parameter. The caller can request either a short or long form with the format member of the IMQueryIndicatorString structure.
IM_SupportSelection
Informs the input method whether or not an application supports an auxiliary area selection list. The application must support selections inside the auxiliary area and determine how selections are displayed. If this operation is not performed, the input method assumes the application does not support an auxiliary area selection list.
 

Return Values

The IMIoctl subroutine returns a value to the IMError global variable that indicates the type of error encountered. Some error types are provided in the /usr/include/imerrno.h file.