Un aspect optimizat pentru o țară poliglotă
Acum 5 ani am discutat ce caracteristici ar trebui să aibă o tastatură optimizată pentru Luxemburg. Vorbesc despre Luxemburg țara, și nu limba luxemburgheză, pentru că în Luxemburg nimeni nu scrie doar luxemburgheză. Cea mai frecventă limbă tipizată este, probabil, franceza, iar engleza este o secundă apropiată. Urmează germană în al treilea și apoi luxemburgheză (unii oameni ar putea argumenta că, din propria lor experiență, limba germană este scrisă mai mult decât franceza, dar mă îndoiesc serios). Indiferent de clasamentul real, o tastatură optimizată pentru Luxemburg ar trebui să fie o tastatură în care tastarea acestor 4 limbi este confortabilă. Acea postare de pe blog de acum 5 ani a săpat în asta (frecvența literelor și așa mai departe), dar până astăzi, am lăsat-o pe dos.
Acum, cu LLM-urile, era banal să continui să lucrezi la asta, să implementezi un model de efort și să folosești un algoritm de optimizare pentru a minimiza efortul. Astăzi, vă pot prezenta aspectul pe care l-am obținut:


(Există o eroare în aspectul afișat aici, există două „G”-uri; cel din dreapta lui E nu ar trebui să fie acolo și, în schimb, ar trebui să fie un „,”. Aceasta este o eroare în funcția care creează harta termică, nu în aspectul în sine.)
⚠️ Aceasta este o lucrare în curs! Aspectul, numele și chiar metodologia sunt toate deschise pentru discuție. Împărtășesc acest lucru devreme pentru că mi-ar plăcea să aud de la comunitate, în special de cei care scriu zilnic în mai multe limbi. Feedbackul dvs. va modela versiunea finală.
Permiteți-mi să clarific, de asemenea, care este scopul meu cu aceasta: vreau să sugerez de fapt un aspect care să fie adoptat la nivel național și să devină un standard? Ei bine, poate. Dar cu siguranță nu o voi face singur. Deci, dacă sunteți interesat, am putea lucra împreună și să scriem un aspect care ar putea fi folosit de fapt de diferite sisteme de operare și să-l prezentăm factorilor de decizie.
Franța arată calea
În 2019, Franța a adoptat oficial două noi standarde de tastatură:
- Un AZERTY revizuit care rezolvă multe probleme, păstrând în același timp familiaritatea
- BÉPO — un aspect complet reproiectat, optimizat pentru limba franceză
Folosesc BÉPO de ani de zile și pot spune sincer că schimbă jocul. Tastarea pare mai naturală, există mai puțină mișcare a degetelor, iar curba de învățare, deși la început abruptă, dă roade semnificativ.
Dar iată treaba: BÉPO a fost conceput în primul rând pentru limba franceză. Luxemburgul este unic, pentru că avem nevoie de ceva care să funcționeze pentru franceză şi german şi luxemburghez şi engleză.
Abordarea QWERTZ-LUX
Așa că am început să mă întreb: cum ar arăta un aspect optimizat de tastatură pentru Luxemburg? Puteți citi despre descoperirile mele aici, dar, practic, orice aspect optimizat pentru oricare dintre aceste 4 limbi ar funcționa destul de bine; acest lucru se datorează faptului că 3 din aceste 4 limbi sunt limbi germanice, dar, de asemenea, primele 10 caractere cele mai utilizate pentru aceste 4 limbi sunt în esență aceleași.
Deci aveam trei variante:
- Pur și simplu propuneți să adoptăm și noi BÉPO
- Creați un aspect complet optimizat folosind aceste 4 limbi pentru configurarea problemei de optimizare
- Păstrați QWERTZ ca bază pentru familiaritate și mișcați doar un set minim de caractere pentru a îmbunătăți confortul.
Am ales o cale de mijloc, inspirată de filosofia de optimizare parțială a lui Carpalx. Martin Krzywinski a demonstrat că nu trebuie să remapezi întreaga tastatură pentru a culege cele mai multe recompense. Se pot realiza doar 5 schimburi de chei strategice 70% din reducerea efortului a unui aspect complet optimizat, în timp ce curba de învățare rămâne gestionabilă.
QWERTZ-LUX (numele final în așteptare) urmează acest principiu. Este în esență o bifurcație a structurii BÉPO, dar cu modificări care:
- Păstrați elemente familiare pentru utilizatorii QWERTZ (comenzi rapide Ctrl+Z, Ctrl+X, Ctrl+C, Ctrl+V)
- Optimizați aranjamentul scrisorilor pentru corpus nostru multilingv
- Oferiți acces direct la caracterele accentuate (é, à, ü, ö, ç, ä) fără taste moarte
Rândul de acasă a trebuit să se schimbe substanțial, deoarece rândul de acasă al QWERTZ este pur și simplu prea ineficient. Dar am încercat să minimizez întreruperile în altă parte, ca urmare a perspectivei de optimizare parțială că primele câteva schimburi de chei contează cel mai mult. Configurarea problemei de optimizare cu aceste constrângeri a dus la o dispunere a tastaturii care rămâne familiară, fiind în același timp mult mai eficientă.
Corpus: ce scrie Luxemburg?
Pentru a evalua în mod echitabil aspectul tastaturii, avem nevoie de text care să reflecte ceea ce oamenii introduc de fapt în Luxemburg. Am creat un corpus multilingv echilibrat cu:
- 30% franceza — Limbajul administrativ și de afaceri
- 30% engleză — Comunicare internațională
- 20% germană — Mass-media și educație
- 20% luxemburghez — Viața cotidiană și identitatea națională
Din nou, kilometrajul dvs. poate varia. Când am început să lucrez în Luxemburg, am folosit doar engleza și franceza. Acum folosesc și luxemburgheza mai des și cunosc oameni care scriu doar franceză. Oricum, un aspect național al tastaturii ar trebui să fie confortabil pentru oricare dintre aceste limbi.
Ceea ce contează de fapt sunt literele de sus în toate limbile, care sunt E, N, S, T, R, I, Aliterele pe care le-ai dori pe rândul tău de acasă.
Modelul efortului explicat
Înainte de a compara machetele, să înțelegem cum măsurăm „efortul de tastare”. Am scris un pachet R numit lbtastatură care implementează un model inspirat de Carpalx, instrumentul fundamental de optimizare a aspectului tastaturii creat de Martin Krzywinski.
Carpalx vs lbkeyboard
| Unitate de analiză | Triade (secvențe cu 3 taste) | Bigrame + chei individuale |
| Efort de bază | Distanța de deplasare a degetului | Pe funcție de poziție (rând + coloană) |
| Penalize | Mână, rând, costuri degete | Același deget, aceeași mână, schimbare de rând |
| Calea cursei | Penalizări de cale complexe | Simplificat prin greutăți bigram |
| Suport strat | Nu este încorporat | Shift, AltGr, sancțiuni cu cheie moartă |
Carpalx folosește triade și un model sofisticat de traseu vascular cerebral. Simplific acest lucru în bigrame (secvențe cu 2 taste) pentru un calcul mai rapid, păstrând în același timp informațiile ergonomice cheie.
Componentele modelului nostru
1. Efort de bază (Greutate: 3,0)
Fiecare cheie are un efort inerent bazat pe poziție. Tastele rândului de acasă (unde se odihnesc degetele) au cel mai mic efort; a ajunge până la rândul de sus sau în jos până la rândul de jos costă mai mult. Forța degetelor contează și ea: degetele arătătoare sunt mai puternice decât migălurile.
Exemplu: Tastarea „e” pe QWERTZ (rândul de sus, atingerea degetului mijlociu) costă mai mult decât introducerea „j” (rândul de acasă, degetul arătător) – chiar dacă folosim „e” de 100 ori mai des!
2. Penalizare pentru bigram cu același deget (greutate: 3,0)
Folosirea aceluiași deget de două ori la rând este lentă și inconfortabilă. Modelul penalizează puternic aceste secvențe.
Exemplu: Tastarea „de” pe QWERTZ folosește același deget (degetul mijlociu, D→E). Acest lucru este penalizat. Pe BÉPO, aceste scrisori sunt pe mâini diferite, deci nu există penalizare.
3. Penalizare pentru aceeași mână (greutate: 0,5)
Tastele consecutive de pe aceeași mână sunt puțin mai grele decât mâinile alternative, deoarece o singură mână trebuie să facă toată munca.
4. Penalizare pentru schimbarea rândului (Greutate: 0,5)
Săritul între rânduri (de exemplu, sus → jos) necesită mai multă călătorie cu degetul decât rămânerea pe același rând.
5. Strat de penalități
Caracterele care necesită taste modificatoare (Shift, AltGr, taste moarte) implică un efort suplimentar: – Schimbare: +5% efort – AltGr: +20% efort – Cheie moartă (de exemplu, ˆ + o = ô): +40% efort (două apăsări de taste!)
Punând-o împreună
Formula efortului total este:
Total = Σ (base × frequency) + Σ (same_finger_penalty) + Σ (same_hand_penalty)
+ Σ (row_change_penalty) + Σ (layer_penalties)
Exemplu numeric: Luați în considerare să introduceți „the” (una dintre cele mai comune trigrame englezești):
| QWERTZ | T (sus), H (acasă), E (sus) | Nu | 2 | Moderat |
| BÉPO | T (acasă), H (jos), E (acasă) | Nu | 1 | Scăzut |
BÉPO plasează două litere pe rândul de acasă și două caractere sunt tastate folosind degetul arătător (T și E), așa că este foarte confortabil să tastați.
Un exemplu concret: Pangramul
Să calculăm scorurile efective ale efortului pentru „vulpea maro iute sare peste câinele leneș” (o pangramă folosind fiecare literă a alfabetului):
# Load layouts
data("ch_qwertz")
data("afnor_bepo")
qwertz_lux <- create_qwertz_lux_keyboard()
# Effort weights (same as used throughout)
effort_weights <- list(
base = 3.0,
same_finger = 3.0,
same_hand = 0.5,
row_change = 0.5,
trigram = 0.3
)
pangram <- "the quick brown fox jumps over the lazy dog"
# Calculate effort for each layout
pangram_qwertz <- calculate_layout_effort(ch_qwertz, pangram,
keys_to_evaluate = letters,
effort_weights = effort_weights)
pangram_bepo <- calculate_layout_effort(afnor_bepo, pangram,
keys_to_evaluate = letters,
effort_weights = effort_weights)
pangram_lux <- calculate_layout_effort(qwertz_lux$base, pangram,
keys_to_evaluate = letters,
effort_weights = effort_weights)
data.frame(
Layout = c("QWERTZ", "BÉPO", "QWERTZ-LUX"),
Effort = round(c(pangram_qwertz, pangram_bepo, pangram_lux), 2),
`vs QWERTZ` = paste0(round((1 - c(pangram_qwertz, pangram_bepo, pangram_lux) /
pangram_qwertz) * 100, 1), "%"),
check.names = FALSE
)
#> Layout Effort vs QWERTZ
#> 1 QWERTZ 338.69 0%
#> 2 BÉPO 268.79 20.6%
#> 3 QWERTZ-LUX 303.08 10.5%
Chiar și pentru această scurtă propoziție de 35 de litere, machetele optimizate necesită mult mai puțin efort.
Cât de mult mai bine este?
Folosind acest model de efort (cu greutățile prezentate mai sus), iată cum se compară layout-urile:
| Aspect | Scorul de efort | Echilibrul mâinilor (L/R%) | relativă (%) | Îmbunătățire vs QWERTZ |
|---|---|---|---|---|
| BÉPO | 633624.9 | 43,6/56,4 | 100,0 | 42,1% |
| QWERTZ-LUX | 642547.9 | 52,1/47,9 | 101.4 | 41,3% |
| QWERTZ (Elveția) | 1094468.2 | 59/41 | 172,7 | 0% |
Vizualizarea diferenței: hărți termice
Hărțile termice arată unde își petrec timpul degetele. Culori mai luminoase = mai multe apăsări de taste. În mod ideal, doriți ca luminozitatea să fie concentrată pe rândul de acasă.






