« Utilisateur:Lawrent/bepo3 » : différence entre les versions

De Disposition de clavier bépo
Aucun résumé des modifications
Ligne 82 : Ligne 82 :
* ajouter les caractères non-présents tel que {}[]\/_$ à la main sur la couche altgr là où il reste de la place
* ajouter les caractères non-présents tel que {}[]\/_$ à la main sur la couche altgr là où il reste de la place


Corpus: 40% de textes perso (e-mails et autres), 40% d'un roman francophone; 20% d'un roman anglophone (<s>Harry Potter</s>), dont voici les statistiques des 50 caractères les plus courants:
===Corpus===
Corpus: 45% de textes perso (e-mails et autres), 45% d'un roman francophone; 10% d'un roman anglophone (<s>Harry Potter</s>), dont voici les statistiques des 50 caractères les plus courants:
<source>
<source>
   - 16.890 %
   - 16.915 %
e - 10.974 %
e - 10.992 %
a - 6.327 %
a - 6.331 %
t - 6.002 %
t - 6.012 %
s - 5.887 %
s - 5.899 %
i - 5.799 %
i - 5.805 %
n - 5.225 %
n - 5.231 %
r - 5.062 %
r - 5.068 %
o - 4.410 %
o - 4.416 %
u - 4.151 %
u - 4.159 %
l - 3.953 %
l - 3.956 %
d - 2.666 %
d - 2.669 %
m - 2.329 %
m - 2.332 %
c - 2.325 %
c - 2.327 %
p - 2.288 %
p - 2.293 %
h - 1.544 %
h - 1.543 %
. - 1.170 %
. - 1.172 %
v - 1.154 %
v - 1.155 %
é - 1.084 %
é - 1.100 %
' - 1.040 %
' - 1.069 %
f - 0.986 %
f - 0.988 %
, - 0.952 %
, - 0.955 %
g - 0.890 %
g - 0.890 %
q - 0.771 %
q - 0.774 %
<Enter> - 0.769 %
b - 0.751 %
b - 0.752 %
<Enter> - 0.747 %
j - 0.559 %
j - 0.561 %
y - 0.519 %
y - 0.519 %
w - 0.471 %
w - 0.471 %
à - 0.305 %
à - 0.309 %
- - 0.297 %
- - 0.298 %
x - 0.271 %
x - 0.271 %
k - 0.221 %
k - 0.220 %
è - 0.194 %
è - 0.197 %
ê - 0.149 %
ê - 0.150 %
: - 0.108 %
: - 0.109 %
ç - 0.101 %
ç - 0.102 %
0 - 0.093 %
? - 0.092 %
? - 0.091 %
- 0.085 %
1 - 0.089 %
1 - 0.084 %
- 0.084 %
0 - 0.082 %
z - 0.075 %
z - 0.074 %
« - 0.070 %
« - 0.070 %
» - 0.070 %
» - 0.070 %
2 - 0.060 %
" - 0.054 %
" - 0.052 %
2 - 0.054 %
) - 0.045 %
) - 0.045 %
4 - 0.043 %
( - 0.042 %
( - 0.042 %
! - 0.041 %
! - 0.041 %
â - 0.040 %
</source>
</source>


Ligne 141 : Ligne 142 :
* la ponctuation (4): .,'- (placer le ;?)
* la ponctuation (4): .,'- (placer le ;?)
* une touche accent (1): ^¨´`
* une touche accent (1): ^¨´`
En plaçant les caractères associés à chaque caractère en majuscule et/ou altgr, la disposition de base sera une permutation de cette disposition:
<source>
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
│    │ a ä│ b  │ c  │ d  │ e  │ f  │ g  │ h  │ i  │ j  │ k  │ l  ║        ║
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
║      ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║
║      ║ m  │ n  │ o ö│ p  │ q  │ r  │ s  │ t  │ u ù│ v  │ w  │ x  ║    ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
║        ║    │    │    │    │    │    │    │    │ :  │ ;  │ !  │ ? –║    ║
║        ║ y  │ z  │ é  │ à å│ è  │ ê  │ ç  │ ^  │ .  │ ,  │ ' "│ - —║    ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
║      ║    │    │    │    │    │    │    │    │    │    │    ║          ║
║      ║    │    │    │    │    │    │    │    │    │    │    ║          ║
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
║      ║    ║    ║    ║                        ║    ║    ║    ║
║      ║    ║    ║    ║                        ║    ║    ║    ║
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝
</source>
(note que je ne place pas les œ ni les æ sur mon clavier.)
L'étape suivante consiste à traduire le corpus en une succession de ces 36 caractères + espace:
* les majuscules sont transformées en minuscules
* tout caractère qui ne se trouve pas dans abcdefghijklmnopqrstuvwxyzéàèêç.,'-äöùå:;?!—–ôâîûïë est transformé en espace
* ä devient a, ö devient o, ù devient u, å devient à, : devient ., ; devient ,, " et ! deviennent ', ?, — et – deviennent -
* î et ï deviennent ^i, â devient ^a, ô devient ^o, û devient ^u et ë devient ^e
Il ne reste ensuite qu'à compter la fréquence des caractères, digrammes et trigrammes dans le corpus traduit. Ces statistiques seront celles utilisées par l'algorithme.
===Clavier===
Cette section s'attaque aux pénalités, autre point clef de l'algorithme.
====Pénalité du clavier====
Pour ce faire, j'utilise le [[Duels_d'accessibilité|key_vote]] où les résultats sont déduits à partir de 100. (Par exemple, si le [E] reçoit une note de 80 au key_vote, ça veut dire qu'il est très bien placé; dans mon système il aura donc la faible pénalité de 20.) Notons que pour évaluer une méthode de saisie peu conformiste comme la mienne, il faut modifier les lignes 56–58 et 73–83 du fichier <code>key_vote_full.py</code> (le key_vote faut automatiquement gagner les duels des touches {AUIE} {TSN}).
====Pénalités des digrammes====
====Pénalités des trigrammes====

Version du 15 juin 2014 à 00:54

Dans mes fichiers ma disposition bidouillée s'appelle bepo2. Cette page est une page où je rassemble mes idées pour une version suivante que j'appelle tout naturellement et à titre personnel bepo3.

Le but est de repenser le bépo à partir de zéro: nouvelle méthode de saisie et nouvelle disposition.

Pour l'instant c'est encore le bordel ici, mais c'est pas grave. :-)

Placement des touches Maj, Ctrl, etc.

(à finir)

À placer:

  • maj x2
  • space x2
  • alt x1
  • altgr x2
  • tab x1
  • meta x1
  • overlay x1
  • level5 x1/x2 ?
  • level5Lock ?
  • enter x1
  • backspace x1
  • delete x1
  • insert x1
  • capslock x1?
X = emplacement pour un caractère
┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────╔════════════════╗
│        │        │        │ a      │ A      │ M      │ I      │        │ I      │ M      │ A      │ a      │        ║                ║
│        │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║                ║
╔══════════════╗──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──╚═════╦══════════╣
║              ║        │ *a*    │ *A*    │ *M*    │ *I*    │        │        │ *I*    │ *M*    │ *A*    │ *a*    │        ║          ║
║              ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║          ║
╠══════════════╩═╗──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────╚═╗        ║
║                ║ a      │ A      │ M      │ I      │        │        │        │ I      │ M      │ A      │ a      │        ║        ║
║                ║ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      │ X      ║        ║
╠═══════════╦════╝───┬────┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴──════──┴───┬────┴───┬────┴───┬────┴───╔═════════════╩════════╣
║           ║        │        │        │ *P*    │        │        │        │        │ *P*    │        │        ║                      ║
║           ║        │ Overlay│ Maj    │ Space  │ Ctrl   │        │        │ Ctrl   │ Space  │ Maj    │        ║                      ║
╠═══════════╬════════╦════════╦════════╦════════════════════════════════════════════╦════════╦════════╦════════╬══════════════════════╝
║           ║        ║        ║        ║                                            ║        ║        ║        ║
║           ║        ║        ║ Level5 ║              AltGr                         ║        ║        ║        ║
╚═══════════╩════════╩════════╩════════╩════════════════════════════════════════════╩════════╩════════╩════════╝

(note: avec cette méthode de saisie, les annulaires gauche et droit ont autant de touches à gérer et le clavier devient symmétrique.)

Quelques idées pour le placement:

  • Enter serait sous le pouce droit (il est relativement fréquent) et tab sous le pouce gauche (car un tab est souvent suivi d'un enter quand il est utilisé pour l'auto-complétion d'un mot)
  • CapsLock peut aller sur [BackSpace] ou [Enter]. À voir.


Idées en vrac

  • utiliser le pavé numérique
 ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗ 
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ 
 │    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║ 
 ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣ 
 ║       ║    │    │    │    │    │    │   "│   6│   7│   8│   9│   %║     ║
 ║       ║    │    │    │    │    │    │   '│    │    │    │    │    ║     ║ 
 ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║ 
 ║        ║    │    │    │    │    │   0│   1│   2│   3│   4│   5│    ║    ║
 ║        ║    │    │    │    │    │    │    │    │    │    │    │    ║    ║ 
 ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣ 
 ║      ║    │    │    │    │    │    │   ;│   ±│   =│   (│   )║  :        ║
 ║      ║    │    │    │    │    │    │   ,│   +│   -│   *│   /║  .        ║ 
 ╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝ 
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ 
 ║      ║    ║    ║    ║                        ║    ║    ║    ║ 
 ╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝

et ne pas duppliquer + et * sur la couche AltGr.

  • mettre à sur a+altgr et å sur a+level5
  • mettre les touches "d'accord" (celles qui sont pressées en même temps qu'une autre touche: maj, ctrl, altgr, level5, overlay, …) sous les pouces
  • mettre les touches "d'arpège" (celles qui ne sont pas pressées en même temps qu'une autre touche: esc, tab, enter, delete, insert, capslock, level5lock, …) sur les auriculaires à l'extérieur du clavier
  • mettre un actions = [ SetControls(controls=Overlay3) ] sur le maj de gauche (par exemple) et overlay3=<CAPS> (ou autre) sur le maj de droite pour que maj gauche + maj droite = caps lock.
  • puisque maj, altgr et level5 sont sous le pouce, la combinaison level5+maj+altgr devient impossible (ou alors très très difficile), c'est pourquoi aucun caractère ne sera situé sur le level8.

Disposition

Dans l'ordre:

  • décider quels caractères vont sur la couche de base et quels caractères se trouvent en majuscule (pour la ponctuation et les symboles très courants: par ex, ? = maj+,) et en altgr (pour les caractères linguistiques: par ex, ù = altgr+u)
  • laisser l'algorithme trouver une disposition optimale avec tout ça
  • ajouter les caractères non-présents tel que {}[]\/_$ à la main sur la couche altgr là où il reste de la place

Corpus

Corpus: 45% de textes perso (e-mails et autres), 45% d'un roman francophone; 10% d'un roman anglophone (Harry Potter), dont voici les statistiques des 50 caractères les plus courants:

  - 16.915 %
e - 10.992 %
a - 6.331 %
t - 6.012 %
s - 5.899 %
i - 5.805 %
n - 5.231 %
r - 5.068 %
o - 4.416 %
u - 4.159 %
l - 3.956 %
d - 2.669 %
m - 2.332 %
c - 2.327 %
p - 2.293 %
h - 1.543 %
. - 1.172 %
v - 1.155 %
é - 1.100 %
' - 1.069 %
f - 0.988 %
, - 0.955 %
g - 0.890 %
q - 0.774 %
b - 0.751 %
<Enter> - 0.747 %
j - 0.561 %
y - 0.519 %
w - 0.471 %
à - 0.309 %
- - 0.298 %
x - 0.271 %
k - 0.220 %
è - 0.197 %
ê - 0.150 %
: - 0.109 %
ç - 0.102 %
? - 0.092 %
— - 0.085 %
1 - 0.084 %
0 - 0.082 %
z - 0.074 %
« - 0.070 %
» - 0.070 %
" - 0.054 %
2 - 0.054 %
) - 0.045 %
( - 0.042 %
! - 0.041 %
â - 0.040 %

Avec ma méthode de saisie j'ai accès à 36 touches sur lesquelles placer des caractères:

  • l'alphabet (26): abcdefghijklmnopqrstuvwxyz
  • d'autres caractères du français (5): éàêèç
  • la ponctuation (4): .,'- (placer le ;?)
  • une touche accent (1): ^¨´`

En plaçant les caractères associés à chaque caractère en majuscule et/ou altgr, la disposition de base sera une permutation de cette disposition:

┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔════════╗
│    │    │    │    │    │    │    │    │    │    │    │    │    ║        ║
│    │ a ä│ b  │ c  │ d  │ e  │ f  │ g  │ h  │ i  │ j  │ k  │ l  ║        ║
╔═══════╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦═════╣
║       ║    │    │    │    │    │    │    │    │    │    │    │    ║     ║
║       ║ m  │ n  │ o ö│ p  │ q  │ r  │ s  │ t  │ u ù│ v  │ w  │ x  ║     ║
╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗    ║
║        ║    │    │    │    │    │    │    │    │ :  │ ;  │ !  │ ? –║    ║
║        ║ y  │ z  │ é  │ à å│ è  │ ê  │ ç  │ ^  │ .  │ ,  │ ' "│ - —║    ║
╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔══════╩════╣
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║
║      ║    │    │    │    │    │    │    │    │    │    │    ║           ║
╠══════╬════╦════╦════╦════════════════════════╦════╦════╦════╬═══════════╝
║      ║    ║    ║    ║                        ║    ║    ║    ║
║      ║    ║    ║    ║                        ║    ║    ║    ║
╚══════╩════╩════╩════╩════════════════════════╩════╩════╩════╝

(note que je ne place pas les œ ni les æ sur mon clavier.)

L'étape suivante consiste à traduire le corpus en une succession de ces 36 caractères + espace:

  • les majuscules sont transformées en minuscules
  • tout caractère qui ne se trouve pas dans abcdefghijklmnopqrstuvwxyzéàèêç.,'-äöùå:;?!—–ôâîûïë est transformé en espace
  • ä devient a, ö devient o, ù devient u, å devient à, : devient ., ; devient ,, " et ! deviennent ', ?, — et – deviennent -
  • î et ï deviennent ^i, â devient ^a, ô devient ^o, û devient ^u et ë devient ^e

Il ne reste ensuite qu'à compter la fréquence des caractères, digrammes et trigrammes dans le corpus traduit. Ces statistiques seront celles utilisées par l'algorithme.

Clavier

Cette section s'attaque aux pénalités, autre point clef de l'algorithme.

Pénalité du clavier

Pour ce faire, j'utilise le key_vote où les résultats sont déduits à partir de 100. (Par exemple, si le [E] reçoit une note de 80 au key_vote, ça veut dire qu'il est très bien placé; dans mon système il aura donc la faible pénalité de 20.) Notons que pour évaluer une méthode de saisie peu conformiste comme la mienne, il faut modifier les lignes 56–58 et 73–83 du fichier key_vote_full.py (le key_vote faut automatiquement gagner les duels des touches {AUIE} {TSN}).

Pénalités des digrammes

Pénalités des trigrammes