Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/02/2016, à 19:44

erresse

Indicateur d'état des verrouillages du clavier

Bien sûr, je sais qu'il existe des "applets" pour remplir cette fonction, mais... Il ne sont pas toujours compatibles avec toutes les variantes et versions de *buntu, et je vois parfois des demandes qui ne sont pas satisfaites.
J'ai donc réalisé un  petit script bash de quelques lignes permettant d'afficher dans une fenêtre zenity l'état des verrouillages en l'absence des diodes correspondantes du clavier.
Le voici, je l'ai baptisé "VerClav" :

#! /bin/bash

# Affichage de l'état des touches de verrouillage du clavier

# Acquisition de l'état des verrouillages
indic=$(xset q | grep "LED mask")
indic=${indic: -1}

# Décodage des verrouillages actifs
[[ ${indic} = [1357] ]] && MajLock="True" || MajLock="False"
[[ ${indic} = [2367] ]] && NumLock="True" || NumLock="False"
[[ ${indic} = [4567] ]] && DefLock="True" || DefLock="False"

# Affichage de l'état des verrouillages
zenity --list --checklist --title "État verrouillage" --text "Touches de verrouillage actives" --height "165" --column="Coche" --column="Touche" --hide-header "${MajLock}" "Verrouillé en Majuscules" "${NumLock}" "Verrouillé en Numérique" "${DefLock}" "Défilement verrouillé"

exit 0

Récupérez le code ci-dessus et enregistrez-le dans votre dossier de scripts.
Pour l'utiliser facilement, créez-vous un lanceur (Commande : /bin/bash /home/vous/dossier_de_scripts/VerClav) que vous placerez dans la barre de lancement rapide de votre tableau de bord ou de votre dock.
D'un simple clic, vous ferez apparaître la fenêtre qui affiche l'état des trois touches verrouillables : Numérique, Majuscule et Défilement.

Dernière modification par erresse (Le 26/02/2016, à 19:46)


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#2 Le 30/03/2016, à 20:35

Bacchux

Re : Indicateur d'état des verrouillages du clavier

Bonjour,

Pour ma part, je préfère avoir en permanence l'indicateur d'état sur mon écran.
Comme je l'explique ailleurs, il est très facile de mettre sur un tableau de bord un affichage de cet état.
Il suffit pour cela d'ajouter au tableau de bord une instance de l'applet Command qui permet d'afficher la sortie d'une commande
et de donner comme commande un script bash très court, contenant deux commandes :

#!/bin/bash
MAJNUM=`xset q | grep Caps | sed -e 's/^.*Caps.*\(o[nf].\).*Num.*\(o[nf].\).*Scroll.*$/MAJ: \1 - NUM: \2/'`
echo "$MAJNUM"

# ne pas oublier de rendre ce script exécutable !!!

La première commande filtre et retraite la sortie de la commande xset q et place le résultat dans une variable.
La seconde affiche le contenu de la variable, c'est-à-dire l'état des verrous.
Illustration:
http://gja.frndz.pagesperso-orange.fr/u … majnum.jpg

Le rafraîchissement une fois par seconde est suffisant pour l’utilisateur et représente une charge négligeable pour la machine.


Modération : merci d'utiliser des images de petite taille (300x300) ou des miniatures pointant sur ces images (Des hébergeurs comme Toile Libre ou TDCT'Pix le permettent).

Dernière modification par cqfd93 (Le 30/03/2016, à 21:00)


Beatux qui prodest quibus potest
Atelier linux (Ubuntu et Suse)

Hors ligne

#3 Le 31/03/2016, à 08:50

erresse

Re : Indicateur d'état des verrouillages du clavier

Excellent !
C'est aussi une forme d'exploitation de cette commande "xset" bien utile et bien peu connue...


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#4 Le 22/02/2023, à 09:54

cdcd

Re : Indicateur d'état des verrouillages du clavier

bonjour,

vos scripts (@erresse, @Bacchux ) fonctionnent très bien, mais ça ne résout pas mon problème :
détecter la touche INS (ou Insérer)

pour mieux comprendre (@erresse) d'ou viennent les valeurs 1357, 2367, 4567

comment modifier (@Bacchux)
MAJNUM=`xset q | grep Caps | sed -e 's/^.*Caps.*\(o[nf].\).*Num.*\(o[nf].\).*Scroll.*$/MAJ: \1 - NUM: \2/'`
pour qu'il renvoie trois valeurs, par exemple :  MAJ: off - NUM: on - INS off

D'avance merci de vos réponses
Cordialement

Hors ligne

#5 Le 22/02/2023, à 09:57

sputnick

Re : Indicateur d'état des verrouillages du clavier

Déterrage de 7 ans! big_smile

Dernière modification par sputnick (Le 22/02/2023, à 09:58)


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#6 Le 22/02/2023, à 11:14

sputnick

Re : Indicateur d'état des verrouillages du clavier

Si ins est bien le scroll:

$ xset q |
       grep Caps |
       perl -pe 's/^\s+\d+:\s+\bCaps\s+Lock:\s+(on|off).*?Num\s+Lock:\s+(on|off).*?Scroll\s+Lock:\s+(on|off)/MAJ: $1 - NUM: $2 - INS: $3/'

Sortie:

MAJ: off - NUM: off - INS: off

On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#7 Le 22/02/2023, à 14:25

cdcd

Re : Indicateur d'état des verrouillages du clavier

Merci de votre réponse,

ça fonctionne, mais ça ne rend pas l'état de la touche du INS (Insérer)
soir le paramètre Scroll n'est pas bon pour la touche INS, soit elle n'est pas détectable ainsi.
Le code suivant ne reflète pas non plus l'état de la touche INS, ni ArrêtDéf, toujours off

xset q | grep Scroll

j'ai évidemment essayé xset q | grep Ins, xset q | grep Insert, ...
sans succés
Je vais continuer de chercher...
Bien cordialement

Hors ligne

#8 Le 22/02/2023, à 14:45

sputnick

Re : Indicateur d'état des verrouillages du clavier

Le touche Insertion est une touche sans effet de switch comme capslock. Pourquoi vouloir tester cette touche?


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne