Utilisateur:Fauve/Polyglyphe
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. Poséidon 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 Poséidon, affin d’être identifiée comme telle est délimitée par des guillemets français sans espace insécable soit : “«séquence»”.
Poséidon désigne les touches alphanumériques par le caractère que renvoient celle-ci lorsque le verrouillage majuscule est activé, car Poséidon est sensible à la casse. Ainsi, la touche « a » est désignée par le caractère «A» ; la touche « / » (sous bépo) est désignée par «9» ; la touche « $ » (sous bépo) est désignée par «#» ; Quand la touche « & » (de l’AZERTY cette fois-ci) est désignée par «1».
Pour les touches « spéciales » (C’est à dire autres qu’alphanumériques), Poséidon 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 de Poséidon. Le cas typique d’une telle lacune est la touche clavier bépoAlt Gr pour laquelle Poséidon attribue la notation «⎇gr». Le cas des touches des touches de fonction est traité plus 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 Poséidon accorde un symbole par touche.
Dés lors, en Poséidon, 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é).
Avec ce système, on peut donc séquencer toute possibilité de frape comme par exemple la séquence suivante :
«j'écris␣dans␣vim␣sur␣le␣TTY1␣puis␣je␣passe␣au␣mode␣visuel⎋iet␣repasse␣au␣mode␣d'insertion␣avant␣de␣me␣rendre␣à␣un␣autre␣TTY⎈(⌥(F4))fove49⏎monMotDePasseJeNelecriraisPasIci;)⏎vi↹⏎i⌘cccp⎋:wq»
Ce qui veux dire littéralement que :
l'utilisateur a écrit "j'écris dans vim sur le TTY1 puis je passe au mode visuel" puis il a appuyé sur la touche {{t|echap}} (⎋), 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 {{t|Ctrl}}+{{t|Alt}}+{{t|FA}} ou plutôt « ⎈(⌥(F4)) », là il a écrit "fove49" puis il a taper "Entrée", puis il a taper "monMotDePasseJeNelecriraisPasIci;)" suivit d'{{t|Entrée}}, puis il a écrit "vi", suivit de {{t|tabulation}} et {{t|Entrée}}, puis il a taper la lettre "i", suivit de la touche {{t|compose}} "⌘" suivie des lettres CCCP, puis echap, puis deux point puis les lettres wq
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 à Poséidon
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 Poséidon en ASCII
clavier bépo⎇gr = clavier bépoAlt GR
Chronométrage
Pour des besoin, particulier de statistique ou de précision, la notation Poséidon 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 crochés, 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 seconds crochets 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 ⌥.
Séquence des keycodes
Une autre fonctionnalité sous-jascente de Poséidon 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 Poséidon 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 Poséidon… ce qui est loin d’être toujours acquis. C’est pourquoi, dans ces cas la, les pictogrammes sont substitués par les mentions traditionnelle délimités par des chevrons « < » et « > ».
«⎈» deviendra «<Ctrl>» et par voie de conséquence «⎈(⌥(L))» deviendra «<Ctrl>(<Alt>(L))». De toute évidence, Poséidon étant un langage formel il est facile d’automatiser la conversion d’une séquence Poséidon vers un autre format.
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 Poséidon que la manière de décrire, avec le langage Poséidon, les différentes possibilité que l'on a, sachant que le détaille des possibilités est toujours éxprimé entre accolades.
Par exemple 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 relâchée aucune dés qu’elle est enfoncée, on utilisera des parenthèses à l'intérieur des accolade : «{(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 accolades : «{P|B}» ou «{P|B|C|D}».
Moyens d'écrire une séquence Poséidon
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 Poséidon « ⌨ ».
Possibilité offertes par Poséidon
L'intérêt évident de Poséidon 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 à "Poséidon" 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 Poséidon 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.