Query: xhpconvertlookup
OS: hpux
Section: 3x
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
XHPConvertLookup(3X) XHPConvertLookup(3X)NAMEXHPConvertLookup - convert key event into keysym and charactersSYNOPSISint XHPConvertLookup(event_struct, buffer_return, bytes_buffer, keysym_return, status_in_out, convert_routine) XKeyEvent *event_struct; char *buffer_return; int bytes_buffer; KeySym *keysym_return; XComposeStatus *status_in_out; int (*convert_routine)();DESCRIPTIONevent_struct Specifies the key event structure to be used. You can pass XKeyPressedEvent or XKeyReleasedEvent . buffer_return Returns the translated characters. bytes_buffer Specifies the length of the buffer. No more than bytes_buffer of translation are returned. keysym_return Returns the keysym computed from the event if this argument is not NULL. status_in_out Specifies or returns the XComposeStatus structure or NULL. convert_routine Specifies the routine which will map the keysym into a character code, if appropriate. It also handles all other processing necessary for the input language (e.g. input server control for 16-bit languages) If this value is NULL, ISO-Latin1 characters will be returned. The functionality provided by this routine has been superseded by the new X11 R5 Input Method routines. This new functionality should be used whenever possible. See the routine XOpenIM and its associated routines. The XHPConvertLookup function maps a key event to a keysym and a string. The modifier bits in the key event are used to indicate shift, lock, control and keyboard group. Shift, lock and keyboard group modifier bits are used to initially set the keysym. If the lock modifier has a caps_lock keysym associated with it, XHPConvertLookup interprets the lock modifier to perform caps lock processing using the keysym value. It then checks to see if that keysym has been rebound and if it has it returns the appropriate string in buffer_return. The keysym and the modifier bits are then passed to the convert_routine along with buffer_return, bytes_buffer, and status_in_out. This routine will convert the keysym into a character code if appropriate and return it in the buffer handed to it. It will also handle control processing if appropriate. The convert_routine may use status_in_out to contain state information for input. See the manual page for any convert routine used to see how it is used. Also, if multiple input servers are running at the same time, they must each be maintained by separate XComposeStatus parameters. The calling sequence for convert_routine is as follows: (*convert_routine)(display, keysym, modifiers, buffer_return, bytes_buffer, status_in_out) Display *display; Keysym *keysym; unsigned int modifiers; char *buffer_return; int bytes_buffer; XComposeStatus *status_in_out; The meanings of the parameters are as follows: display The display from the key event keysym A pointer to the keysym value of this key event. modifiers The modifiers (state) of this key event. buffer_return Returns the translated characters. bytes_buffer Specifies the length of the buffer. No more than bytes_buffer of translation are returned. status_in_out Specifies or returns the XComposeStatus structure or NULL. convert_routine will return the number of characters in buffer_return.RETURN VALUEThe return value is the length of the string returned in buffer_return.EXAMPLESThe following example shows an application doing input in HP's Roman 8 character set. XKeyEvent *event; char buffer[80]; KeySym keysym; XComposeStatus *status; extern int XHPInputRoman8(); int count; count = XHPConvertLookup (event, buffer, nbytes, &keysym, &status, XHPInputRoman8); The next example shows an application that supports all the default character sets for HP's Eurasian keyboards. Display display; count = XHPConvertLookup (event, buffer, nbytes, &keysym, &status, XHPGetEurasianCvt(display)); An application which wished to do input in ISO-LATIN1 would use: count = XHPConvertLookup (event, buffer, nbytes, &keysym, &status, 0); An application could provide its own routine to map from keysym to character code. If an application had a routine, InputISO_Latin2() that mapped keysyms into ISO-LATIN2 characters it would be used as follows: extern int InputISO_Latin2(); count = XHPConvertLookup (event, buffer, nbytes, &keysym, &status, InputISO_Latin2); XHPConvertLookup is provided for backwards compatibility only; this routines will be discontinued in a future release of HP-UX. Users desiring the same capabilities as those provided by these routines should use XOpenIM, XCreateIC, and XmbLookupString.ORIGINHewlett-Packard CompanySEE ALSOXHPInputChinese_s(3X), XHPInputChinese_t(3X), XHPInputJapanese(3X), XHPInputKorean(3X), XHPInputRoman8(3X), XHPSetKeyboardLanguage(3X),INTERNATIONAL SUPPORT8-bit and 16-bit character data. X Version 11 Release 5 XHPConvertLookup(3X)