« AltGr symétrique » : différence entre les versions

De Disposition de clavier bépo
m (correction des accents)
mAucun résumé des modifications
Ligne 1 : Ligne 1 :
Sur un [[clavier (informatique)|clavier]], la '''touche Alt Gr''' (pour ''Alternate Graphics'') est une [[touche de modification]] qui rend accessible différents signes. Ces signes étaient à l’origine des symboles graphiques, d’où le nom de la touche.
{{navigation|icone=Méthodologie.png|En savoir plus|{{PAGENAME}}}}
C'est également un raccourci des combinaisons de touches [[Touche Ctrl|Ctrl]]+[[Touche Alt|Alt]].


==Symétrie des modificateurs et problème du AltGr==
Sur un [[clavier (informatique)|clavier]], la touche Alt Gr (pour ''Alternate Graphics'', souvent prononcé « alt grade » pour d'obscures raisons) est une [[touche de modification]] (un « modificateur ») qui rend accessibles différents signes. Ces signes étaient à l’origine des symboles graphiques, d’où le nom de la touche. C'est également un raccourci de la combinaison de touche [[Touche Ctrl|Ctrl]]+[[Touche Alt|Alt]].
D'un point de vue ergonomique, il est préférable que les « modificateurs » de touches soit symétriques, car tout appui de deux touches en simultané devrait impliquer l'utilisation des deux mains pour éviter une contorsion du poignet.  


La touche Shift est naturellement symétrique et ne pose donc pas de problème. Ce n'est par contre pas le cas de la touche AltGr, puisque son homologue sur la partie gauche du clavier, la touche Alt, se comporte de façon totalement différente.
== Résumé du problème : symétrie, ==


La touche AltGr est néanmoins nécessaire. Sur un clavier classique, elle est utilisée pour taper plus d'une quinzaine de symbole, on peut donc difficilement s'en passer sans devoir abandonner certains caractères spéciaux (souvent nécessaires aux programmeurs).  
D'un point de vue ergonomique, il est préférable que les modificateurs soient symétriques — c'est-à-dire présents sur les deux cotés du clavier et avec un comportement rigoureusement identique — car tout appui sur deux touches en simultané (combinaison) devrait impliquer l'utilisation des deux mains, afin d'éviter une contorsion du poignet. Seules quelques rares combinaisons sont biomécaniquement heureuses (Alt+Tab par exemple). La [[touche Shift]] est naturellement symétrique et ne pose donc pas de problème ; de même pour la [[touche Ctrl]]. Ce n'est par contre pas le cas de la touche AltGr, puisque son homologue logique sur la partie gauche du clavier, la [[touche Alt]], se comporte de façon totalement différente.


On notera que la solution qu'a adopté F. Leboutte pour sa disposition dvorak-fr est l'utilisation d'une touche morte universelle. En pratique, la touche morte accent grave se comporte comme modificateur pour tout les caractères particuliers. Par exemple un appui sur la touche accent grave suivi de C donnera Ç. Cette solution a l'avantage d'être ergonomique (si ce n'est la perte du vitesse inhérente due à l'utilisation d'une touche morte), mais elle n'est pas portable. Ajoutons que non content de ralentir la frappe par le doublement des appuis nécessaires, la touche morte choisie n’est pas un modèle d’accessibilité.  
Une première idée serait de supprimer la touche AltGr, de créer au passage un Alt symétrique, et de déporter ailleurs les symboles anciennement accessibles par AltGr ; mais on se rend vite compte que la touche AltGr répond à un besoin réel : sur un clavier classique, elle est tout de même utilisée pour taper plus d'une quinzaine de symboles. On peut donc difficilement s'en passer sans devoir abandonner certains caractères spéciaux (souvent nécessaires aux programmeurs, mais pas seulement).  


==Le problème du AltGr==
On notera que la solution qu'a adopté F. Leboutte pour sa disposition [[Dvorak-fr]] est l'utilisation d'une [[touche morte]] universelle. En pratique, la touche morte « accent grave » est associée à tous les caractères particuliers. Par exemple, un appui sur la touche accent grave suivi de C donnera Ç. Cette solution a l'avantage d'être relativement simple et ergonomique (si ce n'est la perte du vitesse inhérente due à l'utilisation d'une touche morte), mais elle présente un gros problème : elle n'est [[Implamentation selon le système d'exploitation|pas portable]]. Ajoutons que non content de ralentir la frappe par le doublement des appuis nécessaires, la touche morte choisie n’est pas un modèle d’accessibilité.


Tout d'abord, accordons-nous pour dire que le fait d'avoir UneSeuleToucheAlt est anti-ergonomique. En effet, quand tu
== Examen détaillé du problème ==
appuies en même temps sur deux touches diférentes, tu dois utiliser
tes 2 mains pour éviter les contorsions.


Sur le clavier AZERTY, on a en fait 2 touches asymétriques : Alt, qui
[Par [[~Thomas Tempé]].]
n'est qu'à gauche, et Alt Gr qui n'est qu'à droite. Alt Gr est un
modificateur réservé au "sous-système clavier", alors que Alt est
réservé aux applications : pas question d'y toucher.


Concrètement, sur un clavier AZERTY, on peut obtenir un symbole :
Tout d'abord, accordons-nous pour dire que le fait d'avoir une seule touche Alt est anti-ergonomique. De façon générale, l'appui sur deux touches différentes pour réaliser une combinaison [Modificateur]+[Touche] n'est réellement confortable que si on a le choix du placement des mains. Comme la seconde [Touche] de la combinaison est fixée d'avance et peut se trouver n'importe où sur le clavier, il est pratique de pouvoir utiliser à loisir la main gauche ou la main droite pour le modificateur, selon la main qui accède à la touche de la combinaison.
* en appuyant directement sur la touche (48 symboles)
* avec Shift (autant)
* avec Alt Gr (14 symboles écris sur les touches de mon clavier)
* avec Alt Gr + Shift


Les claviers AZERTY français ont une touche "> <" en bas à gauche que
Par ailleurs, on distinguera les modificateurs des [[touches mortes]] :
les claviers QWERTY US n'ont pas (47 touches). Ça ramène à 15 le
* un modificateur est utilisé en combinaison avec une ou plusieurs touches ; on garde appuyé le modificateur, et le caractère désiré est composé quand une autre touche est appuyée ;
nombre de symboles à supprimer sur ces claviers pour utiliser son clavier
* une touche morte agit comme une bascule temporaire : on appuie sur la touche morte, on relâche, puis on appuie sur une autre touche, qui compose un caractère différent de celui habituellement accessible.
sans Alt Gr.


Sauf à supprimer 13 voire 15 symboles, on n'arrivera pas à tout faire
Sur le clavier AZERTY, deux modificateurs ne sont pas dédoublés de façon symétrique :
tenir sur le clavier.  Voyons ce que je n'utilise jamais : §, µ, ?, £,
* Alt, qui n'est qu'à gauche du clavier ;
²... on est loin du compte, et j'en connais déjà qui vont râler. On
* AltGr, qui n'est qu'à droite.
peut aussi décider que les symboles ^, `, ~, qui existent à la fois en
touche morte et en non-morte, sera obtensible exclusivement avec
touche morte. Ça ramène le compte à 8, pour mon usage
personnel. Au-delà, c'est les programmeurs qui vont râler.


En termes d'ergonomie, la meilleure solution pour saisir plus de
Alt Gr est un modificateur réservé au « sous-système clavier » tandis que Alt est typiquement réservé aux applications : pas question d'y toucher. C'est donc sur AltGr que se déporte le problème de la symétrie et l'accessibilité, auquel vient se greffer la contrainte d'exhaustivité des caractères.
symboles est probablement d'avoir une touche morte : tu appuies
d'abord sur Alt Gr, tu le relâches, et tu appuies ensuite sur la
deuxième touche. C'est la solution adoptée par Francis Leboutte.


Francis redéfinit les caractère recombinants. Par exemple, accent
Concrètement, sur un clavier AZERTY, on peut obtenir un symbole :
grave mort + K donne $.  Le problème de cette solution est que les
* en appuyant directement sur la touche (48 symboles) ;
caractères recombinants sont donnés une fois pour toutes dans la
* avec Shift (48 symboles) ;
locale. C'est la langue française qui veut que apostrophe mort + c
* avec Alt Gr (14 symboles écris sur les touches d'un clavier classique) ;
donne ç, même sur un clavier QWERTY. Il n'en sera pas de même en
* avec Alt Gr + Shift.
vietnamien.
 
La locale est l'ensemble de paramètres du système qui spécifie quelle
langue tu utilises, le format de la date, de l'heure, des unités
monétaires, l'encodage par défaut, ou l'ordre alphabétique des lettres
(qui n'est pas le même selon les régions).
 
On ne peut pas modifier la locale, parce qu'il n'y a pas de manière
simple de changer les caractères recombinants au sein d'une locale,
que changer de locale quand on change de clavier est inadmissible, et
parce qu'il est impensable de créer une nouvelle locale pour chaque
clavier possible et imaginable. (Il y a déjà une locale différente
pour chaque combinaison (pays, langue) possible.)
 
On peut alors se demander s'il est possible d'avoir un comportement
similaire à celui des touches mortes sans passer par la locale. Il
semblerait que c'est ce qu'a fait Francis Leboutte; mais pour ça, il a
utilisé un driver clavier shareware, ce qui est loin de la solution
"propre" à laquelle on aspire. Je ne connais pas super bien Windows,
mais j'imagine que le système de locales est le même que sous
GNU/Linux (duquel je m'inspire pour parler ici).
 
Sous XFree, le système XKB est particulièrement avancé, et permet de
définir des modes. On doit pouvoir décider qu'un appui sur Alt Gr
changera de mode pour le prochain appui de touche; je ne me suis pas
penché plus sur la question.
 
Le problème, c'est qu'on ne peut pas compter sur ce genre de richesse
fonctionnelle extrême. XKB est vraiment très poussé, et doit
permettre, je crois, de saisir du japonais (hiraganas et katakanas)
sans avoir recours à un InputServer.
 
Dans la console Linux, sauf erreur de ma part, ce genre de choses est
impossible. Il doit en être de même dans la plupart des environnements
(sauf peut-être la nouvelle console Hurd, qui utilise XKB).
 
Nous revoilà donc au point de départ.
* On a besoin de Alt Gr.
* On ne peut pas utiliser Alt Gr et conserver un clavier ergonomique
(sauf à retoucher à la disposition physique et au nombre des touches;
mais c'est là le travail des concepteurs de claviers.)  
Toute solution -autant que je puisse dire- n'est que magouille.
 
 
Une autre voie pourrait être explorée : Que se passe-t-il si on
remplace une autre touche, par exemple sous la main gauche, par un
AltGr, mais en ne permettant de combinaisons qu'avec des touches se
trouvant sous la main droite ? On pourrait à cet effet résoudre le problème du CapsLock.


On trouvera largement de la place pour les 15 symboles les plus
Les claviers AZERTY français ont une touche supplémentaire [> <] en bas à gauche que les claviers QWERTY US n'ont pas (47 touches) et qui travaille avec AltGr. Tout ça ramène donc à 15 le nombre de symboles à supprimer sur un clavier classique si on souhaite se passer de Alt Gr. Comme on souhaite également conserver les symboles en question, il faut leur associer un autre moyen de composition.
fréquemment utilisés sous la main droite.


C'est une proposition de solution, mais je ne sais pas à quel point
Sauf à supprimer 13 voire 15 symboles, on n'arrivera pas à tout faire tenir sur le clavier. Voyons ce que je n'utilise jamais : §, µ, ?, £, ²… On est loin du compte, et j'en connais déjà qui vont râler. On peut aussi décider que les symboles ^, `, ~, qui existent à la fois en touche morte et en non-morte, seront obtenus uniquement avec une touche morte, ce qui libère de la place. Cela ramène le compte à 8, pour mon usage personnel. Au-delà, c'est les programmeurs qui vont râler.
elle est réaliste. Il faut noter que la plupart des claviers du monde
changent simplement la disposition des lettres et caractères
spéciaux, mais que les touches périphériques (espace, contrôle,
etc...) changent très peu. De plus, rien ne dit qu'on trouvera un caps
lock sur tous les claviers.  


On peut aussi vouloir utiliser une autre touche, voire deux (une sous
En termes d'ergonomie, la meilleure solution pour saisir plus de symboles est probablement d'avoir une [[touche morte]]. C'est la solution adoptée par Francis Leboutte. Francis redéfinit les caractère recombinants. Par exemple, accent grave mort + K donne $.
chaque mais) comme AltGr, par exemple le "<" et le "!" du clavier
AZERTY.  Mais encore une fois, on viole la distinction "touche de
symbole/touche de contrôle".


