100 lines
6.8 KiB
XML
100 lines
6.8 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 680 420" width="680" height="420" role="img">
|
|
<title>Touche Alt détournée par xkb sous GNOME/Wayland</title>
|
|
<desc>Parcours du signal d'une touche Alt gauche depuis le clavier vers le raccourci Alt+Tab. La couche xkb avec l'option lv3:lalt_switch détourne Alt_L en ISO_Level3_Shift, le compositeur ne reconnaît plus Alt, le raccourci ne se déclenche pas.</desc>
|
|
|
|
<!-- Background -->
|
|
<rect width="680" height="420" fill="#fafaf7"/>
|
|
|
|
<!-- Background grid -->
|
|
<g opacity="0.08">
|
|
<line x1="0" y1="100" x2="680" y2="100" stroke="#888" stroke-width="0.5"/>
|
|
<line x1="0" y1="200" x2="680" y2="200" stroke="#888" stroke-width="0.5"/>
|
|
<line x1="0" y1="300" x2="680" y2="300" stroke="#888" stroke-width="0.5"/>
|
|
</g>
|
|
|
|
<!-- LEFT: Alt key being pressed -->
|
|
<text x="120" y="40" text-anchor="middle" font-family="system-ui, sans-serif" font-size="9" fill="#888" letter-spacing="2">CLAVIER</text>
|
|
<rect x="60" y="65" width="120" height="80" rx="8" fill="#999" opacity="0.3"/>
|
|
<rect x="60" y="60" width="120" height="80" rx="8" fill="#f0eee8" stroke="#666" stroke-width="1"/>
|
|
<text x="120" y="95" text-anchor="middle" font-family="ui-monospace, monospace" font-size="14" fill="#333" font-weight="500">Alt</text>
|
|
<text x="120" y="112" text-anchor="middle" font-family="ui-monospace, monospace" font-size="9" fill="#888" letter-spacing="1">gauche</text>
|
|
<circle cx="120" cy="100" r="58" fill="none" stroke="#3b8a4f" stroke-width="1" opacity="0.4" stroke-dasharray="3 3"/>
|
|
|
|
<!-- Arrow from key to first stage -->
|
|
<line x1="180" y1="100" x2="225" y2="100" stroke="#3b8a4f" stroke-width="2"/>
|
|
<polygon points="220,96 230,100 220,104" fill="#3b8a4f"/>
|
|
|
|
<!-- STACK header -->
|
|
<text x="340" y="40" text-anchor="middle" font-family="system-ui, sans-serif" font-size="9" fill="#888" letter-spacing="2">PARCOURS DU SIGNAL</text>
|
|
|
|
<!-- Layer 1: kernel OK -->
|
|
<rect x="230" y="60" width="220" height="50" rx="6" fill="#d9ecdf" stroke="#3b8a4f" stroke-width="1"/>
|
|
<circle cx="250" cy="85" r="8" fill="#3b8a4f"/>
|
|
<path d="M 245 85 L 249 89 L 256 81" stroke="#fff" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
|
<text x="270" y="82" font-family="system-ui, sans-serif" font-size="12" fill="#1f4a2a" font-weight="500">kernel / evdev</text>
|
|
<text x="270" y="98" font-family="ui-monospace, monospace" font-size="10" fill="#3b6a44">KEY_LEFTALT</text>
|
|
|
|
<line x1="340" y1="110" x2="340" y2="135" stroke="#666" stroke-width="1.5"/>
|
|
<polygon points="335,132 345,132 340,142" fill="#666"/>
|
|
|
|
<!-- Layer 2: xkb culprit -->
|
|
<rect x="210" y="150" width="260" height="80" rx="6" fill="#efd3cf" stroke="#a8312a" stroke-width="1.5"/>
|
|
<polygon points="225,190 233,174 241,190" fill="#a8312a"/>
|
|
<text x="233" y="187" text-anchor="middle" font-family="system-ui, sans-serif" font-size="11" fill="#fff" font-weight="500">!</text>
|
|
<text x="255" y="175" font-family="system-ui, sans-serif" font-size="12" fill="#6b1e18" font-weight="500">couche xkb</text>
|
|
<text x="255" y="191" font-family="ui-monospace, monospace" font-size="10" fill="#8a2820">option: lv3:lalt_switch</text>
|
|
<text x="255" y="215" font-family="ui-monospace, monospace" font-size="9" fill="#6b1e18">Alt_L</text>
|
|
<line x1="288" y1="212" x2="318" y2="212" stroke="#a8312a" stroke-width="1.2"/>
|
|
<polygon points="314,209 322,212 314,215" fill="#a8312a"/>
|
|
<text x="326" y="215" font-family="ui-monospace, monospace" font-size="9" fill="#6b1e18">ISO_Level3_Shift</text>
|
|
|
|
<line x1="340" y1="230" x2="340" y2="253" stroke="#a8312a" stroke-width="1.5" stroke-dasharray="4 3"/>
|
|
<polygon points="335,250 345,250 340,260" fill="#a8312a"/>
|
|
|
|
<!-- Layer 3: mutter -->
|
|
<rect x="230" y="270" width="220" height="50" rx="6" fill="#f5e4cd" stroke="#c98030" stroke-width="1"/>
|
|
<polygon points="245,305 253,289 261,305" fill="#c98030"/>
|
|
<text x="253" y="302" text-anchor="middle" font-family="system-ui, sans-serif" font-size="11" fill="#fff" font-weight="500">!</text>
|
|
<text x="275" y="292" font-family="system-ui, sans-serif" font-size="12" fill="#7a4a14" font-weight="500">mutter (compositeur)</text>
|
|
<text x="275" y="308" font-family="ui-monospace, monospace" font-size="10" fill="#a86b1a">voit Level3, pas Alt</text>
|
|
|
|
<line x1="340" y1="320" x2="340" y2="343" stroke="#a8312a" stroke-width="1.5" stroke-dasharray="4 3"/>
|
|
<polygon points="335,340 345,340 340,350" fill="#a8312a"/>
|
|
|
|
<!-- Layer 4: shortcut fails -->
|
|
<rect x="230" y="360" width="220" height="50" rx="6" fill="#efd3cf" stroke="#a8312a" stroke-width="1.5"/>
|
|
<circle cx="252" cy="385" r="9" fill="#a8312a"/>
|
|
<line x1="247" y1="380" x2="257" y2="390" stroke="#fff" stroke-width="2" stroke-linecap="round"/>
|
|
<line x1="257" y1="380" x2="247" y2="390" stroke="#fff" stroke-width="2" stroke-linecap="round"/>
|
|
<text x="272" y="382" font-family="system-ui, sans-serif" font-size="12" fill="#6b1e18" font-weight="500">raccourci Alt+Tab</text>
|
|
<text x="272" y="398" font-family="ui-monospace, monospace" font-size="10" fill="#8a2820">jamais déclenché</text>
|
|
|
|
<!-- RIGHT: fix -->
|
|
<text x="570" y="40" text-anchor="middle" font-family="system-ui, sans-serif" font-size="9" fill="#888" letter-spacing="2">CORRECTION</text>
|
|
|
|
<!-- Terminal-style box -->
|
|
<rect x="490" y="60" width="160" height="100" rx="6" fill="#1f2940" stroke="#0d1424" stroke-width="1"/>
|
|
<circle cx="504" cy="74" r="3.5" fill="#d94a3d"/>
|
|
<circle cx="516" cy="74" r="3.5" fill="#e89a3c"/>
|
|
<circle cx="528" cy="74" r="3.5" fill="#3b8a4f"/>
|
|
<line x1="490" y1="86" x2="650" y2="86" stroke="#0d1424" stroke-width="1"/>
|
|
<text x="500" y="105" font-family="ui-monospace, monospace" font-size="9" fill="#7ec88f">$ gsettings set</text>
|
|
<text x="500" y="119" font-family="ui-monospace, monospace" font-size="8" fill="#e8e6e1">org.gnome.desktop</text>
|
|
<text x="500" y="131" font-family="ui-monospace, monospace" font-size="8" fill="#e8e6e1">.input-sources</text>
|
|
<text x="500" y="143" font-family="ui-monospace, monospace" font-size="8" fill="#e8e6e1">xkb-options "[]"</text>
|
|
<text x="500" y="156" font-family="ui-monospace, monospace" font-size="9" fill="#7ec88f">$ _</text>
|
|
|
|
<!-- Arrow back to xkb layer -->
|
|
<path d="M 490 190 Q 470 190 470 200" stroke="#3b8a4f" stroke-width="2" fill="none"/>
|
|
<polygon points="466,196 470,206 474,196" fill="#3b8a4f"/>
|
|
<text x="510" y="186" font-family="ui-monospace, monospace" font-size="9" fill="#3b6a44">reset xkb</text>
|
|
|
|
<!-- After: shortcut works -->
|
|
<rect x="490" y="270" width="160" height="60" rx="6" fill="#d9ecdf" stroke="#3b8a4f" stroke-width="1"/>
|
|
<circle cx="510" cy="300" r="9" fill="#3b8a4f"/>
|
|
<path d="M 505 300 L 509 304 L 516 296" stroke="#fff" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
|
<text x="530" y="296" font-family="system-ui, sans-serif" font-size="11" fill="#1f4a2a" font-weight="500">Alt + Tab</text>
|
|
<text x="530" y="312" font-family="ui-monospace, monospace" font-size="9" fill="#3b6a44">fonctionne à nouveau</text>
|
|
</svg>
|