IMFilter Subroutine

Purpose

Determines if a keyboard event is used by the input method for internal processing.

Library

Input Method Library (libIM.a)

Syntax

int IMFilter(ImKeyState, String, Length)
IMObect  Im;
Keysym  Key;
uint  State, * Length;
caddr_t  * String;

Description

The IMFilter subroutine is used to process a keyboard event and determine if the input method for this operating system uses this event. The return value indicates:

  • The event is filtered (used by the input method) if the return value is IMInputUsed. Otherwise, the input method did not accept the event.
  • Independent of the return value, a string may be generated by the keyboard event if pre-editing is complete.
    Note: The buffer returned from the IMFilter subroutine is owned by the input method editor and can not continue between calls.

Parameters

Item Description
Im Specifies the input method instance.
Key Specifies the keysym for the event.
State Defines the state of the keysym. A value of 0 means that the keysym is not redefined.
String Holds the returned string if one exists. A null value means that no composed string is ready.
Length Defines the length of the input string. If the string is not null, returns the length.

Return Values

Item Description
IMInputUsed The input method for this operating system filtered the event.
IMInputNotUsed The input method for this operating system did not use the event.