[[~Thomas Tempé]]
Le problème de cette solution est qu'elle entre en conflit avec la [[locale]]. La locale est un ensemble de paramètres du système qui spécifie quelle langue est utilisée, le format de la date, de l'heure, des unités monétaires, l'[[encodage des caractères]] par défaut, ou encore l'ordre alphabétique des lettres (qui peut ne pas être le même selon les régions). Les caractères recombinants sont donnés une fois pour toutes dans la [[locale]] et dans notre cas, c'est la langue française qui veut que, pour la locale du français, apostrophe mort + c donne ç, et ce sur tout [[type de clavier]] (''ie''. même sur un clavier QWERTY). Il n'en sera pas de même en vietnamien, qui a évidemment une locale différente.


Forcer une nouvelle logique de caractère recombinant pose dès lors problème, car elle joue contre la normalisation et la portabilité de la disposition de clavier ainsi créée. On ne peut pas raisonnablement modifier la locale :
* déjà parce qu'il n'y a pas de manière simple de changer les caractères recombinants au sein d'une locale ;
* parce qu'ensuite, changer de locale quand on change de clavier ou d'ordinateur est inadmissible ;
* et parce qu'il est impensable de créer une nouvelle locale pour chaque clavier possible et imaginable (il y a déjà une locale différente pour chaque combinaison (pays, langue) possible !).


==AltGrSymétrique==
On peut alors se demander s'il est possible d'avoir un comportement ''similaire'' à celui des touches mortes sans passer par la locale et la destruction des caractères recombinants usuels. Il semblerait que c'est ce qu'a fait Francis Leboutte ; mais pour ça, il a utilisé un driver clavier shareware, ce qui est loin de la solution « propre » à laquelle on aspire. Je ne connais pas super bien Windows, mais j'imagine que le système de locales est le même que sous GNU/Linux (duquel je m'inspire pour parler ici). Sous XFree, le système [[XKB]] est particulièrement avancé, et permet de changer de mode de composition pour le prochain appui de touche, selon l'action précédente ; je ne me suis pas penché plus sur la question.
Page à fusionner avec [[SymetrieEtAltGr]]


Suite à la discussion de cet aprem, où on s'est demandé laquelle de 2
Le problème, c'est qu'on ne peut pas toujours compter sur ce genre de richesse fonctionnelle extrême. XKB est vraiment très poussé, et doit même permettre, je crois, de saisir du japonais (hiraganas et katakanas) sans avoir recours à un ''InputServer'' externe. Mais il n'est actif que si le serveur X.Org l'est, ce qui peut ne pas être le cas. Par exemple, dans la console Linux (''tty''), sauf erreur de ma part, ce genre de choses est impossible. Il doit en être de même dans la plupart des environnements (sauf peut-être la nouvelle console Hurd, qui utilise XKB). Souhaite t-on mettre les utilisateurs concernés de coté ?
mauvaises solutions choisir, on a proposé de faire la chose suivante :


