[EGD-discu] Linux, X.org…

[ Thread Index | Date Index | More ergodis.org/discussions Archives ]


Bonjour,

Le 03/05/18 14:47 Laurent a écrit :
En effet, mais ça fait trois choses à ajouter pour que ça marche d’origine :
– un symbole « virtuel » dans /usr/include/X11/keysymdef.h (j’indique 
les chemins classiques sous Linux, mais ça peut différer un peu pour le 
début, en particulier sur d’autres systèmes comme FreeBSD),

Le 03/05/2018 à 22:01, Marcel a répondu :
Cela me rend perplexe, en fait. Car c’est comme s’il fallait modifier le kbd.h de Windows, 
à supposer que Windows au lieu des pilotes de disposition, contienne les sources kbdxxxxx.c 
et en-têtes kbdxxxxx.h de tous les pilotes et les compile lui-même.

Pour faire ce genre de truc juste pour toi (utiliser Compose pour produire plus d’un caractère avec une touche), tu peux faire plus simple en utilisant un point Unicode de la zone de « non-caractères » U+FDD0 à U+FDEF, ainsi il n’y a rien à recompiler. Mais pour une disposition que tu veux faire intégrer d’origine, il faut faire plus propre et obtenir un symbole « virtuel » dédié, d’une part pour que ce soit compréhensible (le symbole se voit affecter un nom relativement significatif), d’autre part pour éviter tout risque de télescopage avec un autre usage.

Il doit certainement exister un script pour automatiser tout le processus de mise en 
place lors de l’installation d’une nouvelle disposition téléchargée sur internet, comme 
ce sera le cas du bépo 1.1 pendant un temps assez long (selon les informations ci-
dessous), afin qu’il suffise à l’utilisateur de faire l’équivalent d’un double-clic sur un 
setup.exe.

