Matériel

2. Clavier programmable

Pourquoi ?

Un problème...

Mes objectifs principaux, en cours et en épreuve, sont :

  1. Être assez rapide pour ne pas être trop pénalisé sur l'ordinateur,
  2. Ne pas consacrer trop d'énergie et de concentration à la mise en page, notamment à la mémorisation tous les raccourcis de symboles mathématiques.

Ne par remplir ces deux objectifs, c'est être trop lent pour prendre le cours en direct et être trop déconcentré en DS pour réfléchir correctement. Ils sont donc fondamentaux.

... une solution

Utiliser un clavier programmable. C'est un clavier en plus de votre clavier principal qui vous permet, à l'aide d'un logiciel, d'associer à chacune de ses touches une série d'actions de votre choix.

Au lieu d'apprendre et devoir refaire la série de touches à taper pour insérer un vecteur, une somme, une limite etc..., il vous suffit de la programmer dans ce qu'on appelle une macro (une série de touches), et de l'assigner à une des touches de votre clavier secondaire. À chaque fois que vous pressez cette unique touche de votre clavier programmable, toute la série est réalisée et le symbole complexe est inséré.

Photo de mon clavier

Voici une photo de mon clavier programmable : j'ai collé sur chaque touche une étiquette du symbole qu'elle permet d'insérer.

Le modèle de mon clavier est le Drevo Blademaster TE88K.

J'utilise mon clavier en mode "portrait" à gauche de mon ordinateur.

Quels raccourcis sont programmés sur les touches de mon clavier ?

Pour décider si un raccourci vaut la peine d'avoir sa propre macro, il faut :

  1. Qu'il soit assez long ou pénible à taper,
  2. Qu'il soit utilisé assez souvent.

Je vais vous expliquer ce que fait chacune des touches de mon clavier programmable (par colonne de gauche à droite et de bas en haut). Cela vous donnera une idée des actions sur lesquelles vous pouvez gagner du temps et de la concentration.

Les raccourcis programmés dans mon clavier correspondent à ceux de l'application TeXmacs, que j'utilise en cours, TD, composition, pour les maths et la physique. À côté du descriptif de chaque touche, je vais vous indiquer ce qu'il aurait fallu taper dans TeXmacs pour obtenir le même résultat. Cela vous aidera pour paramétrer le clavier programmable. Cela peut également vous permettre d'apprendre des raccourcis TeXmacs supplémentaires (voir la liste de tous les raccourcis TeXmacs).

Attention : les raccourcis suivis du caractère "◉" ne fonctionnent qu'avec mes macros TeXmacs chargées dans un fichier style (si vous ne comprennez rien, lisez la page sur les macros TeXmacs).

Pour les raccourcis, un + signifie qu'il faut presser les deux touches en même temps, alors qu'un espace signifie qu'il faut les presser consécutivement

