Initialize Tizen 2.3
[framework/uifw/xorg/lib/libx11.git] / man / xkb / XkbUpdateMapFromCore.man
1 '\" t
2 .\" Copyright 1999 Oracle and/or its affiliates. All rights reserved.
3 .\"
4 .\" Permission is hereby granted, free of charge, to any person obtaining a
5 .\" copy of this software and associated documentation files (the "Software"),
6 .\" to deal in the Software without restriction, including without limitation
7 .\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 .\" and/or sell copies of the Software, and to permit persons to whom the
9 .\" Software is furnished to do so, subject to the following conditions:
10 .\"
11 .\" The above copyright notice and this permission notice (including the next
12 .\" paragraph) shall be included in all copies or substantial portions of the
13 .\" Software.
14 .\"
15 .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 .\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 .\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18 .\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 .\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 .\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 .\" DEALINGS IN THE SOFTWARE.
22 .\"
23 .TH XkbUpdateMapFromCore __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
24 .SH NAME
25 XkbUpdateMapFromCore \-  Update a local Xkb keyboard map to reflect the mapping 
26 expressed by a core format mapping
27 .SH SYNOPSIS
28 .HP
29 .B Bool XkbUpdateMapFromCore
30 .BI "(\^XkbDescPtr " "xkb" "\^,"
31 .BI "KeyCode " "first_key" "\^,"
32 .BI "int " "num_keys" "\^,"
33 .BI "int " "map_width" "\^,"
34 .BI "KeySym *" "core_keysyms" "\^,"
35 .BI "XkbChangesPtr " "changes" "\^);"
36 .if n .ti +5n
37 .if t .ti +.5i
38 .SH ARGUMENTS
39 .TP
40 .I \- xkb
41 keyboard description to update
42 .TP
43 .I \- first_key
44 keycode of first key description to update
45 .TP
46 .I \- num_keys
47 number of key descriptions to update
48 .TP
49 .I \- map_width
50 width of core protocol keymap
51 .TP
52 .I \- core_keysyms
53 symbols in core protocol keymap
54 .TP
55 .I \- changes
56 backfilled with changes made to Xkb
57 .SH DESCRIPTION
58 .LP
59 Xkb provides several functions that make it easier to apply the compatibility 
60 map to configure a client-side Xkb keyboard mapping, given a core protocol 
61 representation of part or all of a keyboard mapping. Obtain a core protocol 
62 representation of a keyboard mapping from an actual server (by using
63 .I XGetKeyboardMapping, 
64 for example), a data file, or some other source.
65
66 .I XkbUpdateMapFromCore 
67 interprets input argument information representing a keyboard map in core format 
68 to update the Xkb keyboard description passed in 
69 .I xkb. 
70 Only a portion of the Xkb map is updated - the portion corresponding to keys 
71 with keycodes in the range 
72 .I first_key 
73 through 
74 .I first_key + num_keys - 1. 
75 If 
76 .I XkbUpdateMapFromCore 
77 is being called in response to a MappingNotify event, 
78 .I first_key 
79 and 
80 .I num_keys 
81 are reported in the MappingNotify event. 
82 .I core_keysyms 
83 contains the keysyms corresponding to the keycode range being updated, in core 
84 keyboard description order. 
85 .I map_width 
86 is the number of keysyms per key in 
87 .I core_keysyms. 
88 Thus, the first 
89 .I map_width 
90 entries in 
91 .I core_keysyms 
92 are for the key with keycode 
93 .I first_key, 
94 the next 
95 .I map_width 
96 entries are for key 
97 .I first_key + 1, 
98 and so on.
99
100 In addition to modifying the Xkb keyboard mapping in 
101 .I xkb, XkbUpdateMapFromCore 
102 backfills the changes structure whose address is passed in 
103 .I changes 
104 to indicate the modifications that were made. You may then use 
105 .I changes 
106 in subsequent calls such as 
107 .I XkbSetMap, 
108 to propagate the local modifications to a server.
109 .SH "SEE ALSO"
110 .BR XkbSetMap (__libmansuffix__)