J’en connais bien un, mais il ne prend pas (encore) en charge la question du Compose (par contre, il prend en charge un aspect que je n’ai pas encore mentionné : la déclaration d’une disposition dans les fichiers /usr/share/X11/xkb/rules/*.xml et *.lst, nécessaire pour que les préférences clavier des environnements graphiques connaissent la disposition et donc la proposent), et ce n’est pas vraiment le Bépo qu’il installe (d’un autre côté, il est installé d’origine)… ;-) Mais il est libre. (Attention, lancé sans options, il charge la disposition Béop immédiatement !)

Pour le reste, il fonctionne sur la plupart des distributions Linux (à l’exception de NixOS, très particulière), les systèmes BSD libres les plus connus (peut-être à l’exception d’un, non testé parce que trop pénible à l’installation), OpenIndiana (peut-être à retester)…

Une partie importante de sa complexité est due au fait qu’il gère plusieurs versions, variantes et options ; pour une seule version et pas de variante, il y aurait moyen de simplifier.

Il n’est pas clair quelles réflexions menées sur les différents projets ont 
conduit à faire l’impasse sur la personnalisation des dispositions de clavier, 
car fournir toute disposition ayant émergé à un moment de l’histoire afin 
de garantir une prise en charge maximale de toutes les préférences utilisateurs,
mais en même temps compliquer la personnalisation de l’interface.

Au contraire, personnaliser, c’est assez simple (faire intégrer ta disposition d’origine, c’est plus compliqué).

Sous X.org, si tu es administrateur, tu peux directement modifier les dispositions d’origine (présentes sous forme de fichiers texte lisibles, pas de fichiers compilés), et si tu ne l’es pas, il intègre xkbcomp (installé par défaut sur la plupart des distributions), qui te permet de charger ta disposition personnelle, reprenant la même syntaxe que les dispositions intégrées.

Si tu veux faire une disposition personnalisée sous Windows, il te faut trouver et télécharger un logiciel spécifique (parmi plusieurs, avec des syntaxes et des limitations différentes), et il faut être administrateur système pour installer la disposition produite.
Pour une disposition utilisable sur une machine sur laquelle on n’est pas administrateur, il faut se tourner vers d’autres outils, AutoHotKey ou PKL, avec d’autres syntaxes, mais il fonctionnent en interceptant les évènements clavier et sur une machine très chargée ou une machine virtuelle, ça peut être un peu lent, voire parfois rater (déjà vu).

Bon, sous X.org, la production de plusieurs symboles avec une seule touche est moins simple. Mais sous Windows, c’est la modification des modificatrices qui pose souci.

On voit sur 
internet des gens se plaindre de l’absence de documentation, et même si 
plusieurs bonnes âmes en ont créé et partagé une, cela reste incomplet et 
compliqué, un vrai truc d’initiés.

Tant que tu veux faire quelque chose de courant, c’est assez simple (même sans doc, tu peux t’inspirer d’une autre disposition déjà présente sur ton système). Quand tu veux faire quelque chose que presque personne ne fait, il se peut aussi que personne ne l’ai documenté (tu t’aventures en terrain non cartographié)…

Rien que produire plusieurs caractères pour une frappe, ça n’a longtemps pas été une attente forte. La décision récente d’Unicode d’implémenter plutôt des émojis que les caractères accentués précomposés pour certaines langues (de pauvres…) change la donne, mais maintenant, à moins de proposer un patch soi-même, il va probablement falloir attendre pour que ce soit pris en compte.

Je ne sais pas si c’est mieux au niveau de la doc dans le monde Windows (enfin quand j’ai cherché de la doc sur PKL, je n’ai pas trouvé grand chose de terrible, mais c’est peut-être différent pour d’autres logiciels), je ne m’y repère pas bien. Si tu as les liens vers les logiciels nécessaires pour Windows (j’ai parfois du mal à les retrouver ; enfin j’aurais peut-être intérêt à faire directement une version en C pour éviter les limitations de MSKLC ou autres) et de la doc, ça m’intéresse. J’ai l’intention (depuis un certain temps…) de faire une version Windows de ma disposition.

Dans ces conditions, pourquoi Apple et Microsoft galèreraient-ils pour 
fournir nativement toute disposition de clavier ayant acquis une existence, 
au risque d’en oublier et de ne pas être à jour de versions ?

Ne serait-ce que parce que le possesseur d’un clavier marqué Bépo qui fait le premier démarrage de sa nouvelle unité centrale avec Windows, et à qui on demande de rentrer des renseignements et pire un mot de passe dans une autre disposition, a sûrement un grand moment de solitude…
C’est vrai que c’est moins grave pour les dispositions qui n’ont pas de clavier physique dédié : l’utilisateur a forcément une autre disposition marquée sur son clavier qu’il peut utiliser en regardant les touches.

La philosophie de Linux ne semble pas du tout la même. Ils ont l’air de 
vouloir tout contrôler, tout valider en groupe de travail, ce qui les conduit
à mettre en boutique tout ce qui a une existence publique ou historique, 
sans doute dans l’idée que c’est le summum du service à l’utilisateur.

En fait, Linux, c’est juste le noyau du système. Ses développeurs ne contrôlent pas ce qui en est fait (Google a même fait Android avec…). Ce que tu installes, c’est une distribution, qui intègre différents logiciels afin de fournir un système utilisable d’origine. Et différentes distributions font éventuellement différents choix… ou pas : la plupart des distributions généralistes font le choix d’intégrer d’origine au moins un navigateur, un traitement de texte… Mais tu n’es pas obligé d’en utiliser une, tu peux construire tout ton système toi-même (mieux vaut avoir du temps)…

X.org est un projet indépendant, d’ailleurs il est aussi utilisé par les systèmes BSD libres et il me semble même des systèmes Unix commerciaux comme Solaris (qui ont éventuellement coulé depuis, cela dit).

Même la X Keyboard Configuration Database est un projet autonome, pour des raisons historiques (d’ailleurs, la page présente toujours le projet dans le contexte de l’époque de sa création) : à une époque, X.org cohabitait avec XFree86, voire des serveurs X commerciaux et chacun n’avait typiquement pas toutes les dispositions ou pas dans la version la plus à jour ; des personnes ont décidé de rassembler les différentes dispositions dans un projet commun, utilisable avec les différents serveurs X (au moins XFree86 et X.org).

En fait ils (les développeurs d’environnements graphiques qui réinventent
la roue) paraissent être arrivés à la même conclusion que moi quant à 
l’utilisabilité du compose d’x.org, à moins qu’ils fassent double emploi.
Face à la nécessité d’inclure des règles de composition pour tous les
exposants et indices d’Unicode, changer plusieurs roues au carosse 
en essayant d’en réinventer au mieux me paraît la meilleure option.

D’expérience, c’est l’inverse. Les règles de composition de Gtk sont moins à jour et pas configurables par l’utilisateur (pas de prise en charge du fichier .XCompose ni d’aucun autre mécanisme pour des règles personnalisées). Une vraie plaie !
D’où l’explication sur le Wiki sur comment configurer Gtk pour utiliser le Compose de X.

Pourvu que les grand·e·s perdant·e·s de la realpolitik ne soient pas 
les utilisat·eu·r·ice·s…

Globalement, avec un projet dédié pour regrouper les dispositions, ils ont plutôt été gagnants. Avant cela, la disposition dite fr-latin9 (l’ancêtre de fr-oss, qui donnait déjà accès aux majuscules accentuées par combinaison de touches, par exemple Maj+AltGr+é → É) avait existé pendant plusieurs années avant d’être intégrée à X. Depuis que les dispositions sont gérées par un projet dédié, c’est plus rapide (ça a mis moins de temps pour fr-oss et le Bépo). Et les développeurs de X.org ont pu quant à eux se concentrer sur le cœur de leur projet.

C’est un peu plus compliqué pour les développeurs de dispositions « compliquées » (ceux qui veulent produire plusieurs symboles avec une touche ou veulent de nouvelles touches mortes), qui ont affaire à deux groupes de développeurs pour faire intégrer leur disposition. Mais c’est surtout que pour l’ajout d’un nouveau symbole, on a affaire aux développeurs de X.org, qui ont d’autres priorités que les dispositions (actuellement, ils développent Wayland, le remplaçant de X.org).

La possibilité de pouvoir produire directement plusieurs symboles fait partie des espoirs pour XKB 2 (XKB, c’est la partie qui gère les entrées clavier ; elle a été rendue autonome par rapport à X.org pour pouvoir être utilisée aussi par Wayland), mais rien n’indique que celui-ci avance plus vite que la version 2 du Bépo…

Enfin comme quoi, tu n’es pas le seul à avoir cette attente.
-- 
Laurent
http://beop.free.fr/


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/