Touche
Description de la touche
Raccourci clavier correspondant
Déf
Insérer une définition
\definition {entrée}
Prop
Insérer une proposition
\proposition {entrée}
Dém
Insérer une démonstration
\proof {entrée}
Ex
Insérer un exemple
\example {entrée}
Rq
Insérer une remarque
\remark {entrée}
Q
Insérer une question
\question {entrée}
⟨\r⟩Q
Insérer une question en réinitialisant la numérotation
\reset-question {entrée} \question {entrée}
Exo
Insérer un exercice
\exercise {entrée}{entrée}
Py
Insérer un environnement Python
\py {entrée} ◉
En
Encadrer
\enc {entrée} ◉
Blo
Encadrer sur plusieurs lignes
\blo {entrée} ◉
Grd
Convertir le symbole mathématique en grand symbole mathématique
il faut faire celui-là avec AutoHotkey
S.P.
Insérer un saut de page
\pagebreak {entrée}
S1
Insérer un Titre 1
{Alt}+{Shift}+1
S2
Insérer un Titre 2
{Alt}+{Shift}+2
S3
Insérer un Titre 3
{Alt}+{Shift}+3
Touche
Description de la touche
Raccourci clavier correspondant
alpha
Alpha
a {Tab}
beta
Beta
b {Tab}
gamma
Gamma
g {Tab}
lambda
Lambda
l {Tab}
mu
Mu
m {Tab}
thêta
Thêta
j {Tab}
epsilon
Epsilon
e {Tab}
l cursive
l cursive
F7 l
phi
Phi
f {Tab}
delta
Delta
d {Tab}
oméga majuscule
Oméga majuscule
D {Tab}
oméga
Oméga
w {Tab}
c cursive
C cursive (fonctions C1...)
\C {entrée} ◉
b cursive
B cursive
F7 B
indice 0
Insérer un 0 en indice
_ 0 {→}
partie entière
Partie entière (inférieure)
| .
existe
Symbole "existe"
E {Tab} {Tab}
Touche
Description de la touche
Raccourci clavier correspondant
norme
Insérer une norme
| |
barre dessous
Barre dessous
{Alt} + _
barre fessus
Barre dessus (conjugué...)
{Alt} + -
indice +
Insérer un + en indice
_ + {→}
exposant *
Insérer une * en exposant
^ * {Tab} {Tab} {→}
point dérivée
Point pour la dérivée en mécanique
{Alt} + .
point point dérivée
Point pour la dérivée seconde en mécanique
{Alt} + "
dérivée droite
Dérivée droite
\der {entrée} ◉
d droit
d droit pour la différentielle
d {Tab} {Tab}
encadré
Dérivée partielle
\deo {entrée} ◉
d rond
d rond pour la dérivée partielle
d {Tab} {Tab} {Tab} {Tab}
vecteur
Insérer un vecteur
{Alt}+{Shift}+V
vecteur unitaire
Insérer un vecteur unitaire
{Alt}+{Shift}+V u _
accolade
Insérer une accolade avec texte en dessous
\acc {entrée} ◉
tilde
Tilde
~ {Alt} + b
chapeau
Chapeau
^ {Alt} + b
équivalent
Symbole équivalent
\sim {entrée}
Touche
Description de la touche
Raccourci clavier correspondant
composée
Symbole "composée"
@
flèche ensembles
Flèche de définition de fonction (ensembles)
-->
flèche variables
Flèche de définition de fonction (variables)
|-->
func
Insérer une définition de fonction
\fn {entrée} ◉
grande somme série
Insérer une grande somme seule (pour les séries)
\gs {entrée} ◉
grande somme
Insérer une grande somme
{Alt}+a+b {Maj}+F5+S {←} {↓}
intégrale
Insérer une intégrale
{Maj}+F5+I ^ {←} _
grand produit
Insérer un grand produit
{Alt}+a+b {Maj}+F5+P {←} {↓}
égalité x tend vers
Égalité lorsque x tend vers...
{Alt}+b = {←} {↓}
équivalent x tend vers
Équivalent lorsque x tend vers...
{Alt}+b \sim {entrée} {←} {↓}
limite x tend vers
Limite lorsque x tend vers...
{Alt}+b --> {←} {↓} -> {←}
limite x tend vers
Limite lorsque x tend vers... (avec x>...)
{Alt}+b+b --> {←} {↓} -> {←} {↓}
infini
Symbole "infini"
@ @
Touche
Description de la touche
Raccourci clavier correspondant
point multiplication
Symbole point de multiplication ou de produit scalaire
* {Tab} {Tab} {Tab}
produit scalaire
Produit scalaire
\ps1 (ou \ps2) {entrée} ◉
virgule grand espace
Insérer une virgule avec grand espace
, {Alt}+$ {espace} {espace} {espace} {→}
orthogonal
Symbole "orthogonal"
T {Tab} {Tab} {Tab}
transposée
Transposée (matrices)
{Alt}+l+^ t {→}
grande union
Insérer une grande union
{Alt}+a+b {Maj}+F5+U {←} {↓}
grande intersection
Insérer une grande intersection
{Alt}+a+b {Maj}+F5+N {←} {↓}
matrice
Insérer une matrice
{Alt}+T {Tab}
petite union
Symbole "petite union"
% {Tab}
petite intersection
Symbole "petite intersection"
& {Tab}
inclus
Symbole "inclus"
< {Tab}
backslash
Symbole "restreint"
\ {Tab}
barre verticale
Symbole "barre verticale" (définition par compréhension)
\eb {entrée} ◉
Touche
Description de la touche
Raccourci clavier correspondant
pour tout
Symbole "pour tout"
A {Tab} {Tab}
appartient
Symbole "appartient"
E {Tab} {Tab}
virgule petit espace
Insérer une virgule avec petit espace
\example {entrée}
fraction
Insérer une fraction
{Alt}+f ou {Alt}+f {Tab} {Tab} (grande)
équivalent
Symbole "équivalent"
< = = >
implication
Symbole "implication"
= = >
produit cartésien
Symbole "produit cartésien"
* {Tab}
équations accolades
Équations entre accolades
{Alt}+t {Tab} {Tab} {Tab} {Tab}
flèche bas
Flèche bas
- > {Tab}
flèche droite
Flèche droite
- >
flèche haut
Flèche haut
- > {Tab} {Tab}
flèche gauche
Flèche gauche
< -