Observați cum BÉPO și QWERTZ-LUX concentrează activitatea pe rândul de acasă, în timp ce QWERTZ distribuie efortul pe toate rândurile.
Caracteristici cheie
| Rândul de acasă optimizat | Litere de înaltă frecvență (E, T, N, R, I, S) la îndemână |
| Accente directe | é, à, ü, ö, ç, ä accesibile fără combinații de taste moarte |
| ZXCV păstrat | Comenzile rapide comune (Ctrl+Z/X/C/V) rămân în poziții familiare |
| Compatibil cu BÉPO | Aceeași filozofie a stratului modificator ca BÉPO |
Ce urmează?
Asa ca as vrea sa stiu ce cred altii. Este ceva ce ați fi interesat să explorați mai departe? Următorul pas ar fi să scrieți a layout.ini dosar pentru Aspectul tastaturii portabile pentru Windows și scrieți fișiere de aspect pentru Linux și macOS și puneți-le pe oameni reali să le testeze în setările din lumea reală. Am putea vedea dacă se simte confortabil și ce altceva ar putea fi optimizat.
Dar există vreo șansă ca un astfel de aspect să fie adoptat vreodată? La urma urmei, există obstacole:
- Oamenilor pur și simplu nu le pasă și nu se vor schimba niciodată
- Chiar dacă oamenilor le pasă, Luxemburg este o piață prea mică, iar tastaturile nu vor fi livrate niciodată cu un aspect specific Luxemburgului
În opinia mea, lansarea unei astfel de tastaturi ar necesita o abordare treptată și graduală:
- Rugați copiii să învețe să atingă textul la școală pe aspectul optimizat
- Distribuiți autocolante cu aspectul tastaturii, care sunt ieftine
După câțiva ani, schimbarea ar fi completă, așa că cred că este fezabilă, dar numai dacă există o comunitate în jurul acestui aspect. De asemenea, cine știe, acest aspect ar putea fi adoptat din punct de vedere tehnic în Elveția și alte națiuni de limbă germană (poate ca o variantă fără acces direct la literele accentuate franceze).
Despre Nume
Numele de lucru actual „QWERTZ-LUX” este descriptiv, dar nu final. Primele litere ale aspectului sunt QWFOGcare nu se rostogolește exact de pe limbă, cum ar fi „QWERTY” sau „BÉPO”. Iată câteva alternative pe care le iau în considerare:
| QWERTZ-LUX | Numele actual; descriptiv (varianta QWERTZ pentru Luxemburg) |
| LÉTZ | Scurt pentru Lëtzebuergesch (luchemburgheză); atrăgător și semnificativ din punct de vedere cultural |
| LUXO | Luxemburg optimizat |
| TRIGLOT | Reflectă focalizarea trilingvă (franceză, germană, luxemburgheză) |
Ce crezi? Sunt cu adevărat deschis la sugestii: un nume bun ajută la adoptare!
Oh, și la mulți ani, cred.
