upload tizen1.0 source
[framework/uifw/xorg/lib/libx11.git] / man / XLookupKeysym.man
1 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
2 .\"
3 .\" Permission is hereby granted, free of charge, to any person obtaining
4 .\" a copy of this software and associated documentation files (the
5 .\" "Software"), to deal in the Software without restriction, including
6 .\" without limitation the rights to use, copy, modify, merge, publish,
7 .\" distribute, sublicense, and/or sell copies of the Software, and to
8 .\" permit persons to whom the Software is furnished to do so, subject to
9 .\" the following conditions:
10 .\"
11 .\" The above copyright notice and this permission notice shall be included
12 .\" in all copies or substantial portions of the Software.
13 .\"
14 .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17 .\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 .\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 .\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 .\" OTHER DEALINGS IN THE SOFTWARE.
21 .\"
22 .\" Except as contained in this notice, the name of the X Consortium shall
23 .\" not be used in advertising or otherwise to promote the sale, use or
24 .\" other dealings in this Software without prior written authorization
25 .\" from the X Consortium.
26 .\"
27 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
28 .\" Digital Equipment Corporation
29 .\"
30 .\" Portions Copyright \(co 1990, 1991 by
31 .\" Tektronix, Inc.
32 .\"
33 .\" Permission to use, copy, modify and distribute this documentation for
34 .\" any purpose and without fee is hereby granted, provided that the above
35 .\" copyright notice appears in all copies and that both that copyright notice
36 .\" and this permission notice appear in all copies, and that the names of
37 .\" Digital and Tektronix not be used in in advertising or publicity pertaining
38 .\" to this documentation without specific, written prior permission.
39 .\" Digital and Tektronix makes no representations about the suitability
40 .\" of this documentation for any purpose.
41 .\" It is provided ``as is'' without express or implied warranty.
42 .\" 
43 .\"
44 .ds xT X Toolkit Intrinsics \- C Language Interface
45 .ds xW Athena X Widgets \- C Language X Toolkit Interface
46 .ds xL Xlib \- C Language X Interface
47 .ds xC Inter-Client Communication Conventions Manual
48 .na
49 .de Ds
50 .nf
51 .\\$1D \\$2 \\$1
52 .ft 1
53 .\".ps \\n(PS
54 .\".if \\n(VS>=40 .vs \\n(VSu
55 .\".if \\n(VS<=39 .vs \\n(VSp
56 ..
57 .de De
58 .ce 0
59 .if \\n(BD .DF
60 .nr BD 0
61 .in \\n(OIu
62 .if \\n(TM .ls 2
63 .sp \\n(DDu
64 .fi
65 ..
66 .de FD
67 .LP
68 .KS
69 .TA .5i 3i
70 .ta .5i 3i
71 .nf
72 ..
73 .de FN
74 .fi
75 .KE
76 .LP
77 ..
78 .de IN          \" send an index entry to the stderr
79 ..
80 .de C{
81 .KS
82 .nf
83 .D
84 .\"
85 .\"     choose appropriate monospace font
86 .\"     the imagen conditional, 480,
87 .\"     may be changed to L if LB is too
88 .\"     heavy for your eyes...
89 .\"
90 .ie "\\*(.T"480" .ft L
91 .el .ie "\\*(.T"300" .ft L
92 .el .ie "\\*(.T"202" .ft PO
93 .el .ie "\\*(.T"aps" .ft CW
94 .el .ft R
95 .ps \\n(PS
96 .ie \\n(VS>40 .vs \\n(VSu
97 .el .vs \\n(VSp
98 ..
99 .de C}
100 .DE
101 .R
102 ..
103 .de Pn
104 .ie t \\$1\fB\^\\$2\^\fR\\$3
105 .el \\$1\fI\^\\$2\^\fP\\$3
106 ..
107 .de ZN
108 .ie t \fB\^\\$1\^\fR\\$2
109 .el \fI\^\\$1\^\fP\\$2
110 ..
111 .de hN
112 .ie t <\fB\\$1\fR>\\$2
113 .el <\fI\\$1\fP>\\$2
114 ..
115 .de NT
116 .ne 7
117 .ds NO Note
118 .if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
119 .if \\n(.$ .if !'\\$1'C' .ds NO \\$1
120 .ie n .sp
121 .el .sp 10p
122 .TB
123 .ce
124 \\*(NO
125 .ie n .sp
126 .el .sp 5p
127 .if '\\$1'C' .ce 99
128 .if '\\$2'C' .ce 99
129 .in +5n
130 .ll -5n
131 .R
132 ..
133 .               \" Note End -- doug kraft 3/85
134 .de NE
135 .ce 0
136 .in -5n
137 .ll +5n
138 .ie n .sp
139 .el .sp 10p
140 ..
141 .ny0
142 .TH XLookupKeysym __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
143 .SH NAME
144 XLookupKeysym, XRefreshKeyboardMapping, XLookupString, XRebindKeysym \- handle keyboard input events in Latin-1
145 .SH SYNTAX
146 .HP
147 KeySym XLookupKeysym(\^XKeyEvent *\fIkey_event\fP\^, int \fIindex\fP\^); 
148 .HP
149 int XRefreshKeyboardMapping(\^XMappingEvent *\fIevent_map\fP\^); 
150 .HP
151 int XLookupString(\^XKeyEvent *\fIevent_struct\fP\^, char
152 *\fIbuffer_return\fP\^, int \fIbytes_buffer\fP\^, KeySym
153 *\fIkeysym_return\fP\^, XComposeStatus *\fIstatus_in_out\fP\^); 
154 .HP
155 int XRebindKeysym(\^Display *\fIdisplay\fP\^, KeySym \fIkeysym\fP\^, KeySym
156 \fIlist\fP\^[\^]\^, int \fImod_count\fP\^, unsigned char *\fIstring\fP\^, int
157 \fInum_bytes\fP\^); 
158 .SH ARGUMENTS
159 .IP \fIbuffer_return\fP 1i
160 Returns the translated characters.
161 .IP \fIbytes_buffer\fP 1i
162 Specifies the length of the buffer.
163 No more than bytes_buffer of translation are returned.
164 .IP \fInum_bytes\fP 1i
165 Specifies the number of bytes in the string argument.
166 .IP \fIdisplay\fP 1i
167 Specifies the connection to the X server.
168 .IP \fIevent_map\fP 1i
169 Specifies the mapping event that is to be used.
170 .IP \fIevent_struct\fP 1i
171 Specifies the key event structure to be used.
172 You can pass
173 .ZN XKeyPressedEvent
174 or
175 .ZN XKeyReleasedEvent .
176 .IP \fIindex\fP 1i
177 Specifies the index into the KeySyms list for the event's KeyCode.
178 .IP \fIkey_event\fP 1i
179 Specifies the 
180 .ZN KeyPress
181 or
182 .ZN KeyRelease
183 event.
184 .IP \fIkeysym\fP 1i
185 Specifies the KeySym that is to be \*(Fn.
186 .IP \fIkeysym_return\fP 1i
187 Returns the KeySym computed from the event if this argument is not NULL.
188 .IP \fIlist\fP 1i
189 Specifies the KeySyms to be used as modifiers.
190 .IP \fImod_count\fP 1i
191 Specifies the number of modifiers in the modifier list.
192 .IP \fIstatus_in_out\fP 1i
193 Specifies or returns the 
194 .ZN XComposeStatus 
195 structure or NULL.
196 .IP \fIstring\fP 1i
197 Specifies the string that is copied and will be returned by 
198 .ZN XLookupString .
199 .SH DESCRIPTION
200 The
201 .ZN XLookupKeysym
202 function uses a given keyboard event and the index you specified to return
203 the KeySym from the list that corresponds to the KeyCode member in the
204 .ZN XKeyPressedEvent
205 or
206 .ZN XKeyReleasedEvent
207 structure.
208 If no KeySym is defined for the KeyCode of the event,
209 .ZN XLookupKeysym
210 returns
211 .ZN NoSymbol .
212 .LP
213 The
214 .ZN XRefreshKeyboardMapping
215 function refreshes the stored modifier and keymap information.
216 You usually call this function when a
217 .ZN MappingNotify
218 event with a request member of
219 .ZN MappingKeyboard
220 or
221 .ZN MappingModifier
222 occurs.
223 The result is to update Xlib's knowledge of the keyboard.
224 .LP
225 The
226 .ZN XLookupString
227 function translates a key event to a KeySym and a string.
228 The KeySym is obtained by using the standard interpretation of the
229 .ZN Shift ,
230 .ZN Lock ,
231 group, and numlock modifiers as defined in the X Protocol specification.
232 If the KeySym has been rebound (see
233 .ZN XRebindKeysym ),
234 the bound string will be stored in the buffer.
235 Otherwise, the KeySym is mapped, if possible, to an ISO Latin-1 character
236 or (if the Control modifier is on) to an ASCII control character,
237 and that character is stored in the buffer.
238 .ZN XLookupString
239 returns the number of characters that are stored in the buffer.
240 .LP
241 If present (non-NULL),
242 the
243 .ZN XComposeStatus
244 structure records the state,
245 which is private to Xlib,
246 that needs preservation across calls to
247 .ZN XLookupString
248 to implement compose processing.
249 The creation of
250 .ZN XComposeStatus
251 structures is implementation-dependent;
252 a portable program must pass NULL for this argument.
253 .LP
254 The
255 .ZN XRebindKeysym
256 function can be used to rebind the meaning of a KeySym for the client.
257 It does not redefine any key in the X server but merely
258 provides an easy way for long strings to be attached to keys.
259 .ZN XLookupString
260 returns this string when the appropriate set of
261 modifier keys are pressed and when the KeySym would have been used for
262 the translation.
263 No text conversions are performed;
264 the client is responsible for supplying appropriately encoded strings.
265 Note that you can rebind a KeySym that may not exist.
266 .SH "SEE ALSO"
267 XButtonEvent(__libmansuffix__),
268 XMapEvent(__libmansuffix__),
269 XStringToKeysym(__libmansuffix__),
270 XmbLookupString(__libmansuffix__),
271 XwcLookupString(__libmansuffix__),
272 Xutf8LookupString(__libmansuffix__),
273 Compose(__filemansuffix__)
274 .br
275 \fI\*(xL\fP