Comme ces deux propriétés sont mutuellement exclusives, on spécifie 2
Nous revoilà donc au point de départ :
claviers, un "ergonomique" et un "propre".
* on a besoin de AltGr ;
* on ne peut pas utiliser AltGr tout en conservant un clavier ergonomique, du point de vue de la symétrie des combinaisons (sauf à retoucher la disposition physique et le nombre des touches, mais c'est là le travail des concepteurs de claviers, et une voie fermée à court et moyen terme).
Toute solution — autant que je puisse dire — n'est que magouille.


Dvorak-Fr ergonomique : Alt devient AltGr gauche, CapsLock devient Alt, ² devient CapsLock.
Une autre voie pourrait être explorée : que se passe-t-il si on remplace une autre touche, par exemple sous la main gauche, par un AltGr, mais en ne permettant de combinaisons qu'avec des touches se trouvant sous la main droite ? On pourrait à cet effet résoudre le problème du [[CapsLock]] et l'utiliser à cette fin. On trouvera largement de la place pour les 15 symboles les plus fréquemment utilisés sous la main droite.


Dvorak-Fr propre : on ne touche pas à Alt et CapsLock. Ils restent où ils sont, aussi mal fichus que sur n'importe quel clavier Azerty.  
C'est une proposition de solution, mais je ne sais pas à quel point elle est réaliste. Il faut noter que la plupart des claviers du monde changent simplement la disposition des lettres et caractères spéciaux, mais que les touches périphériques (espace, contrôle, etc...) changent très peu. De plus, rien ne dit qu'on trouvera un CapsLock sur tous les claviers.


Le Dvorak-Fr propre servira de référence, le ergonomique sera proposé
On peut aussi vouloir utiliser une autre touche, voire deux (une sous chaque main), comme AltGr, par exemple le "<" et le "!" du clavier AZERTY.  Mais encore une fois, on viole la distinction « touche de symbole/touche de contrôle. »
par défaut (sauf sous Windows, on sera probablement obligés de
rester "propre").  


----
== Vers un AltGr symétrique ? ==


Idée pas conne
{{note|Page à fusionner avec [[SymetrieEtAltGr]].}}


>  - L'emploi moins rare (et plus réfléchi) de touches mortes devrait
Suite à la discussion précédente sur l'opportunité d'un choix entre deux (mauvaises) solutions, une nouvelle proposition est faite.
>    faire augmenter la gamme des caractères possibles, et donc faire
>    disparaître les cas où la touche "compose" est nécessaire.  Il=
est
>    clair que cette touche coûte très cher à la saisie, la faire
>    disparaître serait révélateur d'une conception plus riche du=
keymap
>    (on fait tendre le nombre d'exceptions vers 0).


Entièrement d'accord avec ce point, ce qui supprimerait donc le débat sur 1
Comme les deux choix présentent des propriétés mutuellement exclusives, on peut imaginer spécifier deux claviers, un « ergonomique » et un « propre » :
Alt et 1 AltGr ou bien 2 Alt.
* fr-dvorak-bépo ergonomique : Alt devient AltGr gauche, CapsLock devient Alt, ² devient CapsLock ;
Une touche serait représenté ainsi :
* fr-dvorak-bépo propre : on ne touche pas à Alt et CapsLock. Ils restent où ils sont, aussi mal fichus que sur n'importe quel clavier AZERTY.
[@______
| 2  4 |
| 1  3 |
----------@]
        1: touche à vide
        2: Shift + touche / Shift touche
        3: Touche morte1 + touche / touche morte1 touche
        4: Touche morte2 + touche / touche morte2 touche


on aurait donc AltGr = Alt
Le Dvorak-Fr propre servira de référence, le ergonomique sera proposé par défaut (sauf sous Windows, où on sera probablement obligés de rester « propre »)
----


D'ailleurs à ce sujet, je pense que les symbole utilisés en  
:Idée pas conne.
programmation (par exemple {}[] ) arriveront probablement en altgr, et  
:* L'emploi moins rare (et plus réfléchi) de touches mortes devrait faire augmenter la gamme des caractères possibles, et donc faire disparaître les cas où la touche "compose" est nécessaire. Il est clair que cette touche coûte très cher à la saisie, la faire disparaître serait révélateur d'une conception plus riche du ''keymap'' (on fait tendre le nombre d'exceptions vers 0).
donc on pourrait mettre par exemple les [et { en altgr, et les } et ]  
::Entièrement d'accord avec ce point, ce qui supprimerait donc le débat sur un duo Alt/AltGr ''versus'' deux Alt. Une touche serait représenté ainsi :
associés en altgr+shift. Ceci bien évidemment sous réserve qu'il n'y ait  
[@______
pas de place ailleurs (par exemple en acces direct ou shift,  
| 2  4 |
éventuellement à la place de )º =+ de l'azerty, à condition que les  
| 1  3 |
chiffres soit tassés à gauche).
-------@]
1: touche à vide
2: Shift + touche / Shift touche
3: Touche morte1 + touche / touche morte1 touche
4: Touche morte2 + touche / touche morte2 touche
::On aurait donc AltGr = Alt.
:D'ailleurs à ce sujet, je pense que les symboles utilisés en programmation (par exemple « { } [ ] » ) arriveront probablement en AltGr, et donc on pourrait mettre par exemple les [ et { en AltGr, et les } et ] associés en AltGr+Shift. Ceci bien évidemment sous réserve qu'il n'y ait pas de place ailleurs (par exemple en accès direct ou Shift, éventuellement à la place de )º =+ de l'AZERTY, à condition que les chiffres soit tassés à gauche).


===Alt et Alt Gr symétriques===
===Alt et Alt Gr symétriques===

Version du 10 avril 2008 à 20:50


Sur un clavier, la touche Alt Gr (pour Alternate Graphics, souvent prononcé « alt grade » pour d'obscures raisons) est une touche de modification (un « modificateur ») qui rend accessibles différents signes. Ces signes étaient à l’origine des symboles graphiques, d’où le nom de la touche. C'est également un raccourci de la combinaison de touche Ctrl+Alt.

Résumé du problème : symétrie,

D'un point de vue ergonomique, il est préférable que les modificateurs soient symétriques — c'est-à-dire présents sur les deux cotés du clavier et avec un comportement rigoureusement identique — car tout appui sur deux touches en simultané (combinaison) devrait impliquer l'utilisation des deux mains, afin d'éviter une contorsion du poignet. Seules quelques rares combinaisons sont biomécaniquement heureuses (Alt+Tab par exemple). La touche Shift est naturellement symétrique et ne pose donc pas de problème ; de même pour la touche Ctrl. Ce n'est par contre pas le cas de la touche AltGr, puisque son homologue logique sur la partie gauche du clavier, la touche Alt, se comporte de façon totalement différente.

Une première idée serait de supprimer la touche AltGr, de créer au passage un Alt symétrique, et de déporter ailleurs les symboles anciennement accessibles par AltGr ; mais on se rend vite compte que la touche AltGr répond à un besoin réel : sur un clavier classique, elle est tout de même utilisée pour taper plus d'une quinzaine de symboles. On peut donc difficilement s'en passer sans devoir abandonner certains caractères spéciaux (souvent nécessaires aux programmeurs, mais pas seulement).

On notera que la solution qu'a adopté F. Leboutte pour sa disposition Dvorak-fr est l'utilisation d'une touche morte universelle. En pratique, la touche morte « accent grave » est associée à tous les caractères particuliers. Par exemple, un appui sur la touche accent grave suivi de C donnera Ç. Cette solution a l'avantage d'être relativement simple et ergonomique (si ce n'est la perte du vitesse inhérente due à l'utilisation d'une touche morte), mais elle présente un gros problème : elle n'est pas portable. Ajoutons que non content de ralentir la frappe par le doublement des appuis nécessaires, la touche morte choisie n’est pas un modèle d’accessibilité.

Examen détaillé du problème

[Par ~Thomas Tempé.]

Tout d'abord, accordons-nous pour dire que le fait d'avoir une seule touche Alt est anti-ergonomique. De façon générale, l'appui sur deux touches différentes pour réaliser une combinaison [Modificateur]+[Touche] n'est réellement confortable que si on a le choix du placement des mains. Comme la seconde [Touche] de la combinaison est fixée d'avance et peut se trouver n'importe où sur le clavier, il est pratique de pouvoir utiliser à loisir la main gauche ou la main droite pour le modificateur, selon la main qui accède à la touche de la combinaison.

Par ailleurs, on distinguera les modificateurs des touches mortes :

  • un modificateur est utilisé en combinaison avec une ou plusieurs touches ; on garde appuyé le modificateur, et le caractère désiré est composé quand une autre touche est appuyée ;
  • une touche morte agit comme une bascule temporaire : on appuie sur la touche morte, on relâche, puis on appuie sur une autre touche, qui compose un caractère différent de celui habituellement accessible.

Sur le clavier AZERTY, deux modificateurs ne sont pas dédoublés de façon symétrique :

  • Alt, qui n'est qu'à gauche du clavier ;
  • AltGr, qui n'est qu'à droite.

Alt Gr est un modificateur réservé au « sous-système clavier » tandis que Alt est typiquement réservé aux applications : pas question d'y toucher. C'est donc sur AltGr que se déporte le problème de la symétrie et l'accessibilité, auquel vient se greffer la contrainte d'exhaustivité des caractères.

Concrètement, sur un clavier AZERTY, on peut obtenir un symbole :

  • en appuyant directement sur la touche (48 symboles) ;
  • avec Shift (48 symboles) ;
  • avec Alt Gr (14 symboles écris sur les touches d'un clavier classique) ;
  • avec Alt Gr + Shift.

Les claviers AZERTY français ont une touche supplémentaire [> <] en bas à gauche que les claviers QWERTY US n'ont pas (47 touches) et qui travaille avec AltGr. Tout ça ramène donc à 15 le nombre de symboles à supprimer sur un clavier classique si on souhaite se passer de Alt Gr. Comme on souhaite également conserver les symboles en question, il faut leur associer un autre moyen de composition.

Sauf à supprimer 13 voire 15 symboles, on n'arrivera pas à tout faire tenir sur le clavier. Voyons ce que je n'utilise jamais : §, µ, ?, £, ²… On est loin du compte, et j'en connais déjà qui vont râler. On peut aussi décider que les symboles ^, `, ~, qui existent à la fois en touche morte et en non-morte, seront obtenus uniquement avec une touche morte, ce qui libère de la place. Cela ramène le compte à 8, pour mon usage personnel. Au-delà, c'est les programmeurs qui vont râler.

En termes d'ergonomie, la meilleure solution pour saisir plus de symboles est probablement d'avoir une touche morte. C'est la solution adoptée par Francis Leboutte. Francis redéfinit les caractère recombinants. Par exemple, accent grave mort + K donne $.

Le problème de cette solution est qu'elle entre en conflit avec la locale. La locale est un ensemble de paramètres du système qui spécifie quelle langue est utilisée, le format de la date, de l'heure, des unités monétaires, l'encodage des caractères par défaut, ou encore l'ordre alphabétique des lettres (qui peut ne pas être le même selon les régions). Les caractères recombinants sont donnés une fois pour toutes dans la locale et dans notre cas, c'est la langue française qui veut que, pour la locale du français, apostrophe mort + c donne ç, et ce sur tout type de clavier (ie. même sur un clavier QWERTY). Il n'en sera pas de même en vietnamien, qui a évidemment une locale différente.

Forcer une nouvelle logique de caractère recombinant pose dès lors problème, car elle joue contre la normalisation et la portabilité de la disposition de clavier ainsi créée. On ne peut pas raisonnablement modifier la locale :

  • déjà parce qu'il n'y a pas de manière simple de changer les caractères recombinants au sein d'une locale ;
  • parce qu'ensuite, changer de locale quand on change de clavier ou d'ordinateur est inadmissible ;
  • et parce qu'il est impensable de créer une nouvelle locale pour chaque clavier possible et imaginable (il y a déjà une locale différente pour chaque combinaison (pays, langue) possible !).

On peut alors se demander s'il est possible d'avoir un comportement similaire à celui des touches mortes sans passer par la locale et la destruction des caractères recombinants usuels. Il semblerait que c'est ce qu'a fait Francis Leboutte ; mais pour ça, il a utilisé un driver clavier shareware, ce qui est loin de la solution « propre » à laquelle on aspire. Je ne connais pas super bien Windows, mais j'imagine que le système de locales est le même que sous GNU/Linux (duquel je m'inspire pour parler ici). Sous XFree, le système XKB est particulièrement avancé, et permet de changer de mode de composition pour le prochain appui de touche, selon l'action précédente ; je ne me suis pas penché plus sur la question.

Le problème, c'est qu'on ne peut pas toujours compter sur ce genre de richesse fonctionnelle extrême. XKB est vraiment très poussé, et doit même permettre, je crois, de saisir du japonais (hiraganas et katakanas) sans avoir recours à un InputServer externe. Mais il n'est actif que si le serveur X.Org l'est, ce qui peut ne pas être le cas. Par exemple, dans la console Linux (tty), sauf erreur de ma part, ce genre de choses est impossible. Il doit en être de même dans la plupart des environnements (sauf peut-être la nouvelle console Hurd, qui utilise XKB). Souhaite t-on mettre les utilisateurs concernés de coté ?

Nous revoilà donc au point de départ :

  • on a besoin de AltGr ;
  • on ne peut pas utiliser AltGr tout en conservant un clavier ergonomique, du point de vue de la symétrie des combinaisons (sauf à retoucher la disposition physique et le nombre des touches, mais c'est là le travail des concepteurs de claviers, et une voie fermée à court et moyen terme).

Toute solution — autant que je puisse dire — n'est que magouille.

Une autre voie pourrait être explorée : que se passe-t-il si on remplace une autre touche, par exemple sous la main gauche, par un AltGr, mais en ne permettant de combinaisons qu'avec des touches se trouvant sous la main droite ? On pourrait à cet effet résoudre le problème du CapsLock et l'utiliser à cette fin. On trouvera largement de la place pour les 15 symboles les plus fréquemment utilisés sous la main droite.

C'est une proposition de solution, mais je ne sais pas à quel point elle est réaliste. Il faut noter que la plupart des claviers du monde changent simplement la disposition des lettres et caractères spéciaux, mais que les touches périphériques (espace, contrôle, etc...) changent très peu. De plus, rien ne dit qu'on trouvera un CapsLock sur tous les claviers.

On peut aussi vouloir utiliser une autre touche, voire deux (une sous chaque main), comme AltGr, par exemple le "<" et le "!" du clavier AZERTY. Mais encore une fois, on viole la distinction « touche de symbole/touche de contrôle. »

Vers un AltGr symétrique ?

Page à fusionner avec SymetrieEtAltGr.

Suite à la discussion précédente sur l'opportunité d'un choix entre deux (mauvaises) solutions, une nouvelle proposition est faite.

Comme les deux choix présentent des propriétés mutuellement exclusives, on peut imaginer spécifier deux claviers, un « ergonomique » et un « propre » :

  • fr-dvorak-bépo ergonomique : Alt devient AltGr gauche, CapsLock devient Alt, ² devient CapsLock ;
  • fr-dvorak-bépo propre : on ne touche pas à Alt et CapsLock. Ils restent où ils sont, aussi mal fichus que sur n'importe quel clavier AZERTY.

Le Dvorak-Fr propre servira de référence, le ergonomique sera proposé par défaut (sauf sous Windows, où on sera probablement obligés de rester « propre »)

Idée pas conne.
  • L'emploi moins rare (et plus réfléchi) de touches mortes devrait faire augmenter la gamme des caractères possibles, et donc faire disparaître les cas où la touche "compose" est nécessaire. Il est clair que cette touche coûte très cher à la saisie, la faire disparaître serait révélateur d'une conception plus riche du keymap (on fait tendre le nombre d'exceptions vers 0).
Entièrement d'accord avec ce point, ce qui supprimerait donc le débat sur un duo Alt/AltGr versus deux Alt. Une touche serait représenté ainsi :
[@______
| 2   4 |
| 1   3 |
-------@]

1: touche à vide
2: Shift + touche / Shift touche
3: Touche morte1 + touche / touche morte1 touche
4: Touche morte2 + touche / touche morte2 touche
On aurait donc AltGr = Alt.
D'ailleurs à ce sujet, je pense que les symboles utilisés en programmation (par exemple « { } [ ] » ) arriveront probablement en AltGr, et donc on pourrait mettre par exemple les [ et { en AltGr, et les } et ] associés en AltGr+Shift. Ceci bien évidemment sous réserve qu'il n'y ait pas de place ailleurs (par exemple en accès direct ou Shift, éventuellement à la place de )º =+ de l'AZERTY, à condition que les chiffres soit tassés à gauche).

Alt et Alt Gr symétriques

La notion de modificateur symétrique est portable pour les os Microsoft. J'ai testé hier avec les logiciels KeyTweak (modification de la bdd) et Autohotkey sous Windows XP et Vista (voir outils).

J'ai d'abord essayé la proposition d'Aurélien c'est-à-dire :

  • AltGr symétrique (Right Alt devient un Right AltGr)
  • ² devient l'Alt

Et me suis rendu compte que les raccourcis Alt+touche côté gauche sont un poil acrobatique, par contre le Alt+tab coule de source (on peut changer d'application avec un doigt !!)

D'où l'idée d'avoir un Alt symétrique, soit :

  • pour un clavier 102 touches : un deuxième Alt en haut sur la touche à côté de backspace (il faudrait alors replacer % et µ ailleurs sur le layout)
  • pour un clavier 105 touches : en remplacant les deux touches Win droite et gauche par des Alt (la touche ² pouvant faire office de touche Win vu elle est utilisé dans certains logiciels aujourd'hui)

Il reste à vérifier la portabilité sous Mac…

De la touche « Super »

La touche Super est la touche sur laquelle il est souvent dessiné le logo windows. Ce que je dis ici s’applique aussi à la touche « menu ». De plus en plus nous imaginons l’utiliser pour avoir un AltGr Symétrique sans ne rien perdre d’autre. J’ajoute deux points :

  • Ces touches bougent beaucoup, elles ne sont pas placées sur tous les claviers, en particulier les portables ;
  • sous linux, elle sert de plus en plus : nombre des effets de compiz-fusion[1] se font à l’aide de ce modificateur.

Il est donc compliqué de faire reposer l’ergonomie du clavier sur une touche qu’on est pas certain de retrouver sous ses doigts, ou qui peut-être utilisée pour autre chose.

Liens et références

Page provisoire pour la version 0.7, vous en occupez pas (Aurélien LPR)

  1. Des images partout sur youtube et sur le blog dédié.