Utilisateur:Fauve/Polyglyphe

De Disposition de clavier bépo

Polyglyphe (Anciennement Poséidon) est un langage formel permettant de décrire une suite de touche tapées de quelque manière que ce soit en rendant compte des combinaisons de touches, à ce titre, il présente une alternative à la traditionnelle forme « clavier bépoCtrl+clavier bépoAlt+clavier bépoL » en dépassant ses limites. Polyglyphe ce veut donc simple à comprendre à la lecture. Il s’agit donc d’une notation de keylogger.

J'ai créé ce langage de toute pièce car jusque là il n'y avait aucun autre qui permettait manière précise, simple, sans équivoque et universelle de décrire quelles touches il faut taper et dans quel ordre, ou sinon la très rudimentaire forme "Ctrl+ALt+X", qui avait beaucoup de limites.

Principe de base

D’abord, toute séquence Polyglyphe, affin d’être identifiée comme telle est délimitée par des guillemets français sans espace insécable soit : “«séquence»”.


Polyglyphe désigne les touches alphanumériques par le caractère que renvoient celle-ci en accès direct, car Polyglyphe est sensible à la casse, donc chaque touche alphabétique est représenté par son caractère munuscule, les lettres majuscules étant résérvée à un autre usage. Ainsi, la touche « a » est désignée par le caractère «a» mais pas le caractère «A».

Pour les touches « spéciales » (C’est à dire autres qu’alphanumériques), Polyglyphe substitue au diverses mentions « Ctrl », « Alt », « Alt Gr » et de toutes les autres touches spéciales des pictogrammes les représentant. Par exemple, nous avons respectivement, pour clavier bépoCtrl et clavier bépoAlt les symboles «⎈» et «⎇». La liste exhaustive des correspondances se trouvant plus bas. Néanmoins, comme certaines touches, pourtant importante, n’ont pas de symbole correspondant, il leur a été prévu une notation et c’est là où intervient la sensibilité à la casse sus-évoquée de Polyglyphe. Le cas typique d’une telle lacune est la touche clavier bépoAlt Gr pour laquelle Polyglyphe attribue la notation «⎇GR». Le cas des touches des touches de fonction est traité [en bas].

L'intérêt du pictogramme par rapport à la mention en toute lettre est que la mention peut prêter à confusion avec les touches des lettres qui la composent (par exemple, clavier bépoCtrl, sans la mise en forme qu'il y a dans cette page web, peut prêter à confusion avec clavier bépoC+clavier bépot+clavier bépor+clavier bépol ). D'autre part le pictogramme peut aussi labeliser la touche et est universel, se comprends quelque soit la langue de formation de l'utilisateur. L’autre argument m’ayant inciter à opter pour les pictogrammes est que ceux-ci, par la brièveté de leur glyphes sont plus lisibles qu’une suite de lettre. Donc le langage Polyglyphe accorde un symbole par touche.


Dés lors, en Polyglyphe, clavier bépoCtrl+clavier bépoAlt+clavier bépoL s'écrira simplement «⎈⌥l», ce qui veut dire littéralement « On appuie sur contrôle, puis on la lâche, on appuie sur Alt puis on la lâche, et enfin sur L que l'on lâche ».

