« Utilisateur:Fauve/Polyglyphe » : différence entre les versions
(49 versions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
Poséidon est un [http://fr.wikipedia.org/wiki/Langage_formel langage formel] permettant de décrire une suite de touche | Polyglyphe (Anciennement Poséidon) est un [http://fr.wikipedia.org/wiki/Langage_formel 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 « {{t|Ctrl}}+{{t|Alt}}+{{t|L}} » en dépassant ses limites. Polyglyphe ce veut donc simple à comprendre à la lecture. Il s’agit donc d’une notation de [http://fr.wikipedia.org/wiki/Keylogger keylogger]. | ||
J'ai créé ce langage de toute pièce car jusque là il n'y avait aucun | 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 [http://fr.wikipedia.org/wiki/Sensible_à_la_casse 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». | |||
{{t| | 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 {{t|[http://fr.wikipedia.org/wiki/Touche_Ctrl Ctrl]}} et {{t|[http://fr.wikipedia.org/wiki/Touche_Alt Alt]}} les symboles «⎈» et «⎇». [[Utilisateur:Fauve/poseidon#Correspondance_entre_pictogramme_et_touche|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 {{t|[http://fr.wikipedia.org/wiki/Touche_Alt_Gr Alt Gr]}} pour laquelle Polyglyphe attribue la notation «⎇GR». Le cas des touches des [http://fr.wikipedia.org/wiki/Touche_fonction touches de fonction] est traité [[http://bepo.fr/wiki/Utilisateur:Fauve/Polyglyphe#Touches_de_fonction|plus en bas]]. | |||
{{t| | 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, {{t|Ctrl}}, sans la mise en forme qu'il y a dans cette page web, peut prêter à confusion avec {{t|C}}+{{t|t}}+{{t|r}}+{{t|l}} ). 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. | |||
{{t| | Dés lors, en Polyglyphe, {{t|Ctrl}}+{{t|Alt}}+{{t|L}} 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 : | |||
<pre>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 »</pre> | |||
Sont séquençables de cette façon pour bépo : | |||
<pre>«⇧(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»</pre> | |||
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 : | |||
{{t| | ===Principales touches=== | ||
{{t|⎈}} = {{t|[http://fr.wikipedia.org/wiki/Touche_Ctrl Ctrl]}} | |||
{{t|⏎}} = {{t|[http://fr.wikipedia.org/wiki/Touche_entrée Retour de Chariot]}} | |||
{{t|⌤}} = {{t|[http://fr.wikipedia.org/wiki/Touche_entrée Entrée]}} | |||
{{t|⎄}} = {{t|[http://fr.wikipedia.org/wiki/Touche_compose Compose]}} ''Claviers UNIX'' | |||
{{t|⎇}} = {{t|[http://fr.wikipedia.org/wiki/Touche_Alt Alt]}} | |||
{{t|␣}} = {{t|[http://fr.wikipedia.org/wiki/Barre_d'espace Espace]}} | |||
==Programme de | |||
Son principe est simple, une fois le programme ouvert, il permet d'actionner un mode de | ===Touches systémiques=== | ||
É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 {{t|power}}, n' | {{t|⎋}} = {{t|[http://fr.wikipedia.org/wiki/Touche_échap Esc]}} | ||
{{t|⎉}} = {{t|[http://fr.wikipedia.org/wiki/Touche_Pause Pause]}} | |||
{{t|⎊}} = {{t|break}} | |||
===Principaux modificateurs=== | |||
{{t|⇭}} = {{t|[http://fr.wikipedia.org/wiki/Verr_num Verr num]}} | |||
{{t|⇧}} = {{t|[http://fr.wikipedia.org/wiki/Touche_Maj Maj]}} | |||
{{t|⇪}} = {{t|[http://fr.wikipedia.org/wiki/Verrouiller_Maj Verr Maj]}} | |||
{{t|⇮}} = {{t|3ème niveau}} | |||
{{t|⇯}} = {{t|Verr 3ème niveau}} | |||
===Touches navigatrices=== | |||
{{t|←}} ⎫ | |||
{{t|↑}} ⎬ [http://fr.wikipedia.org/wiki/Touches_directionnelles Touches directionnelles] | |||
{{t|→}} ⎪ | |||
{{t|↓}} ⎭ | |||
{{t|⇞}} ⎫ | |||
{{t|⇟}} ⎬ [http://fr.wikipedia.org/wiki/Touches_de_défilement Touches de défilement] | |||
{{t|⇱}} ⎪ | |||
{{t|⇲}} ⎭ | |||
===Touches de saisie=== | |||
{{t|⌫}} = {{t|[http://fr.wikipedia.org/wiki/Backspace Backspace]}} | |||
{{t|⌦}} = {{t|[http://fr.wikipedia.org/wiki/Touche_supprimer Del]}} | |||
{{t|⎀}} = {{t|[http://fr.wikipedia.org/wiki/Touche_insertion Inser]}} | |||
{{t|⌧}} = {{t|clear}} ''Assez rare'' | |||
{{t|⎙}} = {{t|[http://fr.wikipedia.org/wiki/Touche_Impr._écran Imprim écr Syst]}} | |||
{{t|⇥}} = {{t|[http://fr.wikipedia.org/wiki/Touche_tabulation Tab]}} | |||
{{t|⇤}} = {{t|[http://fr.wikipedia.org/wiki/Touche_tabulation antiTab]}} | |||
===Touches spécifiques à Polyglyphe=== | |||
{{t|⌨}} = {{t|[[Utilisateur:Fauve/poseidon#Touche_de_s.C3.A9quen.C3.A7age|Touche de séquençage]]}} | |||
===Autre touches spécifiques=== | |||
{{t|⏏}} = {{t|Éjecter le média}} | |||
{{t|◆}} = {{t|[http://fr.wikipedia.org/wiki/Touche_méta méta]}} ''Spécifique aux machines du constructeur Sun Microsystems'' | |||
{{t|⌥}} = {{t|[http://fr.wikipedia.org/wiki/Touche_option Option]}} ''Spécifique au clavier du constructeur Apple Inc.'' | |||
{{t|⌘}} = {{t|[http://fr.wikipedia.org/wiki/Touche_commande Commande]}} ''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 [[Utilisateur:Fauve/poseidon#Cas_des_interfaces_ASCII_ou_ne_disposant_pas_d.E2.80.99Unicode|la méthode d’expression de Polyglyphe en ASCII]]. | |||
{{t|⎇GR}} = {{t|[http://fr.wikipedia.org/wiki/Touche_Alt_Gr Alt 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 [http://fr.wikipedia.org/wiki/Unicode 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 [http://fr.wikipedia.org/wiki/Touches_directionnelles quatre touches directionnelles] | |||
⌷ : Représente une [http://fr.wikipedia.org/wiki/Touche_quelconque 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 {{t|power}}, n'éteint pas l'ordinateur mais ajoute cette touche à la séquence. | |||
==Touche de séquençage== | ==Touche de séquençage== | ||
Cela pourrait être aussi bien une touche ou un raccourcis clavier qui, une fois actionné(e) fait | 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 [[Utilisateur:Fauve|Fauve]] 1 octobre 2011 à 04:16 (CEST). | |||
Dernière version du 1 octobre 2011 à 10:53
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
clavier bépo← ⎫
clavier bépo↑ ⎬ Touches directionnelles
clavier bépo→ ⎪
clavier bépo↓ ⎭
clavier bépo⇞ ⎫
clavier bépo⇟ ⎬ Touches 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).