1<?xml version="1.0" encoding="UTF-8" standalone="no"?> 2<!-- Created with Inkscape (http://www.inkscape.org/) --> 3 4<svg 5 xmlns:dc="http://purl.org/dc/elements/1.1/" 6 xmlns:cc="http://creativecommons.org/ns#" 7 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 8 xmlns:svg="http://www.w3.org/2000/svg" 9 xmlns="http://www.w3.org/2000/svg" 10 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 11 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 12 width="660" 13 height="420" 14 id="svg2" 15 version="1.1" 16 inkscape:version="0.48.0 r9654" 17 sodipodi:docname="XKBlib-18.svg" 18 style="display:inline" 19 inkscape:export-filename="/home/fcarrijo/Desktop/XKBlib-18.png" 20 inkscape:export-xdpi="156.71965" 21 inkscape:export-ydpi="156.71965"> 22 <defs 23 id="defs4"> 24 <marker 25 inkscape:stockid="Arrow2Lend" 26 orient="auto" 27 refY="0" 28 refX="0" 29 id="Arrow2Lend" 30 style="overflow:visible"> 31 <path 32 id="path4554" 33 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 34 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 35 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 36 inkscape:connector-curvature="0" /> 37 </marker> 38 <marker 39 inkscape:stockid="Arrow2Lend" 40 orient="auto" 41 refY="0" 42 refX="0" 43 id="Arrow2Lend-9" 44 style="overflow:visible"> 45 <path 46 inkscape:connector-curvature="0" 47 id="path4554-0" 48 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 49 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 50 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> 51 </marker> 52 <marker 53 inkscape:stockid="Arrow2Lend" 54 orient="auto" 55 refY="0" 56 refX="0" 57 id="Arrow2Lend-3" 58 style="overflow:visible"> 59 <path 60 inkscape:connector-curvature="0" 61 id="path4554-8" 62 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 63 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 64 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> 65 </marker> 66 <marker 67 inkscape:stockid="Arrow2Lend" 68 orient="auto" 69 refY="0" 70 refX="0" 71 id="Arrow2Lend-31" 72 style="overflow:visible"> 73 <path 74 inkscape:connector-curvature="0" 75 id="path4554-00" 76 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 77 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 78 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> 79 </marker> 80 <marker 81 inkscape:stockid="Arrow2Lend" 82 orient="auto" 83 refY="0" 84 refX="0" 85 id="Arrow2Lend-0" 86 style="overflow:visible"> 87 <path 88 inkscape:connector-curvature="0" 89 id="path4554-3" 90 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 91 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 92 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> 93 </marker> 94 <marker 95 inkscape:stockid="Arrow2Lend" 96 orient="auto" 97 refY="0" 98 refX="0" 99 id="Arrow2Lend-0-8" 100 style="overflow:visible"> 101 <path 102 inkscape:connector-curvature="0" 103 id="path4554-3-0" 104 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 105 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 106 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> 107 </marker> 108 <marker 109 inkscape:stockid="Arrow2Lend" 110 orient="auto" 111 refY="0" 112 refX="0" 113 id="Arrow2Lend-0-7" 114 style="overflow:visible"> 115 <path 116 inkscape:connector-curvature="0" 117 id="path4554-3-9" 118 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 119 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 120 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> 121 </marker> 122 <marker 123 inkscape:stockid="Arrow2Lend" 124 orient="auto" 125 refY="0" 126 refX="0" 127 id="Arrow2Lend-0-0" 128 style="overflow:visible"> 129 <path 130 inkscape:connector-curvature="0" 131 id="path4554-3-3" 132 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 133 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 134 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> 135 </marker> 136 <marker 137 inkscape:stockid="Arrow2Lend" 138 orient="auto" 139 refY="0" 140 refX="0" 141 id="Arrow2Lend-0-9" 142 style="overflow:visible"> 143 <path 144 inkscape:connector-curvature="0" 145 id="path4554-3-4" 146 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 147 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 148 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> 149 </marker> 150 <marker 151 inkscape:stockid="Arrow2Lend" 152 orient="auto" 153 refY="0" 154 refX="0" 155 id="Arrow2Lend-4" 156 style="overflow:visible"> 157 <path 158 inkscape:connector-curvature="0" 159 id="path4554-6" 160 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 161 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 162 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> 163 </marker> 164 <marker 165 inkscape:stockid="Arrow2Lend" 166 orient="auto" 167 refY="0" 168 refX="0" 169 id="Arrow2Lend-0-2" 170 style="overflow:visible"> 171 <path 172 inkscape:connector-curvature="0" 173 id="path4554-3-90" 174 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 175 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 176 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> 177 </marker> 178 <marker 179 inkscape:stockid="Arrow2Lend" 180 orient="auto" 181 refY="0" 182 refX="0" 183 id="Arrow2Lend-0-03" 184 style="overflow:visible"> 185 <path 186 inkscape:connector-curvature="0" 187 id="path4554-3-37" 188 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 189 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 190 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> 191 </marker> 192 <marker 193 inkscape:stockid="Arrow2Lend" 194 orient="auto" 195 refY="0" 196 refX="0" 197 id="Arrow2Lend-0-4" 198 style="overflow:visible"> 199 <path 200 inkscape:connector-curvature="0" 201 id="path4554-3-99" 202 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 203 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 204 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> 205 </marker> 206 <marker 207 inkscape:stockid="Arrow2Lend" 208 orient="auto" 209 refY="0" 210 refX="0" 211 id="Arrow2Lend-0-94" 212 style="overflow:visible"> 213 <path 214 inkscape:connector-curvature="0" 215 id="path4554-3-2" 216 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 217 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 218 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> 219 </marker> 220 <marker 221 inkscape:stockid="Arrow2Lend" 222 orient="auto" 223 refY="0" 224 refX="0" 225 id="Arrow2Lend-0-6" 226 style="overflow:visible"> 227 <path 228 inkscape:connector-curvature="0" 229 id="path4554-3-5" 230 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 231 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 232 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> 233 </marker> 234 <marker 235 inkscape:stockid="Arrow2Lend" 236 orient="auto" 237 refY="0" 238 refX="0" 239 id="Arrow2Lend-0-5" 240 style="overflow:visible"> 241 <path 242 inkscape:connector-curvature="0" 243 id="path4554-3-6" 244 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 245 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 246 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> 247 </marker> 248 <marker 249 inkscape:stockid="Arrow2Lend" 250 orient="auto" 251 refY="0" 252 refX="0" 253 id="Arrow2Lend-0-1" 254 style="overflow:visible"> 255 <path 256 inkscape:connector-curvature="0" 257 id="path4554-3-43" 258 style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 259 d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" 260 transform="matrix(-1.1,0,0,-1.1,-1.1,0)" /> 261 </marker> 262 </defs> 263 <sodipodi:namedview 264 id="base" 265 pagecolor="#ffffff" 266 bordercolor="#666666" 267 borderopacity="1.0" 268 inkscape:pageopacity="0.0" 269 inkscape:pageshadow="2" 270 inkscape:zoom="0.6452381" 271 inkscape:cx="328.96405" 272 inkscape:cy="167.7834" 273 inkscape:document-units="px" 274 inkscape:current-layer="layer2" 275 showgrid="false" 276 inkscape:window-width="1016" 277 inkscape:window-height="718" 278 inkscape:window-x="0" 279 inkscape:window-y="0" 280 inkscape:window-maximized="1" /> 281 <metadata 282 id="metadata7"> 283 <rdf:RDF> 284 <cc:Work 285 rdf:about=""> 286 <dc:format>image/svg+xml</dc:format> 287 <dc:type 288 rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 289 <dc:title></dc:title> 290 </cc:Work> 291 </rdf:RDF> 292 </metadata> 293 <g 294 inkscape:groupmode="layer" 295 id="layer2" 296 inkscape:label="Vetorial" 297 style="display:inline"> 298 <g 299 id="g5558"> 300 <rect 301 y="315.38745" 302 x="254.94466" 303 height="74.391144" 304 width="148.00739" 305 id="rect3680" 306 style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 307 <text 308 sodipodi:linespacing="125%" 309 id="text3070-7" 310 y="333.39355" 311 x="329.09778" 312 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 313 xml:space="preserve"><tspan 314 y="333.39355" 315 x="329.09778" 316 id="tspan3074-0" 317 sodipodi:role="line">Xkb-capable</tspan><tspan 318 y="348.39355" 319 x="329.09778" 320 id="tspan3076-5" 321 sodipodi:role="line">Client</tspan><tspan 322 y="363.39355" 323 x="329.09778" 324 id="tspan3078-1" 325 sodipodi:role="line">Xkb-aware Xlib</tspan><tspan 326 y="378.39355" 327 x="329.09778" 328 id="tspan3080-1" 329 sodipodi:role="line">Xkb-unaware App</tspan></text> 330 </g> 331 <rect 332 style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 333 id="rect3499" 334 width="27.896679" 335 height="26.346863" 336 x="286.71588" 337 y="239.44649" /> 338 <g 339 id="g5566"> 340 <rect 341 y="313.83765" 342 x="22.472324" 343 height="74.391144" 344 width="149.55719" 345 id="rect3678" 346 style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 347 <text 348 sodipodi:linespacing="125%" 349 id="text3070" 350 y="331.84375" 351 x="97.40033" 352 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 353 xml:space="preserve"><tspan 354 y="331.84375" 355 x="97.40033" 356 id="tspan3074" 357 sodipodi:role="line">Xkb-unaware</tspan><tspan 358 y="346.84375" 359 x="97.40033" 360 id="tspan3076" 361 sodipodi:role="line">Client</tspan><tspan 362 y="361.84375" 363 x="97.40033" 364 id="tspan3078" 365 sodipodi:role="line">Core kb Xlib</tspan><tspan 366 y="376.84375" 367 x="97.40033" 368 id="tspan3080" 369 sodipodi:role="line">Xkb-unaware App</tspan></text> 370 </g> 371 <g 372 id="g5550"> 373 <rect 374 y="316.16235" 375 x="488.57935" 376 height="74.391144" 377 width="148.00739" 378 id="rect3680-1" 379 style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 380 <text 381 sodipodi:linespacing="125%" 382 id="text3070-7-0" 383 y="334.16846" 384 x="562.73242" 385 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 386 xml:space="preserve"><tspan 387 y="334.16846" 388 x="562.73242" 389 id="tspan3074-0-3" 390 sodipodi:role="line">Xkb-aware</tspan><tspan 391 y="349.16846" 392 x="562.73242" 393 id="tspan3076-5-0" 394 sodipodi:role="line">Client</tspan><tspan 395 y="364.16846" 396 x="562.73242" 397 id="tspan3078-1-0" 398 sodipodi:role="line">Xkb-aware Xlib</tspan><tspan 399 y="379.16846" 400 x="562.73242" 401 id="tspan3080-1-4" 402 sodipodi:role="line">Xkb-aware App</tspan></text> 403 </g> 404 <text 405 xml:space="preserve" 406 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 407 x="278.96094" 408 y="279.99509" 409 id="text3070-5-9" 410 sodipodi:linespacing="125%"><tspan 411 sodipodi:role="line" 412 id="tspan3080-9-9" 413 x="278.96094" 414 y="279.99509">state</tspan></text> 415 <text 416 xml:space="preserve" 417 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 418 x="572.65094" 419 y="264.49692" 420 id="text3070-5-9-4-8" 421 sodipodi:linespacing="125%"><tspan 422 sodipodi:role="line" 423 id="tspan3080-9-9-9-1" 424 x="572.65094" 425 y="264.49692">config</tspan></text> 426 <text 427 xml:space="preserve" 428 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 429 x="266.56824" 430 y="193.41203" 431 id="text3070-5-9-4-8-9-4-1-6-2" 432 sodipodi:linespacing="125%"><tspan 433 sodipodi:role="line" 434 id="tspan3080-9-9-9-1-33-6-5-1-2" 435 x="266.56824" 436 y="193.41203">kb</tspan><tspan 437 sodipodi:role="line" 438 x="266.56824" 439 y="208.41203" 440 id="tspan3316-7-9">mapping</tspan></text> 441 <g 442 id="g5644"> 443 <rect 444 y="32.546127" 445 x="206.12546" 446 height="79.040588" 447 width="245.64575" 448 id="rect3575" 449 style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 450 <text 451 sodipodi:linespacing="125%" 452 id="text3070-2" 453 y="52.876968" 454 x="328.93661" 455 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 456 xml:space="preserve"><tspan 457 y="52.876968" 458 x="328.93661" 459 id="tspan3074-8" 460 sodipodi:role="line">Xkb-aware</tspan><tspan 461 y="67.876968" 462 x="328.93661" 463 id="tspan3080-4" 464 sodipodi:role="line">Server</tspan><tspan 465 id="tspan3403" 466 y="82.876968" 467 x="328.93661" 468 sodipodi:role="line">Maintains Xkb State and Mapping,</tspan><tspan 469 id="tspan3407" 470 y="97.876968" 471 x="328.93661" 472 sodipodi:role="line">core kb mapping, but not core kb state</tspan></text> 473 </g> 474 <text 475 xml:space="preserve" 476 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 477 x="300.81363" 478 y="257.09357" 479 id="text3070-5-7-6" 480 sodipodi:linespacing="125%"><tspan 481 sodipodi:role="line" 482 id="tspan3080-9-8-3" 483 x="300.81363" 484 y="257.09357">Xkb</tspan></text> 485 <g 486 id="g5594"> 487 <path 488 sodipodi:nodetypes="cc" 489 inkscape:connector-curvature="0" 490 id="path5070-5-3-9" 491 d="m 417.4437,206.30568 30.99631,30.2214" 492 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-0)" /> 493 <rect 494 y="184.42804" 495 x="395.20297" 496 height="26.346863" 497 width="27.896679" 498 id="rect3499-8" 499 style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 500 <text 501 sodipodi:linespacing="125%" 502 id="text3070-5-9-4-8-9-4-1-6" 503 y="223.63342" 504 x="408.3764" 505 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 506 xml:space="preserve"><tspan 507 y="223.63342" 508 x="408.3764" 509 id="tspan3080-9-9-9-1-33-6-5-1" 510 sodipodi:role="line">kb</tspan><tspan 511 id="tspan3316-7" 512 y="238.63342" 513 x="408.3764" 514 sodipodi:role="line">mapping</tspan></text> 515 <text 516 sodipodi:linespacing="125%" 517 id="text3070-5-7-6-7" 518 y="202.0751" 519 x="409.30072" 520 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 521 xml:space="preserve"><tspan 522 y="202.0751" 523 x="409.30072" 524 id="tspan3080-9-8-3-7" 525 sodipodi:role="line">Xkb</tspan></text> 526 </g> 527 <g 528 id="g5586"> 529 <path 530 sodipodi:nodetypes="cc" 531 inkscape:connector-curvature="0" 532 id="path5070-5-3" 533 d="m 479.44862,277.58458 30.99631,30.2214" 534 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-0)" /> 535 <text 536 sodipodi:linespacing="125%" 537 id="text3070-5-9-4" 538 y="300.1427" 539 x="467.26352" 540 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 541 xml:space="preserve"><tspan 542 y="300.1427" 543 x="467.26352" 544 id="tspan3080-9-9-9" 545 sodipodi:role="line">state</tspan></text> 546 <rect 547 y="254.16974" 548 x="454.87085" 549 height="26.346863" 550 width="27.896679" 551 id="rect3499-1-0" 552 style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 553 <text 554 sodipodi:linespacing="125%" 555 id="text3070-5-7-6-72" 556 y="272.59171" 557 x="468.9686" 558 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 559 xml:space="preserve"><tspan 560 y="272.59171" 561 x="468.9686" 562 id="tspan3080-9-8-3-5" 563 sodipodi:role="line">Xkb</tspan></text> 564 </g> 565 <text 566 xml:space="preserve" 567 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 568 x="155.71251" 569 y="66.852989" 570 id="text3070-5-6-0" 571 sodipodi:linespacing="125%"><tspan 572 sodipodi:role="line" 573 id="tspan3080-9-4-3" 574 x="155.71251" 575 y="66.852989">Keycode</tspan></text> 576 <path 577 sodipodi:type="arc" 578 style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.07095349;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 579 id="path3577-8" 580 sodipodi:cx="160.01845" 581 sodipodi:cy="217.74908" 582 sodipodi:rx="8.9114389" 583 sodipodi:ry="9.298893" 584 d="m 168.92989,217.74908 a 8.9114389,9.298893 0 1 1 -17.82288,0 8.9114389,9.298893 0 1 1 17.82288,0 z" 585 transform="matrix(0.95383025,0,0,0.91408731,112.38801,-30.111786)" /> 586 <path 587 sodipodi:type="arc" 588 style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.07095349;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 589 id="path3577-0" 590 sodipodi:cx="160.01845" 591 sodipodi:cy="217.74908" 592 sodipodi:rx="8.9114389" 593 sodipodi:ry="9.298893" 594 d="m 168.92989,217.74908 a 8.9114389,9.298893 0 1 1 -17.82288,0 8.9114389,9.298893 0 1 1 17.82288,0 z" 595 transform="matrix(0.95383025,0,0,0.91408731,416.15185,86.899284)" /> 596 <g 597 id="g5616" 598 transform="translate(14,-32)"> 599 <rect 600 y="117.01107" 601 x="496.71588" 602 height="26.346863" 603 width="27.896679" 604 id="rect3499-3" 605 style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 606 <text 607 sodipodi:linespacing="125%" 608 id="text3070-5-7-6-3" 609 y="134.65814" 610 x="510.81363" 611 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 612 xml:space="preserve"><tspan 613 y="134.65814" 614 x="510.81363" 615 id="tspan3080-9-8-3-76" 616 sodipodi:role="line">Xkb</tspan></text> 617 <path 618 transform="matrix(0.95383025,0,0,0.91408731,363.48212,-101.4033)" 619 d="m 168.92989,217.74908 a 8.9114389,9.298893 0 1 1 -17.82288,0 8.9114389,9.298893 0 1 1 17.82288,0 z" 620 sodipodi:ry="9.298893" 621 sodipodi:rx="8.9114389" 622 sodipodi:cy="217.74908" 623 sodipodi:cx="160.01845" 624 id="path3577-98" 625 style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.07095349;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 626 sodipodi:type="arc" /> 627 <text 628 sodipodi:linespacing="125%" 629 id="text3070-5-9-0" 630 y="100.94892" 631 x="572.651" 632 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 633 xml:space="preserve"><tspan 634 y="100.94892" 635 x="572.651" 636 id="tspan3080-9-9-0" 637 sodipodi:role="line">Core protocol</tspan></text> 638 <text 639 sodipodi:linespacing="125%" 640 id="text3070-5-9-0-6" 641 y="133.49506" 642 x="571.32965" 643 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 644 xml:space="preserve"><tspan 645 y="133.49506" 646 x="571.32965" 647 id="tspan3080-9-9-0-3" 648 sodipodi:role="line">Xkb protocol</tspan></text> 649 </g> 650 <g 651 id="g5638"> 652 <rect 653 y="68.191879" 654 x="39.132847" 655 height="20.922508" 656 width="80.590401" 657 id="rect3678-2" 658 style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 659 <text 660 sodipodi:linespacing="125%" 661 id="text3070-5-6" 662 y="81.963684" 663 x="79.384102" 664 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 665 xml:space="preserve"><tspan 666 y="81.963684" 667 x="79.384102" 668 id="tspan3080-9-4" 669 sodipodi:role="line">Keyboard</tspan></text> 670 <path 671 inkscape:connector-curvature="0" 672 id="path3760" 673 d="m 120.1107,76.715867 84.46495,0" 674 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" /> 675 </g> 676 <path 677 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 678 d="m 322.34401,110.78525 0,202.6734" 679 id="path3760-8" 680 inkscape:connector-curvature="0" /> 681 <path 682 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 683 d="m 333.96762,316.01593 0,-201.90494" 684 id="path3760-8-7" 685 inkscape:connector-curvature="0" /> 686 <path 687 style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" 688 d="m 301.4215,266.71471 0,30.84761" 689 id="path3760-8-5" 690 inkscape:connector-curvature="0" /> 691 <g 692 id="g5610"> 693 <text 694 sodipodi:linespacing="125%" 695 id="text3070-5-9-4-8-6" 696 y="270.65372" 697 x="375.2692" 698 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 699 xml:space="preserve"><tspan 700 y="270.65372" 701 x="375.2692" 702 id="tspan3080-9-9-9-1-3" 703 sodipodi:role="line">config</tspan></text> 704 <path 705 transform="matrix(0.95383025,0,0,0.91408731,195.30314,86.899285)" 706 d="m 168.92989,217.74908 a 8.9114389,9.298893 0 1 1 -17.82288,0 8.9114389,9.298893 0 1 1 17.82288,0 z" 707 sodipodi:ry="9.298893" 708 sodipodi:rx="8.9114389" 709 sodipodi:cy="217.74908" 710 sodipodi:cx="160.01845" 711 id="path3577-2" 712 style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.07095349;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 713 sodipodi:type="arc" /> 714 <path 715 inkscape:connector-curvature="0" 716 id="path3760-8-5-1" 717 d="m 348.69087,279.30644 0,-37.10951" 718 style="fill:none;stroke:#000000;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" /> 719 </g> 720 <g 721 id="g5580"> 722 <text 723 sodipodi:linespacing="125%" 724 id="text3070-5-9-4-8-9" 725 y="200.13712" 726 x="156.74524" 727 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 728 xml:space="preserve"><tspan 729 y="200.13712" 730 x="156.74524" 731 id="tspan3080-9-9-9-1-33" 732 sodipodi:role="line">config</tspan></text> 733 <path 734 transform="matrix(0.95383025,0,0,0.91408731,9.3012966,19.506304)" 735 d="m 168.92989,217.74908 a 8.9114389,9.298893 0 1 1 -17.82288,0 8.9114389,9.298893 0 1 1 17.82288,0 z" 736 sodipodi:ry="9.298893" 737 sodipodi:rx="8.9114389" 738 sodipodi:cy="217.74908" 739 sodipodi:cx="160.01845" 740 id="path3577" 741 style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.07095349;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 742 sodipodi:type="arc" /> 743 <path 744 sodipodi:nodetypes="cc" 745 inkscape:connector-curvature="0" 746 id="path5070" 747 d="m 168.15498,212.32472 30.99631,-30.2214" 748 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-0)" /> 749 </g> 750 <path 751 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-0)" 752 d="M 88.120201,312.89513 288.0464,112.19402" 753 id="path5070-1" 754 inkscape:connector-curvature="0" 755 sodipodi:nodetypes="cc" /> 756 <path 757 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-0)" 758 d="M 302.81384,112.15982 102.88764,312.86093" 759 id="path5070-1-1" 760 inkscape:connector-curvature="0" 761 sodipodi:nodetypes="cc" /> 762 <g 763 id="g5574"> 764 <text 765 sodipodi:linespacing="125%" 766 id="text3070-5" 767 y="280.69983" 768 x="186.90219" 769 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 770 xml:space="preserve"><tspan 771 y="280.69983" 772 x="186.90219" 773 id="tspan3080-9" 774 sodipodi:role="line">state</tspan></text> 775 <path 776 transform="matrix(0.95383025,0,0,0.91408731,34.897239,54.353159)" 777 d="m 168.92989,217.74908 a 8.9114389,9.298893 0 1 1 -17.82288,0 8.9114389,9.298893 0 1 1 17.82288,0 z" 778 sodipodi:ry="9.298893" 779 sodipodi:rx="8.9114389" 780 sodipodi:cy="217.74908" 781 sodipodi:cx="160.01845" 782 id="path3577-5" 783 style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.07095349;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 784 sodipodi:type="arc" /> 785 <path 786 sodipodi:nodetypes="cc" 787 inkscape:connector-curvature="0" 788 id="path5070-5" 789 d="m 180.77278,259.01201 -30.99631,30.2214" 790 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-0)" /> 791 </g> 792 <path 793 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-0)" 794 d="m 259.03847,175.29676 -30.99631,30.2214" 795 id="path5070-5-8" 796 inkscape:connector-curvature="0" 797 sodipodi:nodetypes="cc" /> 798 <g 799 id="g5634"> 800 <path 801 transform="matrix(0.95383025,0,0,0.91408731,150.35849,-28.56197)" 802 d="m 168.92989,217.74908 a 8.9114389,9.298893 0 1 1 -17.82288,0 8.9114389,9.298893 0 1 1 17.82288,0 z" 803 sodipodi:ry="9.298893" 804 sodipodi:rx="8.9114389" 805 sodipodi:cy="217.74908" 806 sodipodi:cx="160.01845" 807 id="path3577-50" 808 style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.07095349;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 809 sodipodi:type="arc" /> 810 <path 811 inkscape:connector-curvature="0" 812 id="path3760-8-5-9" 813 d="m 302.97132,175.5644 0,30.84761" 814 style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" /> 815 </g> 816 <g 817 id="g5603"> 818 <text 819 sodipodi:linespacing="125%" 820 id="text3070-5-9-4-8-9-4-1" 821 y="167.59099" 822 x="363.64563" 823 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 824 xml:space="preserve"><tspan 825 y="167.59099" 826 x="363.64563" 827 id="tspan3080-9-9-9-1-33-6-5" 828 sodipodi:role="line">kb</tspan><tspan 829 id="tspan3316" 830 y="182.59099" 831 x="363.64563" 832 sodipodi:role="line">mapping</tspan></text> 833 <path 834 transform="matrix(0.95383025,0,0,0.91408731,210.8013,-58.008465)" 835 d="m 168.92989,217.74908 a 8.9114389,9.298893 0 1 1 -17.82288,0 8.9114389,9.298893 0 1 1 17.82288,0 z" 836 sodipodi:ry="9.298893" 837 sodipodi:rx="8.9114389" 838 sodipodi:cy="217.74908" 839 sodipodi:cx="160.01845" 840 id="path3577-9" 841 style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.07095349;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 842 sodipodi:type="arc" /> 843 <path 844 sodipodi:nodetypes="cc" 845 inkscape:connector-curvature="0" 846 id="path5070-5-3-9-1" 847 d="m 361.65034,139.66361 30.99631,30.2214" 848 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-0)" /> 849 </g> 850 <path 851 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-0)" 852 d="m 354.69537,113.29733 199.9262,200.70112" 853 id="path5070-1-1-0" 854 inkscape:connector-curvature="0" 855 sodipodi:nodetypes="cc" /> 856 <path 857 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-0)" 858 d="M 568.21975,314.45174 368.29356,113.75063" 859 id="path5070-1-9" 860 inkscape:connector-curvature="0" 861 sodipodi:nodetypes="cc" /> 862 <g 863 id="g5626"> 864 <rect 865 y="188.30258" 866 x="488.19189" 867 height="26.346863" 868 width="27.896679" 869 id="rect3499-1" 870 style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 871 <text 872 sodipodi:linespacing="125%" 873 id="text3070-5-9-4-8-9-4" 874 y="169.91573" 875 x="497.70465" 876 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 877 xml:space="preserve"><tspan 878 y="169.91573" 879 x="497.70465" 880 id="tspan3080-9-9-9-1-33-6" 881 sodipodi:role="line">config</tspan></text> 882 <text 883 sodipodi:linespacing="125%" 884 id="text3070-5-7-6-2" 885 y="205.94965" 886 x="502.28964" 887 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVu Sans" 888 xml:space="preserve"><tspan 889 y="205.94965" 890 x="502.28964" 891 id="tspan3080-9-8-3-3" 892 sodipodi:role="line">Xkb</tspan></text> 893 <path 894 sodipodi:nodetypes="cc" 895 inkscape:connector-curvature="0" 896 id="path5070-5-3-9-1-1" 897 d="m 487.62396,188.12237 -30.99631,-30.2214" 898 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-0)" /> 899 </g> 900 <path 901 style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend-0)" 902 d="m 565.13933,282.66111 -30.99631,-30.2214" 903 id="path5070-5-3-9-1-1-7" 904 inkscape:connector-curvature="0" 905 sodipodi:nodetypes="cc" /> 906 </g> 907</svg> 908