Si, en revanche on veut décrire une « combinaison de touches » (c'est à dire que l'on veut signifier qu'une touche est maintenue pressée quand on appuie sur une autre), on mettra la touche maintenue enfoncée « en fonction ». Ainsi, pour dire « On appuie sur Ctrl que l'on maintien appuyé, puis l'on appuis sur Alt que l'on lâche (alors que Ctrl est toujours enfoncée), puis sur L que l'on lâche, avant de lâcher Ctrl » On écrira simplement «⎈(⌥l)». La touche contrôle à été mise en fonction et les touches alt et L on été mise dans la fonction de la touche contrôle. Évidement, on peut mètre une formation à l'intérieur d'une autre formation, par exemple, pour dire « On maintient Contrôle appuyée, puis on maintient Alt appuyé puis on appuie sur L et le lâchons, puis on lâche Alt et Ctrl » on aurait plutôt écrit «⎈(⌥(l))». On peut aussi dire « On appuis sur Ctrl que l'on maintien enfoncée, puis sur alt que l'on maintient enfoncée, puis on lâche Ctrl, avant d'appuyer sur L et de la lâchée puis de lâcher Alt » de la manière «⎈(⌥)(l)» (Ici la deuxième paire de parenthèse contient les touches que l'on appuis alors que ⌥ est maintenu enfoncé et que ⎈ fut déjà lâché).

Note : pour la suite, Polyglyphe prévoit le caractère « ~ » comme caractère d’échappement.


Avec ce système, on peut donc séquencer toute possibilité de frape comme par exemple les actions suivantes :

l'utilisateur a écrit « J'écris dans vim sur le TTY1 puis je passe au mode visuel » puis il a appuyé sur la touche <Échap> (⎋), puis sur la touche I et il a écrit « et repasse au mode d'insertion avant de me rendre à un autre TTY >, puis a fait un petit <Ctrl>+<Alt>+<F> ou plutôt «⎈(⌥(F4))», là il a écrit « Fauve » puis il a taper <Entrée>, puis il a taper « monMotDePasseJeNelecriraisPasIci;) » suivit <Entrée>, puis il a écrit « vi », suivit de <tabulation> et <Entrée>, puis il a taper la lettre « i », suivit de la touche <compose> (⎄) suivie des lettres « CCCP », puis <Échap>, puis deux point puis les lettres « wq »

Sont séquençables de cette façon pour bépo :

«⇧(j)'écris␣dans␣vim␣sur␣le␣⇧(tty")␣puis␣je␣passe␣au␣mode␣visuel⎋iet␣repasse␣au␣mode␣d'insertion␣avant␣de␣me␣rendre␣à␣un␣autre␣⇧(tty)⎈(⌥(F4))⇧(f)auve⏎mon⇧(m)ot⇧(d)e⇧(p)asse⇧(j)e⇧(n)elecrirais⇧(p)as⇧(i)ci⇧(,)⏎vi↹⏎i⎄cccp⎋:wq»

Remarquez que les lettres majuscules s’obtiennent par une séquence de touche qui, en Polyglyphe s’ exprimé par «⇧(x)» où x est la minuscule corréspondante à la lettre voulue.


Correspondance entre pictogramme et touche

Voici le tableau de correspondances entre les pictogrammes et les touches auxquelles ils renvoient, à savoir que ces symboles ont, pour la plus part étés standardisés par Unicode pour les touches qui leur sont associées et se trouvent sur la plage 2000 :


Principales touches

clavier bépo = clavier bépoCtrl

clavier bépo = clavier bépoRetour de Chariot

clavier bépo = clavier bépoEntrée

clavier bépo = clavier bépoCompose Claviers UNIX


clavier bépo = clavier bépoAlt

clavier bépo = clavier bépoEspace


Touches systémiques

clavier bépo = clavier bépoEsc

clavier bépo = clavier bépoPause

clavier bépo = clavier bépobreak

Principaux modificateurs

clavier bépo = clavier bépoVerr num

clavier bépo = clavier bépoMaj

clavier bépo = clavier bépoVerr Maj

clavier bépo = clavier bépo3ème niveau

clavier bépo = clavier bépoVerr 3ème niveau

Touches navigatrices

clavier bépo

clavier bépoTouches directionnelles

clavier bépo

clavier bépo


clavier bépo

clavier bépoTouches de défilement

clavier bépo

clavier bépo


Touches de saisie

clavier bépo = clavier bépoBackspace

clavier bépo = clavier bépoDel

clavier bépo = clavier bépoInser

clavier bépo = clavier bépoclear Assez rare

clavier bépo = clavier bépoImprim écr Syst


clavier bépo = clavier bépoTab

clavier bépo = clavier bépoantiTab


Touches spécifiques à Polyglyphe

clavier bépo = clavier bépoTouche de séquençage

Autre touches spécifiques

clavier bépo = clavier bépoÉjecter le média

clavier bépo = clavier bépométa Spécifique aux machines du constructeur Sun Microsystems

clavier bépo = clavier bépoOption Spécifique au clavier du constructeur Apple Inc.

clavier bépo = clavier bépoCommande Spécifique au clavier de la marque Apple Inc.

Touches désignée par plus d’un caractère

Comme Unicode ne prévoit pas de pictogramme pour toutes les touches même parmi les plus utilisées, des solutions existent et sont listée ci-dessous, dans le cas général il s’agira de délimiter une mention par des chevrons ce qui constitue aussi la méthode d’expression de Polyglyphe en ASCII.

clavier bépo⎇GR = clavier bépoAlt GR

Touches de fonction

En travaux.

Chronométrage

Pour des besoin, particulier de statistique ou de précision, la notation Polyglyphe permet aussi de définir en seconde, le temps que dure chacune des action que sont le temps de pression, le temps d’attente après pression et le temps d’attente après relâchement.


Le temps pendant lequel on maintient une touche appuyée est exprimé en seconde entre accolades, immédiatement après le pictogramme d'une touche. Par exemple «⎈{1}(⌥{1}L{2})».

Il est aussi possible de spécifier combien de temps on a attendu entre l'appuis sur une touche et l'appuis sur la touche suivante en spécifiant, entre les mêmes crochets que ci-dessus, mais après une barre verticale, ce temps là en seconde. Par exemple : «⎈{1|2}(⌥{|3}L)», remarquez que dans les secondes accolades la barre verticale n’est précédée d’aucun chiffre et est directement suivie du chiffre « 3 », cela veut tout simplement dire que le chiffre suivant immédiatement la barre vertical désigne le temps d’attente, tandis que le temps de pression est facultatif.

Enfin, le temps d’attente entre le relâchement d’une touche et la pression sur celle la succédant est définit après une deuxième barre oblique : «⎈{||1}»


En résumé voici les position des durée des différentes actions (à noté que toute son facultative, si ce n’est que le temps d’attente après relâchement qui intéresse l’utilisateur, il suffit de le faire précéder de deux barres obliques) :

«⎈{x|y|z}⌥»

x : Temps de pression de la touche ⎈.

y : Temps entre l’appuis sur la touche ⎈ et l’appuis sur la touche ⌥.

z : Temps entre le relâchement de la touche ⎈ et l’appuis sur la touche ⌥.

Soit x = y - z

Séquence des keycodes

Une autre fonctionnalité sous-jascente de Polyglyphe est de décrire, non pas les touches à taper telles qu’elles sont labélisées sur tout clavier, mais les touches à taper telles quelles sont labélisées sur une disposition donnée, il s’agit là proprement d’un alias sur le keycode. Dans ce mode, il s’agit d’avantage de la touche physique désignée par le label lui étant attribué par une disposition donnée. Cette disposition est exprimée en préambule, entre crochets, juste après les guillemets ouvrants et séparée de la séquence par une espace, de préférence insécable.

Par exemples «[azerty] truc» = «[bépo] èovx». Plus anecdotiquement «[azerty] azerty» = «[bépo] bépoè^» = «[qwerty] qwerty».

Cas des interfaces ASCII ou ne disposant pas d’Unicode

À l’origine, l’utilisation de pictogramme est le moyen le plus simple de concilier la lisibilité à un langage formel. Évidement, utiliser Polyglyphe présuppose dés lors d’avoir un terminal supportant Unicode ou tout du moins un jeux de caractère incluant tous les pictogrammes nécessaire au vocabulaire de Polyglyphe… ce qui est loin d’être toujours acquis. Pour ces raisons, deux solutions ont été pensées affin d’écrire Polyglyphe sur de tels terminaux. À l’heure qu’il est aucune de ces deux solutions ne dispose d’une prédominance sur l’autre, néanmoins, elles ont en commun le fait de substituter les pictogrammes par les mentions traditionnelle délimités par des chevrons « < » et « > », tel que «⎈» devient «<Ctrl>», la divergence portant avant tout sur la syntaxe éxprimant les combinaisons de touche.

La syntaxe par instruction

Cette syntaxe est parfaitement annalogue à la synataxe classique de polygliphe, seul les pictogrames sont substitués par des mentions en caractères ascii délimités par des chevrons. «⎈» devient «<Ctrl>» et par voie de conséquence «⎈(⌥(L))» deviendra «<Ctrl>(<Alt>(L))».

La syntaxe par balise

Cette syntaxe est bien différente de la syntaxe classique de Polygliphe et utilise des balise d’avantages à celles d’HTML ou du bbcode.

Si « X » est la mention d’une touche donnée alors l’apuis sur la dite-touche est symbolisé par «<X>» tandisque le relachement de cette touche est symbolisé par «</X>», remarquez bien le slash avant le X qui désigne bien la balise férmante de la balise ouvrante. Évidement, toute séquence se retrouvant entre ces deux balise représent tout ce qui a été tappé entre l’apuis et le relachement de la touche «X». Enfin, si X fût relachée aussitôt avoir été tappée sans qu’une autre n’est étée préssée entre temps, il n’est pas nécéssaire de lui attribuer deux balises ouvrantes et férmantes succéssives mais seulement la balise suivante «<\X>» où l’anti-slash (à ne pas confondre avec le slash de tout à l’heure) traduit justement ce cas de figure.

Détail des possibilité

Dans cette section il s'agira moins de décrire une séquence réelle telle que peut la relevé un séquenceur Polyglyphe que la manière de décrire, avec le langage Polyglyphe, les différentes possibilité que l'on a.


Conjonctions alternatives et copulatives

Il arrive que l’on veuille exprimer une liberté compte à l’ordre d’apuis de différentes touches, on utilise ainsi, soit la conjonction copulative « & » soit la conjonction alternative « | ». Dans tous les cas, les différentes touches possibles séparées par l’un des deux symboles devront êtres délimitées par des crochets.

Si l'on veut préciser qu'il faille appuyer sur la touche P et B successivement mais que l'ordre n'a pas d'importance on utilisera le symbole "&" : «[P&B]» cela veut dire que « Il faut appuyer sur l'une des touches P et B puis sur l'autre, sans préférence pour l'ordre ». Cela peut évidement ce généraliser à plus de deux lettres «[P&B&M&f]».

Si l'on veut dire qu'il faille appuyer sur la touche P et B successivement, que l'ordre n'a pas d'importance mais que, de la première à la dernière touche il ne faudra en relâchée aucune dés qu’elle est enfoncée, on utilisera des parenthèses à l'intérieur des crochets : «[(P&B)]» ou «[(P&B&C)]».

Enfin si l'on veut spécifier que seule une et une seule des touche P et B doit être enfoncée mais sans préférence pour l'une ou pour l'autre on utilisera le symbole "|" à l'intérieure des crochets : «[P|B]» ou «[P|B|C|D]».


Inconnues

Dans la suite seront présentés des caractères pouvant représenter toute touche d’un certain type, il s’agit de jokers typiques ou de variables s’ils sont affublés d’un coefficient :

Les Jokers

ℕ : Représente n’importe quel nombre entier naturel.

⇳ : l’une des deux touches «↑» ou «↓»

⬄ : l’une ou l’autre des deux touches «←» ou «→»

⇅ : l’une ou l’autre des quatre touches directionnelles

⌷ : Représente une touche quelconque

“X” : chaine d’un nombre indéfinit de touche (Le nom de cette chaine est toujours bordée par des guillemets françaises de second niveau).

Les variables

Joint d’un coefficient en exposant, tout joker devient une variable, désignant la même touche tout au long d’une séquence Polyglyphe donnée.

Par exemple : «⌷¹⌷²⌷¹» veux dire que la première et la seconde touche nommée « ⌷¹ » doivent ne correspondre qu’à une seule et unique touche alors que « ⌷² » peut en être différente. Le même principe s’étend aux autres jokers.


Quantificateur

Pour dire qu’une touche ou qu’un ensemble de touches doivent être tapées n fois il faudra mettre le nombre n suivit d’une éspace insécable et de l’ensemble de la séquence à multiplier, le tout entre crochets.

Ainsi, s’il fallait taper n fois la touche x la syntaxe serait la suivante : «[n x]»

Moyens d'écrire une séquence Polyglyphe

Jusque là me direz-vous que c'est bien beau ce système mais tous les caractères Unicode auquel il fait appel ne sont pas forcement toujours accessibles, c'est la qu'interviennent deux solutions que sont soit un programme spécifique au séquence, soit une touche/raccourci-clavier qui écrivent une séquence :

Programme de séquence

Son principe est simple, une fois le programme ouvert, il permet d'actionner un mode de séquence durant lequel on taperait au clavier la séquence même que l'on voudrait obtenir, on appuierait donc simplement sur les touche même que l'on voudrait voir apparaître dans la séquence finale et, au sortir de ce mode, le programme de séquençage fournirait la séquence correspondante a notre frape. Évidement, pendant que ce mode est activé, l'appuis sur quelque touche que ce soit n'exécute pas l'action normale de cette touche, par exemple l'appuis sur la touche clavier bépopower, n'éteint pas l'ordinateur mais ajoute cette touche à la séquence.

Touche de séquençage

Cela pourrait être aussi bien une touche ou un raccourcis clavier qui, une fois actionné(e) fait entrer l'utilisateur dans le mode de séquençage, tout comme avec le programme de séquençage. Dans ce mode ce n'est plus les actions des touches qui s'effectuent quand on appuie sur celles-ci mais c'est la séquence de frape qui s'affiche à l'écran. Pour sortir de ce mode de séquençage, il suffit de ré-appuyer sur la touche de séquençage.

Si, on revanche on veut que ce soit la touche de séquençage même qui soit séquencée il faudra appuyer dessus deux fois successives. Cette touche est notée en Polyglyphe «⌨».

Possibilité offertes par Polyglyphe

L'intérêt évident de Polyglyphe est, outre la possibilité d’exprimer sans équivoque des séquences de frappe, d’être standardisé, auquel cas, beaucoup de chose serait permises. Par exemple, on pourrait utiliser ces séquences comme des macros, ou alors un logiciel spécifique à "Polyglyphe" pourrait, au cas où on lui fournirait une séquence, exécuter celle-ci etc. D’autre part, les différents programmes informatiques reconnaîtraient les séquences Polyglyphe et prévoiraient des fonctionnalités à cet effet, tel un client de clavardage qui propose, dés qu’une séquence est détectée dans un message de reçu de l’exécutée ou de la copiée dans le presse-papier etc.



Auteur du wiki et, plus généralement, du language Polyglyphe Fauve 1 octobre 2011 à 04:16 (CEST).