From e68aec57856dd366d512064357a2b3facce7f197 Mon Sep 17 00:00:00 2001 From: Fabien Cazenave Date: Sun, 14 Jul 2024 11:12:33 +0200 Subject: [PATCH] minor fixes --- www/content/articles/analyseurs/_index.md | 18 +++++++++++------- www/content/articles/analyseurs/bepo.png | Bin 8840 -> 5221 bytes www/content/articles/analyseurs/ergol.png | Bin 9506 -> 4271 bytes 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/www/content/articles/analyseurs/_index.md b/www/content/articles/analyseurs/_index.md index 5155fd20..1598860a 100644 --- a/www/content/articles/analyseurs/_index.md +++ b/www/content/articles/analyseurs/_index.md @@ -86,16 +86,17 @@ Tout digramme appartient à l’une des catégories suivantes : Les roulements intérieurs sont considérés comme les enchainements les plus confortables. Entre alternance de mains et roulements extérieurs, c’est plus une -question de préférence personnelle. +question de préférence personnelle. On identifie aussi deux types de mauvais +roulements : + +- les roulements avec « ciseau », qui requièrent un changement de rangée + inconfortable, comme [C]{.kbd}[R]{.kbd} en Azerty ou Qwerty ; +- les roulements avec extension, qui incluent une touche notée 4 ou plus. Les SFB sont les pires enchainements qui soient : une bonne optimisation cherchera à en avoir le moins possible, et fera en sorte de ne pas avoir de SFB ou SKB sous des auriclaires. -En plus de ces catégories, on parle de « ciseau » quand un digramme de même main -(roulement) requiert un changement de rangée inconfortable, comme -[C]{.kbd}[R]{.kbd} en Azerty ou Qwerty. - ### Les trigrammes Un trigramme est un enchainement de trois touches. @@ -281,13 +282,13 @@ Les itérations de développement ont été facilitées par : On a développé notre propre analyseur pour trois raisons : - aucun analyseur existant ne prenait en compte les touches mortes, alors que - toutes les dispositions francophons en font usage — et c’est même un élément + toutes les dispositions francophones en font usage — et c’est même un élément fondamental d’Ergo‑L ; - on a voulu mettre en lumière certains défauts de la disposition au fur et à mesure de l’avancement du projet, et qui n’étaient pas toujours pris en compte par les autres analyseurs : part des extensions dans la charge des doigts, qualification des redirections, repérage des ciseaux… -- c’était trivial et fun à faire. :-) +- c’était simple et fun à faire. :-) Bien évidemment, on a vérifié que pour un même layout et un même corpus, notre analyseur donnait les mêmes résultats que les analyseurs existants. Et bien sûr, @@ -317,6 +318,9 @@ développement d’Ergo‑L. Les autres analyseurs -------------------------------------------------------------------------------- +Notre analyseur n’est ni le premier, ni le dernier à être développé. Petit tour +d’horizons des autres analyseurs parmi les plus connus et les plus utiles. + ### CarpalX TODO diff --git a/www/content/articles/analyseurs/bepo.png b/www/content/articles/analyseurs/bepo.png index 58fb40fb6cf12b2d484421e7392937d576c34c54..7ce38ab75f2f7dd0231be208b123830f8556310b 100644 GIT binary patch literal 5221 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 Jb4(l~{|m16#IFDV literal 8840 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 diff --git a/www/content/articles/analyseurs/ergol.png b/www/content/articles/analyseurs/ergol.png index 47aa6be1fa40c3558a25377811d318b654652e7e..1025bbecd41048fe2552ad741615444fd32fcc3e 100644 GIT binary patch literal 4271 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 clON_Ex7&}b?R0_vLmzrvH$=8 literal 9506 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