« Discussion v2:Méthodologie » : différence entre les versions
m (a déplacé Discussion:V2/Ancienne page vers Discussion v2:Méthodologie) |
|||
(83 versions intermédiaires par 10 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{aide discussion}} | |||
== Nouvelle ébauche de projet de v2 par Robipo == | |||
<small>(Note d’A2 : cette discussion a été très mal menée, évitez d'utiliser un sommaire en pdd, il vaut engager un nouvelle discussion pour chaque sujet. Là on a du mal à suivre le fil des discussions. Les pages de discussion doivent servir à élaborer les articles correspondants. – [[Utilisateur:A2|A2]] 3 février 2013 à 16:30 (UTC))</small> | |||
[[Utilisateur:Robipo|Robipo]] Pour s’y retrouver et éviter d’avoir des discussions qui partent dans tous les sens, je propose le plan suivant qui correspond à un plan temporel (ouvert aux critiques) | [[Utilisateur:Robipo|Robipo]] Pour s’y retrouver et éviter d’avoir des discussions qui partent dans tous les sens, je propose le plan suivant qui correspond à un plan temporel (ouvert aux critiques) | ||
# Corpus et Clavier (pour Bépo corpus = Thomas Tempé, et clavier = standard décalé français (TODO : quelle [[Méthode de saisie]] a été utilisée ? std,t6,o0,A)) | # Corpus et Clavier (pour Bépo corpus = Thomas Tempé, et clavier = standard décalé français (TODO : quelle [[Méthode de saisie]] a été utilisée ? std,t6,o0,A)) | ||
Ligne 4 : | Ligne 9 : | ||
# Ajustements (pour Bépo voir les logs de la ML ?) | # Ajustements (pour Bépo voir les logs de la ML ?) | ||
= Corpus et Clavier = | ==== Corpus et Clavier ==== | ||
== Corpus == | ===== Corpus ===== | ||
=== Corpus "informatique" (principaux languages de prog, shell unix, etc) === | ====== Corpus "informatique" (principaux languages de prog, shell unix, etc) ====== | ||
Ce point me gène. | Ce point me gène. | ||
Les langages apparaissent, évoluent et meurent. Voir « figer » une disposition sur du mouvant me parait impossible. Enfin, si. Mais faut re-figer tous les 6 mois. *_Si_* j’ai raison (prions que je me trompe), ça va vite vous faire chier. | Les langages apparaissent, évoluent et meurent. Voir « figer » une disposition sur du mouvant me parait impossible. Enfin, si. Mais faut re-figer tous les 6 mois. *_Si_* j’ai raison (prions que je me trompe), ça va vite vous faire chier. | ||
Ligne 17 : | Ligne 22 : | ||
: D'une part les choses bougent sur une période de temps bien plus longue que 6 mois. L'[http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html index TIOBE] (qui vaut ce qu'il vaut, mais qui a le mérite d'exister) donne dans le top 10 : C, Java, Objective-C, C++, C#, PHP, (Visual) Basic, Python, Perl, Ruby. Mis à part C#, tous ces languages ont au moins 15 ans (et C# en a 10), voir beaucoup plus.<br /><br />D'autre part, les languages populaires ont tendance à réutiliser des caractères similaires : {} pour les blocs, [] pour les tableaux, ; pour les fins de lignes, etc.<br /><br />Enfin, il faut bien bouger et faire quelque chose, quitte à mettre à jour la dispo dans 10 ou 15 ans. Une disposition rationnelle des caractères spéciaux, basée sur la technique actuelle, sera toujours mieux que celle au petit bonheur la chance de la V1 (sans AltGr symétrique, qui plus est).<br /><br />[[Utilisateur:Arathor|Arathor]] 20 octobre 2012 à 03:29 (UTC) | : D'une part les choses bougent sur une période de temps bien plus longue que 6 mois. L'[http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html index TIOBE] (qui vaut ce qu'il vaut, mais qui a le mérite d'exister) donne dans le top 10 : C, Java, Objective-C, C++, C#, PHP, (Visual) Basic, Python, Perl, Ruby. Mis à part C#, tous ces languages ont au moins 15 ans (et C# en a 10), voir beaucoup plus.<br /><br />D'autre part, les languages populaires ont tendance à réutiliser des caractères similaires : {} pour les blocs, [] pour les tableaux, ; pour les fins de lignes, etc.<br /><br />Enfin, il faut bien bouger et faire quelque chose, quitte à mettre à jour la dispo dans 10 ou 15 ans. Une disposition rationnelle des caractères spéciaux, basée sur la technique actuelle, sera toujours mieux que celle au petit bonheur la chance de la V1 (sans AltGr symétrique, qui plus est).<br /><br />[[Utilisateur:Arathor|Arathor]] 20 octobre 2012 à 03:29 (UTC) | ||
:: En effet, si on regarde bien, on a les paires (), [], <>, {}, /\, les signes mathématiques +-*/=, logiques &|!, et les autres :,~^"'`$#*%@;. Ça fait beaucoup de signes mais ce sont toujours les mêmes !<br /><br />[[Utilisateur:Sinma|Sinma]] 20 novembre 2012 | |||
::: Ce sont simplement les caractères ASCII autres que les lettres et les chiffres. Historiquement, il n’y avait que ça et c’est toujours la garantie que le code ne soit pas à la merci d’un problème d’encodage (enfin jusqu’à la limite des chaînes de caractères et de leur traitement). [[Utilisateur:Laurent|Laurent]] 3 mars 2013 à 01:53 (UTC) | |||
:: | Ne pas compter les raccourcis claviers, mais encourager les projets qui permettent d'utiliser les raccourcis claviers en Azerty. Il est par exemple possible dans KDE d'activer le Bépo avec les raccourcis claviers d'Azerty dans les logiciels en Qt mais pas en GTK. J'ai fait un [https://bugzilla.gnome.org/show_bug.cgi?id=688099 rapport de bug] à ce sujet. [[Utilisateur:Sinma|Sinma]] | ||
:Garder les raccourcis clavier de l'azerty n'est qu'un début (ÀMHA une jambe de bois palliant un manque) mais pour aller plus loin on peut encourager les soft qui proposent l'édition de ses propres raccourcis perso. GTK posait déjà des problèmes avec les caractères morts pour les symboles monétaires et les lettres grecques, obligé de passer en XIM, donc privilégier autre chose que GTK mais c'est dommage sur Gnome ou Xfce… Espérons qu'ils vont rapidement mettre à niveau cette bibli. [[Utilisateur:XavierC|XavierC]] 12 novembre 2012 à 01:37 (UTC) | |||
:: Oui, mais c'est plus rapide, plus facile, et tu fais quoi des touches dans les jeux qui ne supportent pas les caractères non ASCII, les sites webs usant de raccourcis claviers… C'est peut-être une jambe de bois mais on ne peut faire autrement à l'heure actuelle. Ou c'est en tout cas la façon la plus simple de répondre à un problème très courant (ah, les jeux Flash en Qwerty… :D). [[Utilisateur:Sinma|Sinma]] | |||
Il faut vraiment que () et [] soient frappés par des touches différentes, en programmation c'est super relou. Par ailleurs, il m'arrive souvent d'ouvrir des parenthèses ou des crochet puis de les remplir ensuite, ce qui est aussi très chiant. À mon avis, un gros défaut du Bépo c'est les symboles: @ en accès direct, <> pas accès direct, et le défaut sus-cité. [[Utilisateur:Sinma|Sinma]] 9 janvier 2013 à 15:14 (UTC) | |||
=== Langues étrangères === | ====== Langues étrangères ====== | ||
Dans la section « Déterminer l’ordre des priorités » on distingue les langues de l’UE des autres langues étrangères, principalement parce que les utilisateurs occidentaux ont plus de chance d’écrire dans une de ces langues. Mais une bonne partie des francophones vivent en Afrique et sont souvent polyglottes. Je pense que de la même façon que les langues européennes ont un « statut » spécial, les langues parlées dans les zones francophones devraient aussi bénéficier de ce « statut ». J’ai commencé à lister ces langues et les lettres associées sur la page [[User:LeBret/Bépo_dans_le_monde]]. | Dans la section « Déterminer l’ordre des priorités » on distingue les langues de l’UE des autres langues étrangères, principalement parce que les utilisateurs occidentaux ont plus de chance d’écrire dans une de ces langues. Mais une bonne partie des francophones vivent en Afrique et sont souvent polyglottes. Je pense que de la même façon que les langues européennes ont un « statut » spécial, les langues parlées dans les zones francophones devraient aussi bénéficier de ce « statut ». J’ai commencé à lister ces langues et les lettres associées sur la page [[User:LeBret/Bépo_dans_le_monde]]. | ||
Ligne 31 : | Ligne 44 : | ||
::La solution pourrait être d’ajouter, en plus des deux touches d’accès au 3me niveau (Alt Gr), deux touches d’accès au 5me niveau. Ça ferait un total de 8 niveaux, ce qui doublerait presque l’espace disponible. Si l’on y ajoute une touche Compose '''facilement accessible''', il n’y a plus de limites, si ce n’est l’impossibilité d’implémenter ladite touche Compose dans PKL (le pilote portable pour Windows) sans en modifier le code. [[Utilisateur:Tohuvabohuo|Tohuvabohuo]] 7 novembre 2012 à 23:58 (UTC) | ::La solution pourrait être d’ajouter, en plus des deux touches d’accès au 3me niveau (Alt Gr), deux touches d’accès au 5me niveau. Ça ferait un total de 8 niveaux, ce qui doublerait presque l’espace disponible. Si l’on y ajoute une touche Compose '''facilement accessible''', il n’y a plus de limites, si ce n’est l’impossibilité d’implémenter ladite touche Compose dans PKL (le pilote portable pour Windows) sans en modifier le code. [[Utilisateur:Tohuvabohuo|Tohuvabohuo]] 7 novembre 2012 à 23:58 (UTC) | ||
== Clavier == | ===== Clavier ===== | ||
[[Utilisateur:Robipo|Robipo]] : Je vote pour faire une version standard avec utilisation de pondération, et de laisser la possibilité aux utilisateurs avancés de se génerer leur propre disposition à leur risques et périls, mais pour avoir une disposition totalement optimisée. | [[Utilisateur:Robipo|Robipo]] : Je vote pour faire une version standard avec utilisation de pondération, et de laisser la possibilité aux utilisateurs avancés de se génerer leur propre disposition à leur risques et périls, mais pour avoir une disposition totalement optimisée. | ||
:: [[Utilisateur:Sinma|Sinma]] : Comme maintenant quoi… Je pense que c'est une bonne idée mais à condition d'encourager un max les retours utilisateurs, pour essayer de ne pas avoir de retour négatif (certains doigts trop chargés, position du Z et du W, symboles de programmation…) C'est à dire une bonne partie de ce qui a engendré les dispositions dérivées du bépo. | :: [[Utilisateur:Sinma|Sinma]] : Comme maintenant quoi… Je pense que c'est une bonne idée mais à condition d'encourager un max les retours utilisateurs, pour essayer de ne pas avoir de retour négatif (certains doigts trop chargés, position du Z et du W, symboles de programmation…) C'est à dire une bonne partie de ce qui a engendré les dispositions dérivées du bépo. | ||
::: Je pense qu'il y a deux choses distinctes ici : le ou les types de clavier visés d'une part, et d'autre part l'utilisation (taper du français uniquement ; mélange français/anglais ; informaticien ou non). Pour plusieurs raisons différentes, il vaut mieux une seule version officielle et éventuellement d'autres versions à côté.<br />http://bepo.fr/wiki/V2#Variantes_ou_pas<br />Pour les types de claviers supportés, je pense que la cible de base reste les claviers pc10X (ce qui inclue les 102, 103, 104) mais qu'il faut aussi prendre en compte les claviers ergos. Je suis pas certain que la méthode de Robipo (0.8 std + 0.1 typematrix + 0.1 TE) donne un résultat intéressant, mais je me trompe peut-être. À mon sens une manière efficace de prendre en compte les claviers ergos (notamment les symétriques, +1 avec XavierC) c'est avec des contraintes du style « pas de lettres sur le pavé auxiliaire ». [[Utilisateur:Arathor|Arathor]] 9 novembre 2012 à 14:23 (UTC) | ::: Je pense qu'il y a deux choses distinctes ici : le ou les types de clavier visés d'une part, et d'autre part l'utilisation (taper du français uniquement ; mélange français/anglais ; informaticien ou non). Pour plusieurs raisons différentes, il vaut mieux une seule version officielle et éventuellement d'autres versions à côté.<br />http://bepo.fr/wiki/V2#Variantes_ou_pas<br />Pour les types de claviers supportés, je pense que la cible de base reste les claviers pc10X (ce qui inclue les 102, 103, 104) mais qu'il faut aussi prendre en compte les claviers ergos. Je suis pas certain que la méthode de Robipo (0.8 std + 0.1 typematrix + 0.1 TE) donne un résultat intéressant, mais je me trompe peut-être. À mon sens une manière efficace de prendre en compte les claviers ergos (notamment les symétriques, +1 avec XavierC) c'est avec des contraintes du style « pas de lettres sur le pavé auxiliaire ». [[Utilisateur:Arathor|Arathor]] 9 novembre 2012 à 14:23 (UTC) | ||
::: le type de clavier est discuté ici, l'utilisation est prise en compte par le corpus (cf partie précédente) : merci d’en parler là-bas (en l’occurrence, je pense que pour le corpus/utilisation une méthode similaire serait également le mieux (à savoir pondérations par ex 0.8fr 0.1en 0.1divers pour une version officielle et possibilité de faire des versions custom)). Je pense que pondérer les claviers ergos ou utiliser des contraintes du style pavé auxilière auront un résultat similaire niveau stats finales (bien que l’utilisation de pondérations risque aussi de donner des modifications plus fines, par exemple l’accessibilité de certaines touches changeraient suivant que ce soit un clavier ergo ou clavier décalé, ce qui serait difficile à décrire via des contraintes, sans passer par les pondérations sus-citées). [[Utilisateur:Robipo|Robipo]] 9 novembre 2012 à 20:40 (UTC) | |||
:Avant de penser Pondération, mieux vaut faire tourner l'algorithme avec cette idée du multi-critère http://bepo.fr/wiki/Id%C3%A9es_pour_une_v2#Multi-crit.C3.A8res (En prenant le français en critère fixe?) puis par la suite déterminer plus finement avec la pondération. On aura ainsi des dispositions très différentes, davantage d'opportunités et de choix.[[Utilisateur:XavierC|XavierC]] 13 novembre 2012 à 02:04 (UTC) | |||
=== Claviers standards === | ====== Claviers standards ====== | ||
Comme le bépo. | Comme le bépo. | ||
*Avantage : C’est la dispo utilisée par la majorité des claviers, et donc les claviers pas chers de monsieur tout le monde | *Avantage : C’est la dispo utilisée par la majorité des claviers, et donc les claviers pas chers de monsieur tout le monde | ||
*Inconvénient : En général les personnes intéressé par l’ergonomie et le bépo seront aussi intéressées par les claviers ergo, donc ce serait dommage de les handicaper (comme le bépo par défaut qui devient horrible sur le TE) | *Inconvénient : En général les personnes intéressé par l’ergonomie et le bépo seront aussi intéressées par les claviers ergo, donc ce serait dommage de les handicaper (comme le bépo par défaut qui devient horrible sur le TE) | ||
=== Pondérer les claviers dans l’algo (par ex : 0.8std + 0.1tmx + 0.1te) === | Dans son réarrangement des touches, le Truly Ergonomic fait un choix d’affectation qui n’est optimal que par rapport aux caractères qu’elles portent en Qwerty. Même pour l’Azerty, il n’a aucun sens. En considérant par ailleurs que les touches sont programmables, il ne faut donc pas s’en tenir à leur affectation par défaut pour la conception d’une disposition. [[Utilisateur:Laurent|Laurent]] 12 novembre 2012 à 06:27 (UTC) | ||
: Qui a parlé de caractères ? Quand on parle de clavier, on parle strictement de clavier, c'est-à-dire du nombre de touches, de leur emplacement et de leur dimensions. Si on lance l’algo pour prendre en compte uniquement l’agencement physique des claviers standards décalés avec touches auxiliaires à droite (ce qui est présenté ici), forcément on va avoir une disposition parfaite pour ce type de clavier, mais qui va handicaper les utilisateurs d’autres claviers (surtout les ergos et en particulier le TE). Je ne vois pas le rapport avec l’aspect programmable, qui est uniquement pour intégrer la dispo directement dans le clavier et donc pouvoir l’utiliser ensuite sur des PC sans devoir installer de driver ou autre. [[Utilisateur:Robipo|Robipo]] 12 novembre 2012 à 07:15 (UTC) | |||
:: C’est moi qui ait parlé de caractères, mais c’est parce que Truly Ergonomic (la boîte) en a tenu compte : les codes touches du TE ont été réaffectés pour obtenir une disposition logique des caractères qui leur correspondent en Qwerty américain, par exemple \ et / côte à côte. Pour une autre disposition, on peut avoir intérêt à affecter les touches déplacées différemment. S’en tenir au fait que telle touche déplacée du TE renvoie tel code est une contrainte non justifiable, surtout que les touches sont sensées être programmables. [[Utilisateur:Laurent|Laurent]] 12 novembre 2012 à 17:24 (UTC) | |||
:::« sensées être programmables » C'est là que réside tout le problème. Il faut avouer que le soft pour reprogrammer le firmware n'est toujours pas disponible, aucune info n'est dispo sur la license, le langage de prog utilisé, l'interface ou même la portabilité sur d'autres OS que Mac/W$. Le TE a mis tellement de temps à sortir qu'il a été pris pour un vaporware donc il est possible que le logiciel sorte (dans combien d'années ?) mais en attendant ce n'est pas le cas et dans le doute il ne faut prendre en compte que les possibilités fournies par les dip switches situés au dos.[[Utilisateur:XavierC|XavierC]] 13 novembre 2012 à 00:56 (UTC) | |||
:::OK, je vais faire plus simple, oublie le TE, imagine qu'il existe un clavier ergonomique super génial mais qui a que 64 touches par exemple. Ce que je dis c'est que peut-importe quels keycode ils auraient choisi pour ces 64 touches (qu'ils aient décidé de mettre les [] qwerty à côté ou de pas les mettre tout court ou autre), si tu fais une disposition qui est étudiée uniquement pour le clavier décalé 102 touches de monsieur tout le monde, alors il sera inutilisable sur le clavier ergonomique cité précédemment. D'où l'intérêt des choix suivant (si tu pondères par exemple, alors ce seront les touches les moins importantes qui seront aux endroits inexistants sur le clavier ergo) [[Utilisateur:Robipo|Robipo]] 21 janvier 2013 à 11:17 (UTC) | |||
====== Pondérer les claviers dans l’algo (par ex : 0.8std + 0.1tmx + 0.1te) ====== | |||
*Avantage : Adaptée à tout type de clavier, il ne devrait pas y avoir de clavier sur lequel la disposition est affreuse à utiliser. | *Avantage : Adaptée à tout type de clavier, il ne devrait pas y avoir de clavier sur lequel la disposition est affreuse à utiliser. | ||
*Inconvénient : La dispo n’est parfaitement optimisée sur aucun clavier réel, c’est une sorte de disposition optimisée pour un clavier abstrait. | *Inconvénient : La dispo n’est parfaitement optimisée sur aucun clavier réel, c’est une sorte de disposition optimisée pour un clavier abstrait. | ||
Ligne 51 : | Ligne 70 : | ||
:[[Utilisateur:Robipo|Robipo]] : Exact, c’est juste un exemple, il est évident que la pondération finale sera sujette à de plus vastes discussions. | :[[Utilisateur:Robipo|Robipo]] : Exact, c’est juste un exemple, il est évident que la pondération finale sera sujette à de plus vastes discussions. | ||
:Ne pas suivre la mode et les tendances car si cela se trouve d'ici 5 ans le clavier ergo le plus utilisé ne sera aucun des deux cités et on se retrouvera avec les mêmes problèmes. L'idéal serait de faire une dispo par clavier mais ce ne serait pas pratique : il faudrait au moins tenir compte des grandes familles de clavier et veiller particulièrement aux prometteuses dispositions symétriques (TECK, Maltron, μTron…) qui semblent avoir le design le plus intéressant ergonomiquement. [[Utilisateur:XavierC|XavierC]] 9 novembre 2012 à 04:52 (UTC) | :Ne pas suivre la mode et les tendances car si cela se trouve d'ici 5 ans le clavier ergo le plus utilisé ne sera aucun des deux cités et on se retrouvera avec les mêmes problèmes. L'idéal serait de faire une dispo par clavier mais ce ne serait pas pratique : il faudrait au moins tenir compte des grandes familles de clavier et veiller particulièrement aux prometteuses dispositions symétriques (TECK, Maltron, μTron…) qui semblent avoir le design le plus intéressant ergonomiquement. [[Utilisateur:XavierC|XavierC]] 9 novembre 2012 à 04:52 (UTC) | ||
: [[Utilisateur:Sinma|Sinma]] : Ou alors simplement faire une pondération entre claviers standards et claviers à rangées orthogonale ? (c'est à dire : essayer de prendre en compte les caractéristiques d'un clavier ergonomique sans ce limiter à ceux qui existent déjà actuellement) | |||
:: même si les claviers ergos actuels n’existent plus dans le futur, les bases resteront les mêmes (pavé auxiliaire, ortho), donc les stats seront assez semblables. Si les claviers ergos du futur changent vraiment beaucoup, alors ses précurseurs pourront générer leur disposition perso, et si ils deviennent plus utilisés alors il faudra songer à une éventuelle v3. Mais franchement, ne pas pondérer les claviers ergos actuels parce qu'ils ne seront peut-être plus dans le futur, ce serait un peu comme essayer de prévoir le futur, ou genre intégrer dans le corpus des langages de programmations très récents dont on ne sait pas si ils vont avoir un succès ou pas. [[Utilisateur:Robipo|Robipo]] | |||
::: [[Utilisateur:Sinma|Sinma]] : Je pense que c'est bien mieux de faire les calculs en prenant juste en compte rangées orthogonales/rangées décalées car comme dit plus haut les claviers sont sujets à variation, et d'ailleurs est-ce qu'on a pris en compte les claviers à rangées décalés avec des touches placées n'importe où? C'est plus simple, et ça permet à s'adapter à plus de claviers. | |||
=== Faire une dispo par type de clavier === | ====== Faire une dispo par type de clavier ====== | ||
*Avantage : La dispo sera parfaitement optimisée (on peut imaginer que l’algo mette la touche E sur un des espaces du TE par exemple) | *Avantage : La dispo sera parfaitement optimisée (on peut imaginer que l’algo mette la touche E sur un des espaces du TE par exemple) | ||
*Inconvénient : Faudra faire les ajustements pour chaque clavier, et pour la standardisation et la reconnaissance, c’est pas génial. | *Inconvénient : Faudra faire les ajustements pour chaque clavier, et pour la standardisation et la reconnaissance, c’est pas génial. | ||
: Rien n'empêche de faire une seule version officielle et de proposer en option, pour les passionnés, une version pour chaque clavier (et les outils pour personnaliser encore plus si c'est ce que veut l'utilisateur). [[Utilisateur:Arathor|Arathor]] 9 novembre 2012 à 14:23 (UTC) | : Rien n'empêche de faire une seule version officielle et de proposer en option, pour les passionnés, une version pour chaque clavier (et les outils pour personnaliser encore plus si c'est ce que veut l'utilisateur). [[Utilisateur:Arathor|Arathor]] 9 novembre 2012 à 14:23 (UTC) | ||
:: Oui, c’est exactement ce pour quoi j’ai voté en introduction. [[Utilisateur:Robipo|Robipo]] 9 novembre 2012 à 20:40 (UTC) | |||
===== Utilisation du clavier ===== | |||
====== AltGr Symétrique ====== | |||
Symétriser AltGr (ce qui est déjà le cas en pratique sur les Mac) permet de doubler les positions intéressantes disponibles avec le modificateur AltGr. Ça mérite d’autant plus considération que sur beaucoup de claviers (notamment les claviers standards qui n’ont pas une barre espace trop large) les touches Alt/AltGr sont sensiblement plus accessibles que Maj. | |||
Il reste la question du replacement d’Alt. Plusieurs possibilités sont envisageables : | |||
* un « jeu de chaises musicales » avec les touches Windows et Menu ; | |||
* le replacement sur une touche relativement peu accessible (comme [²]/{$}) ; | |||
* éventuellement laisser la répartition des modificateurs au choix de l’utilisateur (suivant leur usage et le placement des caractères, certains pourraient même vouloir intervertir AltGr et Maj). | |||
[[Utilisateur:Robin|Robin]] 24 avril 2013 à 03:22 (UTC) Quitte à modifier la place de certains modificateurs pour avoir altgr symétrique, pourquoi ne pas en profiter pour en bouger d’autres ? Personnellement J’ai les touches <maj> à la place des traditionnels {alt} et {altgr}, et je trouve ça beaucoup mieux. De même la touche retour étant très utilisés je l’ai placé sur la touche tab, et avec un clavier décalé ça change la vie (pas autant qu’une pédale me diront certain mais bon !) | |||
====== Modificateurs accessibles ====== | |||
*Certains personnes seraient pour l’introduction d’un modificateur de niveau 5. | |||
*De même pour l’apparition d’une touche compose. | |||
*De plus, dans le projet TypeFauvix, il y a l’ajout de touches de déplacement,… c’est facile à faire avec xkb à l’aide d’une touche overlay. Devrait-on l’intégrer à la v2 ? | |||
[[Utilisateur:Robin|Robin]] 24 avril 2013 à 03:45 (UTC) | |||
====== Place des chiffres ====== | |||
Avec la ligne des chiffres, non seulement on interdit de mettre des lettres dans des positions qui pourraient être intéressantes en accès direct, mais les chiffres les plus utilisés, 0 et 1, sont moyennement bien placé pour l’un et franchement mal pour l’autre. | |||
Dvorak avait d’ailleurs placé les chiffres dans un ordre plus optimal dans la version originelle de sa disposition (il les a remis dans l’ordre numérique dans la version « simplifiée », probablement pour la facilité de mémorisation ou en espérant moins rebuter le public). | |||
À cette époque, il était contraint par l’existence d’un seul modificateur. Maintenant, nous disposons au moins d’AltGr en plus, surtout si nous le symétrisons. | |||
Cela peut permettre de disposer les chiffres en pavé, soit centré sur la position de repos, soit en mettant 0 et 1 (les plus utilisés) sous la position de repos (voire les deux à la fois, au prix de l’ordre logique). Dans le cas d’un pavé numérique en altgr, le nombre de lignes utilisées se pose également (sur deux lignes, ou 4 comme les pavés numériques standards…) | |||
====== Placement des caractères par usage ====== | |||
En français, nous pensons plus vite que la frappe au clavier. Et l’utilisation de modificateurs en cours de phrase casse le rythme de la frappe et donc de la pensée. Il est donc préférable de privilégier les accès directs pour les caractères utilisés en français, mêmes pour ceux qui sont relativement rares (les lettres les plus fréquentes occuperont de toute façon les meilleurs places en accès direct). | |||
Les langages informatiques demandent plus de réflexion, donc utiliser un modificateur (surtout un qui ait une bonne accessibilité) pour entrer leurs symboles est moins gênant. D’autre part, mettre des signes très fréquents dans certains langages (comme < et > en HTML et XML, ou $ en Perl et Bash) sur des touches mal placées, même en accès direct, générerait de l’inconfort. Mieux vaut donc privilégier pour eux de bonnes positions en AltGr. | |||
Il reste le cas des caractères utilisés en langage naturel aussi bien qu’en informatique, comme les parenthèses. La meilleure solution semble être de les mettre en accès direct à des positions aussi bonnes que possible. | |||
[[Utilisateur:Robin|Robin]] 24 avril 2013 à 02:48 (UTC) J’ai fait l’essai des parenthèses en altgr sur la ligne de repos. C’est très confortable, presque plus que l’accès direct sur la ligne des chiffres trop loin à mon gout. De manière générale je suis pour un bon accès en altgr des symboles de programmation. | |||
[[Utilisateur:Robin|Robin]] 24 avril 2013 à 02:48 (UTC) J’ai testé les touches w et k sur la ligne des chiffres, ce n’est vraiment pas agréable, en revanche pour ù et ç aucune gène, de même que pour ! et ?. | |||
= Algorithme = | ==== Algorithme ==== | ||
[[Utilisateur:Robipo|Robipo]] : Je pense qu’utiliser un algorithme génétique est le mieux | [[Utilisateur:Robipo|Robipo]] : Je pense qu’utiliser un algorithme génétique est le mieux | ||
*Croisement très facile à faire : pour chaque touche des deux dispositions parentes, on prend aléatoirement celle du père ou celle de la mère. | *Croisement très facile à faire : pour chaque touche des deux dispositions parentes, on prend aléatoirement celle du père ou celle de la mère. | ||
::Pas si facile que ça en fait. Il se peut que tu mettes 2 fois une lettre en la prenant quelque part du père et quelque part de la mère. Et que tu en supprimes aussi… [[Utilisateur:Amic|Amic]] 10 novembre 2012 à 16:22 (UTC) | |||
*Mutation assez facile : on inverse deux caractères aléatoire par exemple aAæÆ oOœŒ donne ŒAæÆ oOœa (bon ok ce cas est complètement stupide et pour améliorer la rapidité de l’algorithme il faudrait rajouter des contraintes) | *Mutation assez facile : on inverse deux caractères aléatoire par exemple aAæÆ oOœŒ donne ŒAæÆ oOœa (bon ok ce cas est complètement stupide et pour améliorer la rapidité de l’algorithme il faudrait rajouter des contraintes) | ||
[[Utilisateur:Robipo|Robipo]] : Idée au passage avant que j’oublie : Quand on laisse tourner l’algo qui optimise les coûts, ce serait bien de voir quelques-unes des meilleures dispo de l’algo en temps réel. Au lieu de s’emmerder à faire une interface graphique, ce serait pas bête de faire que l’algo exporte en continu dans un fichier .html les dispos. Ensuite il suffirait de faire un petit javascript qui refresh en boucle l’affichage de ces dispo. (avec un peu de css on peut avoir un rendu assez sympa je pense). | |||
===== Calcul des coûts ===== | |||
Avant de choisir une méthode, je pense qu’il faudrait faire des benchmark sur un assez gros corpus, et voir les différentes distances obtenues pour chaque méthode et voir si il y a beaucoup d’écart. | |||
En utilisant un algo génétique on peut aussi imaginer procéder en deux phases : à partir de dispositions purement aléatoire, on fait un premier jet avec un algo rapide mais moins fiable pour obtenir une population « passable » de dispositions assez rapidement, puis on fait une deuxième passe avec l’algo qui parcourt tout le corpus et est bien fiable pour affiner la population. [[Utilisateur:Robipo|Robipo]] 9 novembre 2012 à 21:00 (UTC) | |||
: J'y avais déjà pensé, et on peut même faire mieux: un algo rapide et grossier, puis de plus en plus fin… [[Utilisateur:Sinma|Sinma]] 21 janvier 2013 à 15:40 (UTC) | |||
=== Utilisation des statistiques de fréquences === | ====== Utilisation des statistiques de fréquences ====== | ||
*Avantage : très rapide | *Avantage : très rapide | ||
*Inconvénient : calcul la distance avec les doigts qui reviennent sur la disposition de repos après chaque touche. « bobo » (ou « bébé ») compte pour 4, alors qu'en réalité il vaut 2. | *Inconvénient : calcul la distance avec les doigts qui reviennent sur la disposition de repos après chaque touche. « bobo » (ou « bébé ») compte pour 4, alors qu'en réalité il vaut 2. | ||
=== Parcours total du corpus === | Tentative d’améliorer cet algo pour trouver une sorte de compromis : | ||
Soit les fréquences suivantes : | |||
p 2 | |||
i 7 | |||
x 1 | |||
Principe : au lieu de donner une distance de 2 pour les touches p et x et 0 pour i, comme on sait les fréquences de chaque touche, on peut dire que quand on tape un p par exemple, il y a 20% de chances qu'on était sur un p, donc distance de 0, il y a 70% de chances qu'on était sur un i, donc distance de 1, et 10% de chances qu'on était sur un x, donc distance de 2. | |||
quand on tape P | |||
0.2*0 | |||
0.7*1 | |||
0.1*2 | |||
tot=0.9 | |||
quand on tape I | |||
0.2*1 | |||
0.7*0 | |||
0.1*1 | |||
tot=0.3 | |||
quand on tape un X | |||
0.2*2 | |||
0.7*1 | |||
0.1*0 | |||
tot=1.1 | |||
Soit le corpus suivant : iiiiiiippx (pas très représentatif) | |||
distance réelle = 1+2=3 | |||
distance robot = 2+2+2=6 | |||
distance compromis = 0.9*2+0.3*7+1.1*1=5 | |||
Soit le corpus suivant : iiiixiipip (un peu représentatif) | |||
distance réelle = 2+2+1=5 | |||
distance robot = 2+2+2=6 | |||
distance compromis = 5 | |||
On peut peut-être améliorer l'algo en utilisant les digrammes ? (des matheux dans la salle ?) | |||
====== Parcours total du corpus ====== | |||
*Avantage : possible de calculer la distance réelle (avec mémorisation de l’emplacement des doigts tout au long du corpus) | *Avantage : possible de calculer la distance réelle (avec mémorisation de l’emplacement des doigts tout au long du corpus) | ||
*Inconvénient : beaucoup plus long (bépo@home BOINC serait vraiment utile dans ce cas) | *Inconvénient : beaucoup plus long (bépo@home BOINC serait vraiment utile dans ce cas) | ||
== Minimiser la distance parcourue des doigts == | : Étant donné que c'est pour faire une dispo qui ne bougera plus ensuite, j'aurais envie de laisser tourner l'algo aussi longtemps que nécessaire, pour pondre LA dispo… mais bon, je me leurre peut-être sur la difficulté et/ou le temps que ça demandera. [[Utilisateur:Arathor|Arathor]] 12 novembre 2012 à 02:59 (UTC) | ||
::Un bépo@home ça me tente vu que BOINC est la première chose que je démarre sur mon ordi. Par contre, comme Arathor, pour la mise en place je pense que ça demande beaucoup de temps et de capacités en prog (je me doute que c'est le genre de truc réalisable qu'en langage compilé donc sans debug assisté de l'IDLE), sans compter la logistique et toute la partie communication (avant et pendant le déroulement du projet). Certes, entre lancer un algo sur quelques machines en crunch et faire un projet de computation il y a un fossé mais c'est aussi beaucoup plus puissant et rapide. ÀMHA ça vaudrait le coup de s'y intéresser. [[Utilisateur:XavierC|XavierC]] 12 novembre 2012 à 04:57 (UTC) | |||
* Optimisation possible : si l’algorithme se borne à étudier un nombre raisonnable de caractères adjacents à la fois, par exemple trois, on peut factoriser le corpus en triplets (avec le nombre d’occurences) au début de l’algorithme. [[Utilisateur:Laurent|Laurent]] 12 novembre 2012 à 17:29 (UTC) | |||
===== Minimiser la distance parcourue des doigts ===== | |||
== Maximiser | ===== Maximiser les roulements faciles ===== | ||
Nous sommes au 21ᵉ siècle, pas en 1936. Contrairement aux machines à écrire de l’époque d’August Dvorak, les claviers d’ordinateurs supportent les roulements. | |||
Un roulement consiste à enfoncer d’un seul mouvement des touches consécutives sur une main, en baissant les doigts avec un décalage, puis à ne relâcher toutes les touches qu’à la fin. | |||
C’est plus rapide que l’alternance des mains. | |||
Les roulements sont plus faciles avec des doigts adjacents (ou carrément auriculaire-index), sur des touches alignées (ou avec un décalage d’une rangée avec le doigt le plus long sur la rangée la plus lointaine) et idéalement vers l’intérieur. Un roulement ne peut concerner plus de deux touches que si la progression ne change pas de direction. | |||
Exemples de roulenents faciles en Bépo : au, ie, uie, nr, st, nt… Essayez d’écrire « pl'''uie''' » en roulant. | |||
La limite est sur le nombre de digrammes ou trigrammes intéressants, d’autant plus qu’il ne faut pas dégrader notablement la façon de faire les autres. | |||
===== Maximiser l’alternance des mains ===== | |||
Exemple mauvais en bépo : épub dans république, beaucoup se tape presque uniquement à une main | |||
- | ===== Minimiser les m-grammes à n-doigts (n<m) ===== | ||
====== Digrammes à un doigt ====== | |||
Exemple mauvais en bépo : pi dans tapis, soupirer, épisode… | |||
====== Trigrammes à un doigt ====== | |||
Exemple mauvais en bépo : bab dans probablement | |||
====== Trigrammes à deux doigts ====== | |||
Exemple mauvais en bépo : ove dans novembre | |||
==== Caractères supportés ==== | |||
===== Symboles ===== | |||
Si on y regarde bien il a plein de places en AltGr et en Maj + AltGr. Il ne tient qu'à nous de mettre le maximum de symboles. On peut peut-être supprimé des trucs genre le ~ en AltGr + K ne sert à rien a priori. Et puis surtout on a pleins de touches mortes, donc autant les utiliser. On pourrait avoir une touche morte de maths par exemple, ou une touche morte pour tous les symboles qui ne sont pas alphanumériques. | |||
Je propose l'intégration des caractères suivants: | |||
* fléches simples et doubles (avec un TMx il est impossible de faire les flèches (possible sous GNU/Linux avec AltGr et les flèches du pavé numérique)) | |||
* le point d'ironie (pourrait être placé en Maj + AltGr + apostrophe) | |||
* Divers symboles mathématiques (symbole infini, ) et ou exclusif | |||
* les boules utilisés pour les listes | |||
* d'autres idées?{{non signé|Sinma|19 janvier 2013 à 17:19}} | |||
:La touche morte mathématique me parais une excellente idée, mais est-ce possible techniquement ? Il me semble avoir vu qu’une touche compose pourrait apparaitre. Est-ce une solution ? [[Utilisateur:Robin|Robin]] 24 avril 2013 à 03:34 (UTC) | |||
==== Ajustements ==== | |||
Car on ne peut pas tout prévoir dans l’algorithme, il va falloir faire des ajustements à la disposition générée. | |||
== page de vote == | |||
Peux-être que j’ai loupé quelque chose, mais je n’ai pas vu de page parlant des différentes propositions (tel que la place des chiffres…) et permettrai de voter. Je suppose qu’il y a des discussions sur irc, mais soit je ne suis pas présent soit je ne suis pas sur le bon canal. En tout cas j’aimerai participer et connaitre les différentes suggestions avec les avis correspondants.[[Utilisateur:Robin|Robin]] 24 avril 2013 à 03:13 (UTC) | |||
Dernière version du 8 mai 2014 à 04:36
Pour une bonne utilisation des pages de discussion :
- répondez à la suite (en-dessous) des précédentes contributions et évitez de les modifier ;
- créez un nouveau fil de discussion en dessous de ceux existants ;
- utilisez les deux-points « : » en début de ligne pour indenter vos réponses (plusieurs ::: pour indenter de plus en plus) ;
- signez automatiquement vos interventions en tapant ~~~~ qui sera remplacé par votre pseudo et la date après sauvegarde.
Rappel de quelques conventions utilisées sur le wiki :
- Concernant les touches de clavier :
- « X » et X désignent le caractère X dans l’absolu. Utiliser les guillemets pour clarifier si nécessaire ;
- {X} et clavier bépoX désignent la touche X sur la disposition BÉPO courante (syntaxe : {{touche|X}}) ou son alias {{t|X}}).
- [X] et clavier azertyX désignent la touche X sur la disposition AZERTY (syntaxe : {{toucheA|X}} ou son alias {{tA|X}}) ;
- Les votes se font avec les modèles pour, contre et neutre (syntaxe : {{pour}}, {{contre}} et {{neutre}}).
Nouvelle ébauche de projet de v2 par Robipo
(Note d’A2 : cette discussion a été très mal menée, évitez d'utiliser un sommaire en pdd, il vaut engager un nouvelle discussion pour chaque sujet. Là on a du mal à suivre le fil des discussions. Les pages de discussion doivent servir à élaborer les articles correspondants. – A2 3 février 2013 à 16:30 (UTC))
Robipo Pour s’y retrouver et éviter d’avoir des discussions qui partent dans tous les sens, je propose le plan suivant qui correspond à un plan temporel (ouvert aux critiques)
- Corpus et Clavier (pour Bépo corpus = Thomas Tempé, et clavier = standard décalé français (TODO : quelle Méthode de saisie a été utilisée ? std,t6,o0,A))
- Algorithme (pour Bépo voir http://www.bepo.fr/wiki/Cr%C3%A9ation_de_la_version_0.1)
- Ajustements (pour Bépo voir les logs de la ML ?)
Corpus et Clavier
Corpus
Corpus "informatique" (principaux languages de prog, shell unix, etc)
Ce point me gène. Les langages apparaissent, évoluent et meurent. Voir « figer » une disposition sur du mouvant me parait impossible. Enfin, si. Mais faut re-figer tous les 6 mois. *_Si_* j’ai raison (prions que je me trompe), ça va vite vous faire chier.
J’espère cette fois avoir su m’exprimer clairement.
Fork Bomb 19 octobre 2012 à 13:31 (UTC)
- D'une part les choses bougent sur une période de temps bien plus longue que 6 mois. L'index TIOBE (qui vaut ce qu'il vaut, mais qui a le mérite d'exister) donne dans le top 10 : C, Java, Objective-C, C++, C#, PHP, (Visual) Basic, Python, Perl, Ruby. Mis à part C#, tous ces languages ont au moins 15 ans (et C# en a 10), voir beaucoup plus.
D'autre part, les languages populaires ont tendance à réutiliser des caractères similaires : {} pour les blocs, [] pour les tableaux, ; pour les fins de lignes, etc.
Enfin, il faut bien bouger et faire quelque chose, quitte à mettre à jour la dispo dans 10 ou 15 ans. Une disposition rationnelle des caractères spéciaux, basée sur la technique actuelle, sera toujours mieux que celle au petit bonheur la chance de la V1 (sans AltGr symétrique, qui plus est).
Arathor 20 octobre 2012 à 03:29 (UTC)- En effet, si on regarde bien, on a les paires (), [], <>, {}, /\, les signes mathématiques +-*/=, logiques &|!, et les autres :,~^"'`$#*%@;. Ça fait beaucoup de signes mais ce sont toujours les mêmes !
Sinma 20 novembre 2012- Ce sont simplement les caractères ASCII autres que les lettres et les chiffres. Historiquement, il n’y avait que ça et c’est toujours la garantie que le code ne soit pas à la merci d’un problème d’encodage (enfin jusqu’à la limite des chaînes de caractères et de leur traitement). Laurent 3 mars 2013 à 01:53 (UTC)
- En effet, si on regarde bien, on a les paires (), [], <>, {}, /\, les signes mathématiques +-*/=, logiques &|!, et les autres :,~^"'`$#*%@;. Ça fait beaucoup de signes mais ce sont toujours les mêmes !
Ne pas compter les raccourcis claviers, mais encourager les projets qui permettent d'utiliser les raccourcis claviers en Azerty. Il est par exemple possible dans KDE d'activer le Bépo avec les raccourcis claviers d'Azerty dans les logiciels en Qt mais pas en GTK. J'ai fait un rapport de bug à ce sujet. Sinma
- Garder les raccourcis clavier de l'azerty n'est qu'un début (ÀMHA une jambe de bois palliant un manque) mais pour aller plus loin on peut encourager les soft qui proposent l'édition de ses propres raccourcis perso. GTK posait déjà des problèmes avec les caractères morts pour les symboles monétaires et les lettres grecques, obligé de passer en XIM, donc privilégier autre chose que GTK mais c'est dommage sur Gnome ou Xfce… Espérons qu'ils vont rapidement mettre à niveau cette bibli. XavierC 12 novembre 2012 à 01:37 (UTC)
- Oui, mais c'est plus rapide, plus facile, et tu fais quoi des touches dans les jeux qui ne supportent pas les caractères non ASCII, les sites webs usant de raccourcis claviers… C'est peut-être une jambe de bois mais on ne peut faire autrement à l'heure actuelle. Ou c'est en tout cas la façon la plus simple de répondre à un problème très courant (ah, les jeux Flash en Qwerty… :D). Sinma
Il faut vraiment que () et [] soient frappés par des touches différentes, en programmation c'est super relou. Par ailleurs, il m'arrive souvent d'ouvrir des parenthèses ou des crochet puis de les remplir ensuite, ce qui est aussi très chiant. À mon avis, un gros défaut du Bépo c'est les symboles: @ en accès direct, <> pas accès direct, et le défaut sus-cité. Sinma 9 janvier 2013 à 15:14 (UTC)
Langues étrangères
Dans la section « Déterminer l’ordre des priorités » on distingue les langues de l’UE des autres langues étrangères, principalement parce que les utilisateurs occidentaux ont plus de chance d’écrire dans une de ces langues. Mais une bonne partie des francophones vivent en Afrique et sont souvent polyglottes. Je pense que de la même façon que les langues européennes ont un « statut » spécial, les langues parlées dans les zones francophones devraient aussi bénéficier de ce « statut ». J’ai commencé à lister ces langues et les lettres associées sur la page User:LeBret/Bépo_dans_le_monde.
J’ai conscience que cela ajoute beaucoup de lettres (cela repose la question des variantes). Mais cela me semble important d’autant que ces langues sont rarement bien supportées par l’informatique.
LeBret 29 octobre 2012 à 20:28 (UTC)
- L'idée n'est pas mauvaise, mais ton tableau il fait peur… même en rajoutant une touche morte en altgr de chaque touche, ça rentrerait probablement pas… Arathor 31 octobre 2012 à 20:57 (UTC)
- La solution pourrait être d’ajouter, en plus des deux touches d’accès au 3me niveau (Alt Gr), deux touches d’accès au 5me niveau. Ça ferait un total de 8 niveaux, ce qui doublerait presque l’espace disponible. Si l’on y ajoute une touche Compose facilement accessible, il n’y a plus de limites, si ce n’est l’impossibilité d’implémenter ladite touche Compose dans PKL (le pilote portable pour Windows) sans en modifier le code. Tohuvabohuo 7 novembre 2012 à 23:58 (UTC)
Clavier
Robipo : Je vote pour faire une version standard avec utilisation de pondération, et de laisser la possibilité aux utilisateurs avancés de se génerer leur propre disposition à leur risques et périls, mais pour avoir une disposition totalement optimisée.
- Sinma : Comme maintenant quoi… Je pense que c'est une bonne idée mais à condition d'encourager un max les retours utilisateurs, pour essayer de ne pas avoir de retour négatif (certains doigts trop chargés, position du Z et du W, symboles de programmation…) C'est à dire une bonne partie de ce qui a engendré les dispositions dérivées du bépo.
- Je pense qu'il y a deux choses distinctes ici : le ou les types de clavier visés d'une part, et d'autre part l'utilisation (taper du français uniquement ; mélange français/anglais ; informaticien ou non). Pour plusieurs raisons différentes, il vaut mieux une seule version officielle et éventuellement d'autres versions à côté.
http://bepo.fr/wiki/V2#Variantes_ou_pas
Pour les types de claviers supportés, je pense que la cible de base reste les claviers pc10X (ce qui inclue les 102, 103, 104) mais qu'il faut aussi prendre en compte les claviers ergos. Je suis pas certain que la méthode de Robipo (0.8 std + 0.1 typematrix + 0.1 TE) donne un résultat intéressant, mais je me trompe peut-être. À mon sens une manière efficace de prendre en compte les claviers ergos (notamment les symétriques, +1 avec XavierC) c'est avec des contraintes du style « pas de lettres sur le pavé auxiliaire ». Arathor 9 novembre 2012 à 14:23 (UTC) - le type de clavier est discuté ici, l'utilisation est prise en compte par le corpus (cf partie précédente) : merci d’en parler là-bas (en l’occurrence, je pense que pour le corpus/utilisation une méthode similaire serait également le mieux (à savoir pondérations par ex 0.8fr 0.1en 0.1divers pour une version officielle et possibilité de faire des versions custom)). Je pense que pondérer les claviers ergos ou utiliser des contraintes du style pavé auxilière auront un résultat similaire niveau stats finales (bien que l’utilisation de pondérations risque aussi de donner des modifications plus fines, par exemple l’accessibilité de certaines touches changeraient suivant que ce soit un clavier ergo ou clavier décalé, ce qui serait difficile à décrire via des contraintes, sans passer par les pondérations sus-citées). Robipo 9 novembre 2012 à 20:40 (UTC)
- Je pense qu'il y a deux choses distinctes ici : le ou les types de clavier visés d'une part, et d'autre part l'utilisation (taper du français uniquement ; mélange français/anglais ; informaticien ou non). Pour plusieurs raisons différentes, il vaut mieux une seule version officielle et éventuellement d'autres versions à côté.
- Sinma : Comme maintenant quoi… Je pense que c'est une bonne idée mais à condition d'encourager un max les retours utilisateurs, pour essayer de ne pas avoir de retour négatif (certains doigts trop chargés, position du Z et du W, symboles de programmation…) C'est à dire une bonne partie de ce qui a engendré les dispositions dérivées du bépo.
- Avant de penser Pondération, mieux vaut faire tourner l'algorithme avec cette idée du multi-critère http://bepo.fr/wiki/Id%C3%A9es_pour_une_v2#Multi-crit.C3.A8res (En prenant le français en critère fixe?) puis par la suite déterminer plus finement avec la pondération. On aura ainsi des dispositions très différentes, davantage d'opportunités et de choix.XavierC 13 novembre 2012 à 02:04 (UTC)
Claviers standards
Comme le bépo.
- Avantage : C’est la dispo utilisée par la majorité des claviers, et donc les claviers pas chers de monsieur tout le monde
- Inconvénient : En général les personnes intéressé par l’ergonomie et le bépo seront aussi intéressées par les claviers ergo, donc ce serait dommage de les handicaper (comme le bépo par défaut qui devient horrible sur le TE)
Dans son réarrangement des touches, le Truly Ergonomic fait un choix d’affectation qui n’est optimal que par rapport aux caractères qu’elles portent en Qwerty. Même pour l’Azerty, il n’a aucun sens. En considérant par ailleurs que les touches sont programmables, il ne faut donc pas s’en tenir à leur affectation par défaut pour la conception d’une disposition. Laurent 12 novembre 2012 à 06:27 (UTC)
- Qui a parlé de caractères ? Quand on parle de clavier, on parle strictement de clavier, c'est-à-dire du nombre de touches, de leur emplacement et de leur dimensions. Si on lance l’algo pour prendre en compte uniquement l’agencement physique des claviers standards décalés avec touches auxiliaires à droite (ce qui est présenté ici), forcément on va avoir une disposition parfaite pour ce type de clavier, mais qui va handicaper les utilisateurs d’autres claviers (surtout les ergos et en particulier le TE). Je ne vois pas le rapport avec l’aspect programmable, qui est uniquement pour intégrer la dispo directement dans le clavier et donc pouvoir l’utiliser ensuite sur des PC sans devoir installer de driver ou autre. Robipo 12 novembre 2012 à 07:15 (UTC)
- C’est moi qui ait parlé de caractères, mais c’est parce que Truly Ergonomic (la boîte) en a tenu compte : les codes touches du TE ont été réaffectés pour obtenir une disposition logique des caractères qui leur correspondent en Qwerty américain, par exemple \ et / côte à côte. Pour une autre disposition, on peut avoir intérêt à affecter les touches déplacées différemment. S’en tenir au fait que telle touche déplacée du TE renvoie tel code est une contrainte non justifiable, surtout que les touches sont sensées être programmables. Laurent 12 novembre 2012 à 17:24 (UTC)
- « sensées être programmables » C'est là que réside tout le problème. Il faut avouer que le soft pour reprogrammer le firmware n'est toujours pas disponible, aucune info n'est dispo sur la license, le langage de prog utilisé, l'interface ou même la portabilité sur d'autres OS que Mac/W$. Le TE a mis tellement de temps à sortir qu'il a été pris pour un vaporware donc il est possible que le logiciel sorte (dans combien d'années ?) mais en attendant ce n'est pas le cas et dans le doute il ne faut prendre en compte que les possibilités fournies par les dip switches situés au dos.XavierC 13 novembre 2012 à 00:56 (UTC)
- OK, je vais faire plus simple, oublie le TE, imagine qu'il existe un clavier ergonomique super génial mais qui a que 64 touches par exemple. Ce que je dis c'est que peut-importe quels keycode ils auraient choisi pour ces 64 touches (qu'ils aient décidé de mettre les [] qwerty à côté ou de pas les mettre tout court ou autre), si tu fais une disposition qui est étudiée uniquement pour le clavier décalé 102 touches de monsieur tout le monde, alors il sera inutilisable sur le clavier ergonomique cité précédemment. D'où l'intérêt des choix suivant (si tu pondères par exemple, alors ce seront les touches les moins importantes qui seront aux endroits inexistants sur le clavier ergo) Robipo 21 janvier 2013 à 11:17 (UTC)
- C’est moi qui ait parlé de caractères, mais c’est parce que Truly Ergonomic (la boîte) en a tenu compte : les codes touches du TE ont été réaffectés pour obtenir une disposition logique des caractères qui leur correspondent en Qwerty américain, par exemple \ et / côte à côte. Pour une autre disposition, on peut avoir intérêt à affecter les touches déplacées différemment. S’en tenir au fait que telle touche déplacée du TE renvoie tel code est une contrainte non justifiable, surtout que les touches sont sensées être programmables. Laurent 12 novembre 2012 à 17:24 (UTC)
Pondérer les claviers dans l’algo (par ex : 0.8std + 0.1tmx + 0.1te)
- Avantage : Adaptée à tout type de clavier, il ne devrait pas y avoir de clavier sur lequel la disposition est affreuse à utiliser.
- Inconvénient : La dispo n’est parfaitement optimisée sur aucun clavier réel, c’est une sorte de disposition optimisée pour un clavier abstrait.
Sinma : Le Truly Ergonomic ne me parait pas autant utilisé que le TypeMatrix…
- Robipo : Exact, c’est juste un exemple, il est évident que la pondération finale sera sujette à de plus vastes discussions.
- Ne pas suivre la mode et les tendances car si cela se trouve d'ici 5 ans le clavier ergo le plus utilisé ne sera aucun des deux cités et on se retrouvera avec les mêmes problèmes. L'idéal serait de faire une dispo par clavier mais ce ne serait pas pratique : il faudrait au moins tenir compte des grandes familles de clavier et veiller particulièrement aux prometteuses dispositions symétriques (TECK, Maltron, μTron…) qui semblent avoir le design le plus intéressant ergonomiquement. XavierC 9 novembre 2012 à 04:52 (UTC)
- Sinma : Ou alors simplement faire une pondération entre claviers standards et claviers à rangées orthogonale ? (c'est à dire : essayer de prendre en compte les caractéristiques d'un clavier ergonomique sans ce limiter à ceux qui existent déjà actuellement)
- même si les claviers ergos actuels n’existent plus dans le futur, les bases resteront les mêmes (pavé auxiliaire, ortho), donc les stats seront assez semblables. Si les claviers ergos du futur changent vraiment beaucoup, alors ses précurseurs pourront générer leur disposition perso, et si ils deviennent plus utilisés alors il faudra songer à une éventuelle v3. Mais franchement, ne pas pondérer les claviers ergos actuels parce qu'ils ne seront peut-être plus dans le futur, ce serait un peu comme essayer de prévoir le futur, ou genre intégrer dans le corpus des langages de programmations très récents dont on ne sait pas si ils vont avoir un succès ou pas. Robipo
- Sinma : Je pense que c'est bien mieux de faire les calculs en prenant juste en compte rangées orthogonales/rangées décalées car comme dit plus haut les claviers sont sujets à variation, et d'ailleurs est-ce qu'on a pris en compte les claviers à rangées décalés avec des touches placées n'importe où? C'est plus simple, et ça permet à s'adapter à plus de claviers.
- même si les claviers ergos actuels n’existent plus dans le futur, les bases resteront les mêmes (pavé auxiliaire, ortho), donc les stats seront assez semblables. Si les claviers ergos du futur changent vraiment beaucoup, alors ses précurseurs pourront générer leur disposition perso, et si ils deviennent plus utilisés alors il faudra songer à une éventuelle v3. Mais franchement, ne pas pondérer les claviers ergos actuels parce qu'ils ne seront peut-être plus dans le futur, ce serait un peu comme essayer de prévoir le futur, ou genre intégrer dans le corpus des langages de programmations très récents dont on ne sait pas si ils vont avoir un succès ou pas. Robipo
Faire une dispo par type de clavier
- Avantage : La dispo sera parfaitement optimisée (on peut imaginer que l’algo mette la touche E sur un des espaces du TE par exemple)
- Inconvénient : Faudra faire les ajustements pour chaque clavier, et pour la standardisation et la reconnaissance, c’est pas génial.
- Rien n'empêche de faire une seule version officielle et de proposer en option, pour les passionnés, une version pour chaque clavier (et les outils pour personnaliser encore plus si c'est ce que veut l'utilisateur). Arathor 9 novembre 2012 à 14:23 (UTC)
- Oui, c’est exactement ce pour quoi j’ai voté en introduction. Robipo 9 novembre 2012 à 20:40 (UTC)
Utilisation du clavier
AltGr Symétrique
Symétriser AltGr (ce qui est déjà le cas en pratique sur les Mac) permet de doubler les positions intéressantes disponibles avec le modificateur AltGr. Ça mérite d’autant plus considération que sur beaucoup de claviers (notamment les claviers standards qui n’ont pas une barre espace trop large) les touches Alt/AltGr sont sensiblement plus accessibles que Maj.
Il reste la question du replacement d’Alt. Plusieurs possibilités sont envisageables :
- un « jeu de chaises musicales » avec les touches Windows et Menu ;
- le replacement sur une touche relativement peu accessible (comme [²]/{$}) ;
- éventuellement laisser la répartition des modificateurs au choix de l’utilisateur (suivant leur usage et le placement des caractères, certains pourraient même vouloir intervertir AltGr et Maj).
Robin 24 avril 2013 à 03:22 (UTC) Quitte à modifier la place de certains modificateurs pour avoir altgr symétrique, pourquoi ne pas en profiter pour en bouger d’autres ? Personnellement J’ai les touches <maj> à la place des traditionnels {alt} et {altgr}, et je trouve ça beaucoup mieux. De même la touche retour étant très utilisés je l’ai placé sur la touche tab, et avec un clavier décalé ça change la vie (pas autant qu’une pédale me diront certain mais bon !)
Modificateurs accessibles
- Certains personnes seraient pour l’introduction d’un modificateur de niveau 5.
- De même pour l’apparition d’une touche compose.
- De plus, dans le projet TypeFauvix, il y a l’ajout de touches de déplacement,… c’est facile à faire avec xkb à l’aide d’une touche overlay. Devrait-on l’intégrer à la v2 ?
Robin 24 avril 2013 à 03:45 (UTC)
Place des chiffres
Avec la ligne des chiffres, non seulement on interdit de mettre des lettres dans des positions qui pourraient être intéressantes en accès direct, mais les chiffres les plus utilisés, 0 et 1, sont moyennement bien placé pour l’un et franchement mal pour l’autre.
Dvorak avait d’ailleurs placé les chiffres dans un ordre plus optimal dans la version originelle de sa disposition (il les a remis dans l’ordre numérique dans la version « simplifiée », probablement pour la facilité de mémorisation ou en espérant moins rebuter le public).
À cette époque, il était contraint par l’existence d’un seul modificateur. Maintenant, nous disposons au moins d’AltGr en plus, surtout si nous le symétrisons.
Cela peut permettre de disposer les chiffres en pavé, soit centré sur la position de repos, soit en mettant 0 et 1 (les plus utilisés) sous la position de repos (voire les deux à la fois, au prix de l’ordre logique). Dans le cas d’un pavé numérique en altgr, le nombre de lignes utilisées se pose également (sur deux lignes, ou 4 comme les pavés numériques standards…)
Placement des caractères par usage
En français, nous pensons plus vite que la frappe au clavier. Et l’utilisation de modificateurs en cours de phrase casse le rythme de la frappe et donc de la pensée. Il est donc préférable de privilégier les accès directs pour les caractères utilisés en français, mêmes pour ceux qui sont relativement rares (les lettres les plus fréquentes occuperont de toute façon les meilleurs places en accès direct).
Les langages informatiques demandent plus de réflexion, donc utiliser un modificateur (surtout un qui ait une bonne accessibilité) pour entrer leurs symboles est moins gênant. D’autre part, mettre des signes très fréquents dans certains langages (comme < et > en HTML et XML, ou $ en Perl et Bash) sur des touches mal placées, même en accès direct, générerait de l’inconfort. Mieux vaut donc privilégier pour eux de bonnes positions en AltGr.
Il reste le cas des caractères utilisés en langage naturel aussi bien qu’en informatique, comme les parenthèses. La meilleure solution semble être de les mettre en accès direct à des positions aussi bonnes que possible.
Robin 24 avril 2013 à 02:48 (UTC) J’ai fait l’essai des parenthèses en altgr sur la ligne de repos. C’est très confortable, presque plus que l’accès direct sur la ligne des chiffres trop loin à mon gout. De manière générale je suis pour un bon accès en altgr des symboles de programmation.
Robin 24 avril 2013 à 02:48 (UTC) J’ai testé les touches w et k sur la ligne des chiffres, ce n’est vraiment pas agréable, en revanche pour ù et ç aucune gène, de même que pour ! et ?.
Algorithme
Robipo : Je pense qu’utiliser un algorithme génétique est le mieux
- Croisement très facile à faire : pour chaque touche des deux dispositions parentes, on prend aléatoirement celle du père ou celle de la mère.
- Pas si facile que ça en fait. Il se peut que tu mettes 2 fois une lettre en la prenant quelque part du père et quelque part de la mère. Et que tu en supprimes aussi… Amic 10 novembre 2012 à 16:22 (UTC)
- Mutation assez facile : on inverse deux caractères aléatoire par exemple aAæÆ oOœŒ donne ŒAæÆ oOœa (bon ok ce cas est complètement stupide et pour améliorer la rapidité de l’algorithme il faudrait rajouter des contraintes)
Robipo : Idée au passage avant que j’oublie : Quand on laisse tourner l’algo qui optimise les coûts, ce serait bien de voir quelques-unes des meilleures dispo de l’algo en temps réel. Au lieu de s’emmerder à faire une interface graphique, ce serait pas bête de faire que l’algo exporte en continu dans un fichier .html les dispos. Ensuite il suffirait de faire un petit javascript qui refresh en boucle l’affichage de ces dispo. (avec un peu de css on peut avoir un rendu assez sympa je pense).
Calcul des coûts
Avant de choisir une méthode, je pense qu’il faudrait faire des benchmark sur un assez gros corpus, et voir les différentes distances obtenues pour chaque méthode et voir si il y a beaucoup d’écart.
En utilisant un algo génétique on peut aussi imaginer procéder en deux phases : à partir de dispositions purement aléatoire, on fait un premier jet avec un algo rapide mais moins fiable pour obtenir une population « passable » de dispositions assez rapidement, puis on fait une deuxième passe avec l’algo qui parcourt tout le corpus et est bien fiable pour affiner la population. Robipo 9 novembre 2012 à 21:00 (UTC)
- J'y avais déjà pensé, et on peut même faire mieux: un algo rapide et grossier, puis de plus en plus fin… Sinma 21 janvier 2013 à 15:40 (UTC)
Utilisation des statistiques de fréquences
- Avantage : très rapide
- Inconvénient : calcul la distance avec les doigts qui reviennent sur la disposition de repos après chaque touche. « bobo » (ou « bébé ») compte pour 4, alors qu'en réalité il vaut 2.
Tentative d’améliorer cet algo pour trouver une sorte de compromis :
Soit les fréquences suivantes : p 2 i 7 x 1
Principe : au lieu de donner une distance de 2 pour les touches p et x et 0 pour i, comme on sait les fréquences de chaque touche, on peut dire que quand on tape un p par exemple, il y a 20% de chances qu'on était sur un p, donc distance de 0, il y a 70% de chances qu'on était sur un i, donc distance de 1, et 10% de chances qu'on était sur un x, donc distance de 2.
quand on tape P 0.2*0 0.7*1 0.1*2 tot=0.9 quand on tape I 0.2*1 0.7*0 0.1*1 tot=0.3 quand on tape un X 0.2*2 0.7*1 0.1*0 tot=1.1 Soit le corpus suivant : iiiiiiippx (pas très représentatif) distance réelle = 1+2=3 distance robot = 2+2+2=6 distance compromis = 0.9*2+0.3*7+1.1*1=5 Soit le corpus suivant : iiiixiipip (un peu représentatif) distance réelle = 2+2+1=5 distance robot = 2+2+2=6 distance compromis = 5 On peut peut-être améliorer l'algo en utilisant les digrammes ? (des matheux dans la salle ?)
Parcours total du corpus
- Avantage : possible de calculer la distance réelle (avec mémorisation de l’emplacement des doigts tout au long du corpus)
- Inconvénient : beaucoup plus long (bépo@home BOINC serait vraiment utile dans ce cas)
- Étant donné que c'est pour faire une dispo qui ne bougera plus ensuite, j'aurais envie de laisser tourner l'algo aussi longtemps que nécessaire, pour pondre LA dispo… mais bon, je me leurre peut-être sur la difficulté et/ou le temps que ça demandera. Arathor 12 novembre 2012 à 02:59 (UTC)
- Un bépo@home ça me tente vu que BOINC est la première chose que je démarre sur mon ordi. Par contre, comme Arathor, pour la mise en place je pense que ça demande beaucoup de temps et de capacités en prog (je me doute que c'est le genre de truc réalisable qu'en langage compilé donc sans debug assisté de l'IDLE), sans compter la logistique et toute la partie communication (avant et pendant le déroulement du projet). Certes, entre lancer un algo sur quelques machines en crunch et faire un projet de computation il y a un fossé mais c'est aussi beaucoup plus puissant et rapide. ÀMHA ça vaudrait le coup de s'y intéresser. XavierC 12 novembre 2012 à 04:57 (UTC)
- Optimisation possible : si l’algorithme se borne à étudier un nombre raisonnable de caractères adjacents à la fois, par exemple trois, on peut factoriser le corpus en triplets (avec le nombre d’occurences) au début de l’algorithme. Laurent 12 novembre 2012 à 17:29 (UTC)
Minimiser la distance parcourue des doigts
Maximiser les roulements faciles
Nous sommes au 21ᵉ siècle, pas en 1936. Contrairement aux machines à écrire de l’époque d’August Dvorak, les claviers d’ordinateurs supportent les roulements.
Un roulement consiste à enfoncer d’un seul mouvement des touches consécutives sur une main, en baissant les doigts avec un décalage, puis à ne relâcher toutes les touches qu’à la fin.
C’est plus rapide que l’alternance des mains.
Les roulements sont plus faciles avec des doigts adjacents (ou carrément auriculaire-index), sur des touches alignées (ou avec un décalage d’une rangée avec le doigt le plus long sur la rangée la plus lointaine) et idéalement vers l’intérieur. Un roulement ne peut concerner plus de deux touches que si la progression ne change pas de direction.
Exemples de roulenents faciles en Bépo : au, ie, uie, nr, st, nt… Essayez d’écrire « pluie » en roulant.
La limite est sur le nombre de digrammes ou trigrammes intéressants, d’autant plus qu’il ne faut pas dégrader notablement la façon de faire les autres.
Maximiser l’alternance des mains
Exemple mauvais en bépo : épub dans république, beaucoup se tape presque uniquement à une main
Minimiser les m-grammes à n-doigts (n<m)
Digrammes à un doigt
Exemple mauvais en bépo : pi dans tapis, soupirer, épisode…
Trigrammes à un doigt
Exemple mauvais en bépo : bab dans probablement
Trigrammes à deux doigts
Exemple mauvais en bépo : ove dans novembre
Caractères supportés
Symboles
Si on y regarde bien il a plein de places en AltGr et en Maj + AltGr. Il ne tient qu'à nous de mettre le maximum de symboles. On peut peut-être supprimé des trucs genre le ~ en AltGr + K ne sert à rien a priori. Et puis surtout on a pleins de touches mortes, donc autant les utiliser. On pourrait avoir une touche morte de maths par exemple, ou une touche morte pour tous les symboles qui ne sont pas alphanumériques.
Je propose l'intégration des caractères suivants:
- fléches simples et doubles (avec un TMx il est impossible de faire les flèches (possible sous GNU/Linux avec AltGr et les flèches du pavé numérique))
- le point d'ironie (pourrait être placé en Maj + AltGr + apostrophe)
- Divers symboles mathématiques (symbole infini, ) et ou exclusif
- les boules utilisés pour les listes
- d'autres idées?— Le message qui précède, non signé a été déposé par Sinma (d), le 19 janvier 2013 à 17:19.
- La touche morte mathématique me parais une excellente idée, mais est-ce possible techniquement ? Il me semble avoir vu qu’une touche compose pourrait apparaitre. Est-ce une solution ? Robin 24 avril 2013 à 03:34 (UTC)
Ajustements
Car on ne peut pas tout prévoir dans l’algorithme, il va falloir faire des ajustements à la disposition générée.
page de vote
Peux-être que j’ai loupé quelque chose, mais je n’ai pas vu de page parlant des différentes propositions (tel que la place des chiffres…) et permettrai de voter. Je suppose qu’il y a des discussions sur irc, mais soit je ne suis pas présent soit je ne suis pas sur le bon canal. En tout cas j’aimerai participer et connaitre les différentes suggestions avec les avis correspondants.Robin 24 avril 2013 à 03:13 (UTC)