Aș dori să explicați mecanismul intern al „Opțiunilor de aranjare a tastaturii” din punctul de vedere al remapării cod de scanare
, cod cheie
, sau keysym
. Vorbesc despre panoul de control GUI „Keyboard Layout Options”. Sunt deosebit de interesat de Ubuntu MATE 20.04.
Pe Ubuntu MATE 20.04, „Opțiunile de dispunere a tastaturii” se află în „Centrul de control”, așa cum se arată mai jos. În „Opțiuni de aspect al tastaturii”, mă interesează în special „Ctrl este mapat la Win și tastele obișnuite Ctrl” și „Swap Left Win with Left Ctrl”.
Centru de control > Hardware >
Tastatură > fila Aspect > Opțiuni... >
Opțiuni de dispunere a tastaturii
Comportamentul tastei Alt/Win
(o) Ctrl este mapat la Win și la tastele Ctrl obișnuite
Poziția Ctrl
[v] Schimbați Win Stânga cu Stânga Ctrl
Pe Linux, există trei niveluri pentru a identifica cheile -- scancode, keycode și keysym. Codul de scanare este cel mai scăzut nivel și este ceea ce tastatura trimite computerului. Codul cheie este de nivel mediu. Keysym este cel mai înalt nivel.
Codurile de scanare sunt mai strâns legate de pozițiile de pe tastatură decât de literele imprimate pe taste. De exemplu, tasta pe care este imprimat Y pe tastatura SUA are Z imprimat pe tastatura europeană. Cu toate acestea, codul de scanare este întotdeauna același, indiferent dacă cheia are Y tipărit pe ea pe tastatura din SUA sau Z imprimat pe ea pe tastatura europeană.
În mod obișnuit, pe Linux, există două niveluri de mapări pe Linux: maparea de la scancode la keycode și maparea de la keycode la keysym. Astfel, în mod obișnuit pe Linux, remaparea cheilor înseamnă fie modificarea mapării scancode-la-keycode, fie modificarea mapării keycode-to-keysym.
Pe MS Windows, însă, lucrurile sunt diferite de Linux. Dacă îmi amintesc bine, Windows nu are keysym. Cu toate acestea, scancode este și cel mai scăzut nivel pe Windows. Pe Windows, remaparea cheilor nu înseamnă modificarea mapării scancode-la-keycode, ci înseamnă crearea unei mapări suplimentare de la scancode la scancode.
Aș dori să știu dacă „Opțiunile de dispunere a tastaturii” pe Ubuntu MATE 20.04 sunt implementate ca:
modificarea mapării cod de scanare la cod de cheie
modificarea mapării keycode-to-keysym
crearea de cartografiere suplimentară de la scancode la scancode
sau orice altceva (explicați)
După cum am menționat mai sus, mă interesează în special „Ctrl este mapat la Win și tastele obișnuite Ctrl” și „Swap Left Win with Left Ctrl”.