'\"macro stdmacro
.if n .pH g3x11.XStTKsym @(#)XStTKsym	40.3 of 1/19/90
.ds tk X Toolkit
.ds xT X Toolkit Intrinsics \- C Language Interface
.ds xI Intrinsics
.ds xW Athena X Widgets \- C Language X Toolkit Interface
.ds xL Xlib \- C Language X Interface
.ds xC Inter-Client Communication Conventions Manual
.ds Rn 3
.ds Vn 2.2
.hw XtMake-Geometry-Request XtQuery-Geometry wid-get
.na
.de Ds
.nf
.\\$1D \\$2 \\$1
.ft 1
.ps \\n(PS
.\".if \\n(VS>=40 .vs \\n(VSu
.\".if \\n(VS<=39 .vs \\n(VSp
..
.de De
.ce 0
.if \\n(BD .DF
.nr BD 0
.in \\n(OIu
.if \\n(TM .ls 2
.sp \\n(DDu
.fi
..
.de FD
.LP
.KS
.TA .5i 3i
.ta .5i 3i
.nf
..
.de FN
.fi
.KE
.LP
..
.de IN		\" send an index entry to the stderr
.tm \\n%:\\$1:\\$2:\\$3
..
.de C{
.KS
.nf
.D
.\"
.\"	choose appropriate monospace font
.\"	the imagen conditional, 480,
.\"	may be changed to L if LB is too
.\"	heavy for your eyes...
.\"
.ie "\\*(.T"480" .ft L
.el .ie "\\*(.T"300" .ft L
.el .ie "\\*(.T"202" .ft PO
.el .ie "\\*(.T"aps" .ft CW
.el .ft R
.ps \\n(PS
.ie \\n(VS>40 .vs \\n(VSu
.el .vs \\n(VSp
..
.de C}
.DE
.R
..
.de Pn
.ie t \\$1\fB\^\\$2\^\fR\\$3
.el \\$1\fI\^\\$2\^\fP\\$3
..
.de PN
.ie t \fB\^\\$1\^\fR\\$2
.el \fI\^\\$1\^\fP\\$2
..
.de NT
.ne 7
.ds NO Note
.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
.ie n .sp
.el .sp 10p
.TB
.ce
\\*(NO
.ie n .sp
.el .sp 5p
.if '\\$1'C' .ce 99
.if '\\$2'C' .ce 99
.in +5n
.ll -5n
.R
..
.		\" Note End -- doug kraft 3/85
.de NE
.ce 0
.in -5n
.ll +5n
.ie n .sp
.el .sp 10p
..
.ny0
.nr X
.if \nX=0 .ds x} XStringToKeysym 3X11 "9/1/88" "XWIN 3.0" "\&"
.if \nX=1 .ds x} XStringToKeysym 3X11 "9/1/88" "XWIN 3.0"
.if \nX=2 .ds x} XStringToKeysym 3X11 "" "\&"
.if \nX=3 .ds x} XStringToKeysym "" "" "\&"
.TH \*(x}
.SH NAME
XStringToKeysym, XKeysymToString, XKeycodeToKeysym, XKeysymToKeycode \- convert keysyms
.SH SYNTAX
KeySym XStringToKeysym\^(\^\fIstring\fP\^)
.br
      char *\fIstring\fP\^;
.LP
char *XKeysymToString\^(\^\fIkeysym\fP\^)
.br
      KeySym \fIkeysym\fP\^;
.LP
KeySym XKeycodeToKeysym\^(\^\fIdisplay\fP, \fIkeycode\fP, \fIindex\fP\^)
.br
      Display *\fIdisplay\fP\^;
.br
      KeyCode \fIkeycode\fP\^;
.br
      int \fIindex\fP\^;
.LP
KeyCode XKeysymToKeycode\^(\^\fIdisplay\fP, \fIkeysym\fP\^)
.br
      Display *\fIdisplay\fP\^;
.br
      KeySym \fIkeysym\fP\^;
.SH ARGUMENTS
.\" $Header: display.a,v 1.1 88/02/26 10:26:29 mento Exp $
.IP \fIdisplay\fP 1i
Specifies the connection to the X\s-2WIN\s+2 server.
.IP \fIindex\fP 1i
Specifies the element of KeyCode vector.
.\" $Header: keycode.a,v 1.2 88/04/06 17:41:50 mento Exp $
.IP \fIkeycode\fP 1i
Specifies the KeyCode.
.ds Fn searched for or converted
.IP \fIkeysym\fP 1i
Specifies the KeySym that is to be \*(Fn.
.IP \fIstring\fP 1i
Specifies the name of the KeySym that is to be converted.
.SH DESCRIPTION
.\" $Header: XSTKeysym.d,v 1.3 88/06/11 07:52:54 mento Exp $
Valid KeySym names are listed in
.Pn < X11/keysymdef.h >
by removing the XK_ prefix from each name.
If the specified string does not match a valid KeySym,
.PN XStringToKeysym
returns
.PN NoSymbol .
.LP
.\" $Header: XKTString.d,v 1.3 88/06/11 07:51:44 mento Exp $
The returned string is in a static area and must not be modified.
If the specified KeySym is not defined,
.PN XKeysymToString
returns a NULL.
.LP
.\" $Header: XKTKeysym.d,v 1.4 88/08/20 10:08:36 mento Exp $
The
.PN XKeycodeToKeysym
function uses internal Xlib tables
and returns the KeySym defined for the specified KeyCode and
the element of the KeyCode vector.
If no symbol is defined,
.PN XKeycodeToKeysym
returns
.PN NoSymbol .
.LP
.\" $Header: XKTKeycode.d,v 1.4 88/06/11 07:51:42 mento Exp $
If the specified KeySym is not defined for any KeyCode,
.PN XKeysymToKeycode
returns zero.
.SH "SEE ALSO"
XLookupKeysym(3X11)
.br
\fI\*(xL\fP
