Bonjour / bonsoir,
comme recommandé dans le post #15 d'un de mes précédant sujets de discussion (
lien du sujet ), j'ouvre un nouveau sujet car je me pose des questions sur une fonctionnalité implémentée dans un de mes programmes.
Contexte : dans un script, lorsque l'on laisse l'utilisateur entrer quelque chose grâce à la commande
read, ou même des fois quand on exécute des commandes
echo en boucle, si l'utilisateur est un peu bourrin et pressé, il peut avoir tendance à spammer le clavier, laissant apparaître des affichages parasites de caractères et autres à des endroits non-voulus de l'écran, ce qui est gênant. Dans le but de remédier à cela, j'avais donc décidé qu'en dehors des commandes
read, l'utilisateur ne pourrait pas entrer quoi que ce soit car le clavier serait désactivé.
Pour cela, j'ai récupéré l'identifiant du clavier et du "maître" (ou je ne sais quel autre nom lui donné) grâce à la commande
xinput.
[brice@brice-Lenovo-G505] Aventure textuelle : > xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech USB Optical Mouse id=9 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Lenovo EasyCamera: Lenovo EasyC id=10 [slave keyboard (3)]
↳ Ideapad extra buttons id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
Ces identifiants extraits grâce à la commande
grep, je les ai mis dans des variables, et grâce à la commande
xinput float $idClavier, je peux à tout moment désactiver le clavier, et grâce à la commande
xinput reattach $idClavier $idMaitre, je peux le réactiver à tout moment également.
Seulement, je ne savais pas que
Kamaris, un membre sur mon précédant sujet de discussion, ne semblait pas être affecté par ces commandes (ce qui était à prévoir) dans mon script qu'il a testé (cf. post #15).
Du coup, là est ma question : est-ce que ce genre de pratiques peut être dangereux, en terme de sécurité, ou même juste de bon fonctionnement des commandes, d'une machine à l'autre ? Si non, est-ce qu'il existe un moyen "universel" pour désactiver et réactiver le clavier à volonté d'une autre manière que la mienne, peu importe la machine ?
Merci d'avance pour avoir pris le temps de me lire. 🙂