Comment ça marche ?

Acheter le bon clavier "programmable"

Quel que soit la marque et le modèle du clavier que vous choisissez, il faut que celui-ci soit réellement 100% programmable. C'est le cas de certains (attention, pas tous !) claviers gamers, donc vous pouvez chercher du côté de Corsair, CoolerMaster, Roccat...

Voici les points à vérifier pour choisir le bon clavier :

  • Avant d'acheter un clavier qui se veut programmable, vérifiez bien que toutes les touches sont reprogrammables (souvent, il n'y en a que quelques unes) et en même temps (sur certains claviers on ne peut reprogrammer que 12 touches quelconques en même temps, pas plus).
  • Vérifiez également que le clavier que vous avez commandé est AZERTY, sinon cela peut poser problème lors de la reprogrammation.
  • Je vous conseille finalement un clavier 88 touches (dit TKL = tenkeyless, sans pavé numérique) ou plus, pour avoir la place de mettre beaucoup de raccourcis et ne pas être limité avec le temps (mieux vaut en avoir trop que pas assez).
  • Si vous avez le choix, optez pour des switchs (les commutateurs sous les touches) de modèle rouge ou marron (surtout pas bleu) : ce sont les plus silencieux, donc les plus adaptés pour l'utilisation en classe.
  • Finalement, choisissez si possible une marque connue et bien établie, ce qui augmentera les chances que le logiciel fourni avec le clavier pour le reprogrammer soit de bonne qualité et mis à jour dans le temps.

Personellement, j'ai acheté le clavier Drevo Blademaster TE88K. Il remplit tous les critères que j'ai donné ci-dessus, sauf d'avoir une marque connue et bien établie. En effet, Drevo ressemble plus à une startup et leur logiciel n'est pas très au point. De nombreux bugs m'ont fait perdre beaucoup de temps, donc ce n'est pas un clavier que je recommanderai les yeux fermés. En attendant, je n'ai pas trouvé de meilleur remplacement...

Qu'est-ce qu'une macro ?

Une macro est une série d'instructions que l'ordinateur éxécute à votre place lorsque vous pressez une touche de votre choix.

Une instruction peut être :

  • Une touche du clavier ("a", "P", "Entrée"...) ;
  • Une application de votre choix à ouvrir...

Ainsi, quand vous pressez une touche reprogrammée, l'ordinateur "simule" la pression d'une série de touches virtuelles (jusqu'à 50 !), dans l'ordre que vous lui avez instruit, en une fraction de seconde.

En général, les macros sont utilisées par les gamers ou les créatifs pour accélérer leurs tâches répétitives, ce qui explique que la majorité des claviers programmables sont des claviers gamers...

Voilà une courte vidéo (en anglais, désolé...) qui explique rapidement le fonctionnement des macros :

Comment reprogrammer son clavier ?

Utiliser le logiciel fourni avec le clavier

Les claviers programmables sont toujours accompagnés d'un logiciel de personnalisation à télécharger sur le site du frabricant. Il vous permet de programmer chacune des touches individuellement.

En général, la méthode de reprogrammation d'une touche est la suivante :

  1. Créez une nouvelle macro
  2. Lancez l'enregistrement de cette macro
  3. Effectuez la série de touches que vous souhaitez que la macro réalise sur votre clavier principal (celui de la Surface par exemple)
  4. Terminez l'enregistrement
  5. Assignez cette macro à la touche que vous voulez reprogrammer sur votre 2ème clavier
  6. Testez immédiatement la touche nouvellement programmée

Vous pouvez regarder des tutos spécifiques à l'application de votre clavier sur internet.

fenêtre de Drevo Power Console

Fenêtre de l'application Drevo Power Console.

L'interface permet de consulter les macros déjà enregistrées et d'en enregistrer de nouvelles.

A gauche : la liste des macros existantes et les paramètres d'enregistrement.

A droite : l'enchaînement de touches que l'application simule lors de l'éxecution de la macro "inclusion".

Relooker son clavier

Une fois que vous avez reprogrammé les touches de votre clavier, je vous conseille de coller une étiquette sur chaque touche indiquant l'action qu'elle effectue. Pour cela :

  • Achetez des étiquettes de taille A4 sur lesquelles on peut imprimer (exemple)
  • Achetez un poinçon pour découper les étiquettes facilement et directement dans la bonne taille (exemple), mais des ciseaux peuvent suffire
  • Réalisez le plan de votre clavier sur un fichier TeXmacs (pour savoir comment faire, voir la page dédiée à TeXmacs), et imprimez-le.
    Un plan modèle de mon clavier est téléchargeable ci-dessous, vous pouvez le modifier pour qu'il corresponde au vôtre :
  • Collez une bande de scotch transparent sur chaque colonne de caractères, directement sur la feuille que vous venez d'imprimer. Cela fera office de "revêtement plastifié" sur le dessus des étiquettes que vous collerez sur les touches.
  • Découpez les étiquettes unes à unes avec le poinçon, puis collez-les sur les touches correspondantes.

Parenthèse supplémentaire : l'utilisation d'AutoHotkey

Parfois, le logiciel constructeur fourni avec le clavier ne vous permet pas de faire tout ce que vous voulez. Par exemple :

  • Une macro qui déplace votre souris,
  • Une gestion très fine du délai entre les touches simulées,
  • Ou bien si le logiciel constructeur est buggé, ou ne restitue pas bien une séquence de touches assez complexe.

Le logiciel opensource AutoHotkey vous permet alors de coder des macros plus longues et de les exécuter avec plus de précision et de fiabilité. Il est donc possible (parfois nécessaire) de l'utiliser pour certaines macros.

Cependant, ce logiciel permet de faire beaucoup d'autres choses et est donc un peu compliqué. Il fonctionne également en langage de programmation, c'est-à-dire qu'un fichier de code (appelé script) sert à définir vos macros.

Dans quels cas ai-je besoin d'installer et d'utiliser AutoHotkey ?

  • Cas n°1 : Si je veux assigner une macro à une touche de mon clavier principal (un raccourci pour faire une capture d'écran en 1 clic par exemple).
  • Cas n°2 : Si le logiciel constructeur de mon clavier programmable est buggé, et que certaines macros complexes que j'ai enregistrées ne donnent pas le bon résultat quand je les exécute.

Pour installer et utiliser AutoHotkey :

  • Il vous faut d'abord un ordinateur Windows
  • Téléchargez la distribution AutoHotkey
  • Installez ce logiciel juste après avoir installé AutoHotkey. Il est extrêmement pratique pour l'édition et l'exécution de vos scripts
  • Lisez ce tutoriel pour débutant en diagonale

Écrire une macro en langage AutoHotkey : exemple

Je souhaite que faire une capture d'écran rectangulaire en une touche. Le raccourci prévu par Windows est Win+Maj+S. Il faudra alors taper les lignes suivantes dans le script :

F8::

Send #+s

return

F8 sera la touche qui déclenchera la macro. Les "::" signifie "à cette touche est assignée la séquence suivante". La commande "Send" sert à indiquer les touches dont la frappe va être simulée. "#" renvoie à la touche Windows et "+" à la touche Maj. Le mot "return" doit être écrit à la fin de chaque définition de macro.

Remarque : "Sleep X" (non utilisé ici) permet d'ajouter un délai de X millisecondes.

Mon script AutoHotkey

Je vous mets mon fichier script AutoHotkey à disposition pour vous aider à vous lancer à partir d'exemples. Il fait tourner des macros supplémentaires sur mon ordinateur, ainsi que des macros qui ne fonctionnent pas bien avec DrevoPowerConsole.

Remarque sur le remapping des touches

En ce qui concerne le cas n°1 :

Si je souhaite remplacer une touche de mon clavier principal par une macro de mon choix, je suis obligé d'utiliser AutoHotkey. Dans l'exemple ci-dessus, je vous montre d'ailleurs comment remplacer la touche F8 de mon clavier Surface pour faire une capture d'écran.

En ce qui concerne le cas n°2 :

Si le logiciel de programmation du clavier est buggé ou ne retranscrit pas bien la macro (schéma classique), vous devez également utiliser AutoHotkey pour contourner le problème (schéma avec intermédiaire).

Le côté délicat de la manoeuvre est alors de lier la macro AutoHotkey à une touche du clavier programmable. Par exemple, si vous voulez lier votre macro à la touche "A" du clavier programmable, vous ne pouvez pas juste définir la macro AutoHotkey avec "A::", car la touche "A" de votre clavier principal sera aussi affectée. Il faut alors passer par une touche "fictive" qui servira d'intermédiaire :

Schéma du remapping

Plutôt que d'assigner directement la macro AutoHotkey à la touche désirée du clavier programmable (ici "A"), il faut l'assigner à une touche intermédiaire fictive. Il faut ensuite aller dans le logiciel de programmation du clavier, pour assigner à la touche "A" notre touche intermédiaire fictive.

Pour les touches fictives, on peut utiliser les touches F13 à F20, en général absentes de tous les claviers mais reconnues par Windows. Si toutes les touches F... imaginaires sont utilisées, il est toujours possible d'utiliser la même méthode en remplaçant la touche F... par un raccourci à 3 touches que vous ne ferez jamais (comme Alt+Maj+[n'importe quelle lettre de l'alphabet]) ce qui vous donne 26 raccourcis supplémentaires à utiliser. C'est d'ailleurs ce que j'ai fait dans mon script.

Exécuter et modifier vos scripts au quotidien

Il est très pratique que son script se lance automatiquement au démarrage de Windows. Pour ce faire :

  • Créez un raccourci vers votre fichier script (faîtes un clic droit sur le fichier script ".ahk", et sélectionnez "Créer un raccourci").
  • Tapez Win+R depuis n'importe quelle fenêtre, puis dans la boîte de dialogue qui s'ouvre écrivez "%appdata%" puis cliquez sur "OK".
  • Allez dans les répertoires Microsoft → Windows → Menu Démarrer → Programmes → Démarrage.
  • Coupez/coller le raccourci de votre script ".ahk" dans le dossier "Démarrage".

Sinon, pour exécuter votre script manuellement, double-cliquez sur le fichier ".ahk". Une fois exécuté, aucune fenêtre ne s'ouvre mais vous devriez voir une icône "H" en bas à droite dans la barre des tâches.

Pour modifier votre script, faîtes un clic droit sur ce "H" et sélectionnez "Edit This Script". Si jamais vos macros AutoHotkey ne fonctionnent pas bien, vous pouvez également redémarrer le script en faisant un clic droit sur le "H" suivi de "Reload This Script".

Conclusion sur le clavier programmable

Mon clavier secondaire est l'outil qui m'a permis de gagner le plus de temps au cours de ma prépa.

C'est lui qui m'a permis d'être assez rapide pour prendre mon cours en direct en sciences. C'est également lui qui m'a permis de mieux me concentrer en DS et aux concours, et de moins être distrait par la mise en forme et les raccourcis clavier.

C'est un accessoire qui prend beaucoup de temps à configurer, et qui parfois ne fonctionne pas pour des raisons inexpliquées. Mais je vous l'assure, cela vaut infiniment le gain de temps, d'efficacité et d'autonomie qu'il vous garantira.