« Utilisateur:Laurent » : différence entre les versions

De Disposition de clavier bépo
(→‎Accessibilité des caractères utilisés en informatique : Suppression de la partie spécifique au BÉPO 0.6.5 (caduque du fait que les modifications n'ont pas passé))
(→‎Lien : Ajouts de liens concernant Compose et XKb)
Ligne 103 : Ligne 103 :
  <dead_circumflex> <V> : "Ŭ" U016C
  <dead_circumflex> <V> : "Ŭ" U016C


== Lien ==
== Liens ==


* [[XKBComposeDB|La page sur Compose]], avec des recettes
* [[XKBComposeDB|La page sur Compose]], avec des recettes
* [http://wiki.mandriva.com/fr/La_touche_compose L'utilisation de la touche Compose sous Linux]
* [http://wiki.mandriva.com/fr/Personnaliser_le_clavier#Les_fichiers_de_configuration_du_clavier_et_le_syst.C3.A8me_XKb Un manuel général sur le fontionnement et l'utilisation d'XKb]
* [http://pascal.tsu.ru/en/xkb/ Une doc de référence sur XKb]
** [http://www.unix.bat.ru/mirrors/pascal/en/xkb/ Une copie plus dépouillée]

Version du 24 février 2008 à 03:55

Après avoir été développeur, je suis administrateur système sous Unix (uniquement GNU/Linux depuis quelques années) et Windows (accessoirement des années d'administration système Windows (c'est contradictoire) et l'évolution de celui-ci m'en ont dégoûté).

Mes usages principaux du clavier :

  • le français,
  • l'informatique (notamment shell, Perl),
  • l'espéranto,
  • l'anglais.

Je milite pour la sauvegarde des caractères utilisés en informatique sur le bépo.



Caractères utilisés en informatique

N'hésitez pas à me faire part des manques de cette rubrique (je ne connais pas tout et j'ai aussi probablement oublié des choses que je connais) dans ma page de discussion, voire à ajouter directement.

  • ; : séparateur d'instructions dans de nombreux langages (C/C++, Perl, shell)
  • , : séparateur pour les arguments d'une fonction dans de nombreux langages, séparateur d'éléments de liste en Perl
  • ' : constantes caractères en C/C++; chaînes de caractères en shell, Perl...; italique et gras en Wiki
  • " : chaînes de caractères dans la plupart des langages (C/C++, shell, Perl...)
  • # : commentaires en shell, Perl... et dans la plupart des fichiers de configuration sous Unix
  • $ : préfixe d'une variable en shell et en Perl, borne dans les expressions rationnelles
  • ^ : borne d'une expression rationnelle
  • ~ : accès au répertoire utilisateur sous Unix et dans les URL
  • @ : adresses de courriel, préfixe d'un tableau en Perl
  • : : suffixe du protocole dans les URL, partie de l'opérateur ternaire en C/C++, terminateur des instructions conditionnelles et de boucles en Python
  • ? : joker en shell; expressions rationnelles; préfixe les paramètres d'une requète de type get dans les URL, partie de l'opérateur ternaire en C/C++
  • % : opérateur modulo, préfixe d'un tableau associatif en Perl
  • ( et ) : paramètres de fonctions dans la plupart des langages de programmation, définition de priorités dans une expression, listes en Lisp et en Perl; expressions rationnelles
  • { et } : blocs de commandes en C/C++, Perl, shell...; indices des tableaux associatifs en Perl
  • [ et ] : indices des tableaux dans de nombreux langages de programmation; expressions rationnelles
  • < et >: éléments HTML et XML, redirection des entrées/sorties en shell, comparaison numérique en programmation
  • = : affectation et comparaison (doublé ou accompagné d'un autre signe dans l'un des deux cas) dans de nombreux langages
  • - : options des commandes en shell Unix, opérateur moins
  • + : addition; expressions rationnelles
  • * : multiplication dans la plupart des langages; joker en shell; expressions rationnelles; éléments de liste en Wiki
  • / : séparateur des éléments de chemin sous Unix et dans les URL, options de commandes en DOS, division dans la plupart des langages, délimiteur habituel des expressions rationnelles en Perl
  • \ : séparateur des éléments de chemin sous DOS; caractères spéciaux dans les chaînes de caractères en C/C++, Perl...; désactivation de l'interprétation d'un caractère spécial dans les expressions rationnelles et en shell; catégories dans les expressions rationnelles Perl
  • ! : négation logique dans certains langages;
  • & : lancement d'une commande en tâche de fond en shell, “et” arithmétique et/ou logique dans de nombreux langages
  • | : chaînage de deux commandes (la sortie de la première étant l'entrée de la seconde) en shell, “ou” arithmétique et/ou logique dans de nombreux langages
  • ` : exécute une commande et retourne sa sortie en shell et en Perl;
  • . : accès aux membres d'une structures, ou aux méthodes ou attributs d'un objet en C/C++, concaténation en Perl
  • _ : sert de séparateur dans les noms de variables ou de constantes

Accessibilité des caractères utilisés en informatique

AZERTY (pour référence)

  • 11 en accès direct : & " ' ( _ ) , ; : ! <
  • 4 en accès direct sur des touches mal placées : - = $ *
  • 8 accessibles avec un modificateur : ~ # { [ % > ? . /
  • 1 accessible avec un modificateur sur une touche mal placée : |
  • 7 accessibles avec un modificateur uniquement du mauvais côté : ` \ ^ @ ] + }

BÉPO 0.6.4 (et 0.6.5)

  • 11 en accès direct : " ( ) + - / * = , . '
  • 3 en accès direct sur des touches mal placées : % $ _
  • 16 accessibles avec un modificateur : < > [ ] @ | & ` ! ? ~ \ { : } ;
  • 1 accessible avec un modificateur sur une touche mal placée : #
  • 0 accessible avec un modificateur uniquement du mauvais côté

On constate une amélioration par rapport à l'AZERTY, grâce au placement préférentiel du côté opposé à AltGr.

« et » en accès indirect mais directement avec espace insécable

L'argument le plus fort contre < et > en accès direct (fortement souhaitable pour taper du HTML ou du XML), c'est que si « et » étaient en AltGr, leur enchaînement avec l'espace insécable serait pénible. Pourquoi ne pas tout simplement les coupler avec l'espace insécable ? AltGr-[2] serait plus léger que Maj-Espace [2] !

Ci-dessous deux solutions pour Xorg :

  • Une solution globale qui n'impacte que les cartes clavier qui l'utilisent explicitement

Dans le fichier xkb :

    key <AE02> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ less,    2, Ufbcb, twosuperior   ] }; // < 2 « ²
    key <AE03> { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ greater, 3, Ufbcc, threesuperior ] }; // > 3 » ³

Dans le fichier Compose général :

<Ufbcb> : "« "
<Ufbcc> : " »"
  • Une solution simple au niveau utilisateur qui fonctionne pour toutes les cartes clavier

Comme fichier .XCompose de l'utilisateur :

include "%L"
<guillemotleft> : "« "
<guillemotright> : " »"

ATTENTION : si vous faites un copier-coller, vous aurez certainement intérêt à remettre des espaces insécables “à la main”, parce qu'il est possible que votre navigateur les remplace par des espaces normales.

Reste la question, quand le clavier “bépo” sera inclus dans les distributions, de savoir si la modification a sa place dans le Compose général ou si le clavier devrait être lié à un Compose spécifique, ce qui serait moins simple. Dans la mesure où c'est une séquence typique en typographie française, je pense que ça aurait aussi bien sa place dans le Compose général que les digraphes arabes ou kurdes (il y en a dans le Compose général de ma distribution). À charge pour les claviers français (“bépo” ou pas) de l'utiliser, les autres l'ignorant simplement.

Sous Windows, dans la mesure où le pilote clavier est monolithique, ça ne doit pas poser de problème.

Pour l'espéranto

ˆ mort + v → ŭ

Solution pour Xorg et sur le compte utilisateur : créer un fichier .XCompose avec comme contenu :

include "%L"
<dead_circumflex> <v> : "ŭ" U016D
<dead_circumflex> <V> : "Ŭ" U016C

Liens