# Vérifier le statut du pavé numérique avec un script

**URL:** <https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329>\
**Category:** Programmation\
**Created:** [Avril 1, 2021, 4:38 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329 "2021-04-01T16:38:33Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![didierf](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/e9a140/32.png) [@didierf](https://www.debian-fr.org/u/didierf)\
**Post date:** [Avril 1, 2021, 4:38 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/1 "2021-04-01T16:38:33Z")

</div>

Bonjour à tous

j’ai un clavier sans led pour afficher le statut du pavé numérique (ainsi que pour la touche majuscule)

j’avais pensé créer un fichier bash contenant :

```bash
#!/bin/bash

sudo numlockx status

```

avec comme propriété : «&nbsp;autoriser l’execution du fichier comme un programme&nbsp;»  
quand je double-clique, il me demande si je veux le lancer dans un terminal, je dis oui mais rien ne se fait

comment faire pour obtenir rapidement cette information ? (ainsi que celle des majuscules) : c’est utile pour la saisie des mots de passe où l’on ne voit pas ce qui est saisi

---

<div class="post-metadata">

**Author:** ![anon96191775](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/71c47a/32.png) [@anon96191775](https://www.debian-fr.org/u/anon96191775)\
**Post date:** [Avril 1, 2021, 8:26 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/2 "2021-04-01T20:26:21Z")

</div>

Le plus simple me semble être de tout bêtement ouvrir un terminal, et y entrer (sans le `sudo`) :

```nohighlight
numlockx status

```

Je ne suis pas sûr que le passage par un script apporte grand chose ici.

* * *

Une alternative pour avoir l’info en permanence serait d’appeler cette commande dans un [conky](https://packages.debian.org/buster/conky) ou autre outil similaire s’affichant sur le bureau.

---

<div class="post-metadata">

**Author:** ![grandtoubab](https://www.debian-fr.org/user_avatar/www.debian-fr.org/grandtoubab/32/4505_2.png) [@grandtoubab](https://www.debian-fr.org/u/grandtoubab)\
**Post date:** [Avril 2, 2021, 5:45 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/3 "2021-04-02T05:45:47Z")

</div>

Dans le monde de Gnome il existe une extension dédiée

> **[GitHub - kazysmaster/gnome-shell-extension-lockkeys: Numlock and Capslock indicator for gnome-shell](https://github.com/kazysmaster/gnome-shell-extension-lockkeys)**
>
> Numlock and Capslock indicator for gnome-shell

ça fonctionne très bien

> **[L’éternelle histoire de la touche Verr Num](https://bidouilledebian.wordpress.com/2020/11/12/leternelle-histoire-de-la-touche-verr-num/)**
>
> Si on veut saisir facilement un chiffre avec les touches du pavé numérique il faut que la touche Verr Num soit active.

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Avril 2, 2021, 7:17 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/4 "2021-04-02T19:17:01Z")

</div>

Sous Buster, j’ai trouvé kylin-display-swich, qui ne semble pas restreint au monde du Nain.  
mais pour l’activer man explique qu’ il faut faire:  
`Super_L + P/F3/F7`  
qui ressemble pour moi plus à une partie de bataille navale qu’à une commande . Je suis resté très enfant, enfin je le redeviens…

---

<div class="post-metadata">

**Author:** ![didierf](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/e9a140/32.png) [@didierf](https://www.debian-fr.org/u/didierf)\
**Post date:** [Avril 5, 2021, 2:37 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/5 "2021-04-05T14:37:04Z")

</div>

bonjour josephtux

Super correspond à la touche «&nbsp;windows&nbsp;», par contre, je ne comprend pas ce qu’il faut faire en plus

En outre, avec Raspberry Os en xfce, dès qu’on appuie sur la touche «&nbsp;super&nbsp;», le menu apparaît 'ce qui est stupide car il suffit juste de cliquer sur la framboise avec la souris pour l’activer  
donc il faudrait commencer par désactiver la touche super  
Sur Raspberry OS on peut retourner sur le bureau en cliquant sur Super+alt+D, mais c’est très difficile pour moi d’appuyer simultanément sur 3 touches avec une seule main valide (avec linuxmint cinamon amd64 il suffit d’appuyer sur super+D  
c’est pour cela que je cherche un système par clic ou en appyuant sur seulement 2 touches

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Avril 6, 2021, 10:20 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/6 "2021-04-06T10:20:41Z")

</div>

merci didierf,  
Super=touche fenêtre: je me sens un peu moins bête.

Chez moi ces combinaisons de touche mettent l’ordi en veille bizarre (écran noir), puis un écran de login graphique.

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Avril 6, 2021, 10:30 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/7 "2021-04-06T10:30:37Z")

</div>

Bonjour

J’avais bidouillé un script pour faire afficher un voyant **Num - Caps**  
à chaque fois que l’on appuie sur la touche VerNum ou VerMaj :

> [@Avoir affichage majucule numérique Xfce Debian](https://www.debian-fr.org/t/avoir-affichage-majucule-numerique-xfce-debian/82016/28):
>
> Une autre solution beaucoup plus économique, toujours pour XFCE : [Capture d’écran\_2020-05-16\_11-29-55] #!/bin/bash # # # # # # # # # # # # # # # # # # # # # # Pour faire afficher sur l'écran de XFCE # un message de notification présentant l'état # des voyants du clavier "Num" et "Cap" # # Installez le paquetage "xdotool" # en lançant la ligne de commandes suivante : # su -c "apt install xdotool" # # Depuis votre compte utilisateur, # créez un fichier nommé : # ~/.capsNumLock.sh # dan…

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Avril 9, 2021, 9:19 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/8 "2021-04-09T09:19:20Z")

</div>

Merci MicP,  
très intéressant,  
reste à rendre cet affichage permanent (avec mise à jour de l’état du clavier).  
(peut être dans une boucle while de bash)

---

<div class="post-metadata">

**Author:** ![didierf](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/e9a140/32.png) [@didierf](https://www.debian-fr.org/u/didierf)\
**Post date:** [Avril 10, 2021, 11:58 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/9 "2021-04-10T11:58:43Z")

</div>

Merci Micp pour ta réponse  
je n’ai pas pu l’étudier plus tôt à causes de problèmes familiaux  
j 'ai suivi tes instructions, mais je tombe sur un message d’erreur:

```nohighlight
notify-send command introuvable

```

je précise que je suis sur raspberry OS vers 1.4 (arm)

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Avril 10, 2021, 12:28 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/10 "2021-04-10T12:28:03Z")

</div>

Bonjour

Ce script est prévu pour fonctionner sur un système debian,  
et avec un environnement de bureau XFCE.

Mais, comme la question était posée dans la rubrique [Support debian](https://www.debian-fr.org/c/support/14)  
je n’avais pas fait attention au fait que tu utilises un système **raspberry OS vers 1.4 (arm)**  
et je ne sais pas s’il est possible d’y installer un système de notification équivalent,  
ni si les commandes **`xset`** et `xdotools` existent sur ce système.

* * *

Si **`xset`** et **`xdotools`** et **`zenity`** sont installés ton système,  
essaye en suivant les indications contenues dans les lignes commentées  
du script suivant :

```bash
#!/bin/bash

# # # # # # # # # # # # # # # # # # # # # # # # # 
# Affiche un message de notification présentant l’état
# des voyants du clavier "Num" et "Cap"
# 
# Ce script utilise les commandes suivantes :
# xdotools
# xset
# zenity
#
#
# Si nécessaire, installez le paquetage "xdotool"
# en lançant la ligne de commandes suivante :
# su -c "apt install xdotool"
#
# Depuis votre compte utilisateur,
# créez un fichier nommé :
# ~/.capsNumLock.sh
# dans lequel vous copierez
# l’intégralité de ce script.
#
# Rendez ce fichier script exécutable
# en lançant la ligne de commande suivante :
# chmod u+x ~/.capsNumLock.sh
#
# Cliquez sur "Applications" -> "Paramètres" -> "Clavier" -> Onglet "Raccourcis d'applications"
# et cliquez sur le bouton "+ Ajouter"
#
# Entrez la ligne de commande à exécuter avec son paramètre :
# /home/michel/.capsNumLock.sh Caps_Lock 
# et appuyez sur la touche "ver Maj"
#
# Entrez la ligne de commande à exécuter avec son paramètre :
# /home/michel/.capsNumLock.sh Num_Lock 
# et appuyez sur la touche "ver Num"
#
# Cliquez sur le bouton "X Fermer"
# # # # # # # # # # # # # # # # # # # # # 
#
#

tempo=2 # Durée d'affichage du message (en secondes)
ledOn="●"
ledoff="○"
labNum="Num"
labCap="Caps"

xdotool key $1
case $(($(xset q | awk 'NR==2{print $NF}')*1)) in
    0)
       num="$ledoff"
       cap="$ledoff"
       ;;
    1)
       num="$ledoff"
       cap="$ledOn"
       ;;
    2)
       num="$ledOn"
       cap="$ledoff"
       ;;
    3)
       num="$ledOn"
       cap="$ledOn"
       ;;
esac
zenity --info --title="Voyants clavier :" --text="$num $labNum
$cap $labCap" --timeout=$tempo

```

---

<div class="post-metadata">

**Author:** ![didierf](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/e9a140/32.png) [@didierf](https://www.debian-fr.org/u/didierf)\
**Post date:** [Avril 10, 2021, 5:55 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/11 "2021-04-10T17:55:04Z")

</div>

merci Micp

je venais juste d’installer emmabuntu DE4 xfce sur une machine virtuelle AMD64 pour tester et ça marchait, donc le problème venait bien du ARM

j’ai donc remplacé le script par le nouveau  
j’avais déjà installé Xdotools, Zenity était installé d’office, par contre xset n’était pas installable et éait remplacé par x11-xserver-utils, lui aussi installé d’office  
le script fonctionne. La procédure pour le mettre dans les applications est différente, mais j’ai pu le mettre en tête dès que je clique sur la framboise !  
ça fonctionne même mieux car sur emmabuntu, quand je le lance pour voir le statut, il le change, donc j’aurais du appuyer 2 fois au cas où le réglage était bon. Là, je ne fais que vérifier le statut (et je le change au besoin)  
pour moi c’est donc une bonne affaire résolue, merci beaucoup !

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Avril 10, 2021, 6:05 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/12 "2021-04-10T18:05:04Z")

</div>

Merci pour le retour 😀

Pour ceux qui passeront par là et qui auront le même type de machine que la tienne,  
ça serait bien que tu postes un petit topo  
en décrivant le contexte : les références de ta machine + le système d’exploitation utilisé,  
puis le script que tu as créé et ce que tu as fait pour qu’il fonctionne.

Merci.

---

<div class="post-metadata">

**Author:** ![didierf](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/e9a140/32.png) [@didierf](https://www.debian-fr.org/u/didierf)\
**Post date:** [Avril 10, 2021, 6:21 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/13 "2021-04-10T18:21:07Z")

</div>

c’est une bonne idée, je vais le faire, mais où poste-on un topo ? dans trucs et astuces ?

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Avril 10, 2021, 7:10 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/14 "2021-04-10T19:10:41Z")

</div>

Tu peux le poster dans ce fil de discussion,  
ne t’embête pas pour la mise en forme,  
poste les copié/collés directement dans ton prochain message  
et ne t’inquiètes pas de l’apparence que ça prendra,  
je referai la mise en forme de tes messages après.

* * *

D’autre part, la commande **`xset`** fait partie du paquetage **`x11-xserver-utils`**

---

<div class="post-metadata">

**Author:** ![didierf](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/e9a140/32.png) [@didierf](https://www.debian-fr.org/u/didierf)\
**Post date:** [Avril 11, 2021, 1:02 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/15 "2021-04-11T13:02:15Z")

</div>

# TUTORIEL

**METTRE EN PLACE DES TEMOINS DE STATUT DES TOUCHES MAJUSCULES ET PAVE NUMERIQUE**

**But recherché** : Pour les claviers ne disposant pas de leds affichant les majuscules ou le pavé numérique, créer un petit programme permettant de savoir à tout instant le statut de ces deux touches, afin de pouvoir entrer les mots de passe (caractères remplacés par des gros points) sans problème.

**Matériel utilisé** : Raspberry PI 4 modèle B rev 1,4 2GB ram

**OS** : Raspberry OS (Rasbian GNU/Linux 10 (buster) armv 7l (donc basé sur Debian)

**Gestionnaire de fichiers** : LXPanel

* * *

**Pré-requis**  
Ce script utilise les commandes suivantes :

`xdotools`, `xset` (inclus dans x11-xserver-utils), `zenity`

Si nécessaire, installez le paquetage `xdotools`  
en lançant la ligne de commandes suivante avec le terminal:

```bash
su -c "apt install xdotool"

```

(nécessite mot de passe **`root`** )

ou :

```bash
sudo apt install xdotool

```

(avec mot de passe session administrateur)

* * *

**CREATION DU FICHIER**

_a) Méthode par le terminal_

Depuis votre compte utilisateur,

- Créez un fichier nommé : `~/.capsNumLock.sh`  
dans lequel vous copierez l’intégralité du script.
- Rendez ce fichier script exécutable en lançant la ligne de commande suivante depuis le terminal:  
`chmod u+x ~/.capsNumLock.sh`

_b) Méthode avec le gestionnaire de fichiers_

 ![gestionnaire fichiers](https://www.debian-fr.org/uploads/default/original/2X/d/dfc3fc00b3489095c6e2c83f7ce77beaf71244fc.png)

Cliquez sur Fichier/New File

 ![new file](https://www.debian-fr.org/uploads/default/original/2X/1/1221448c318ca19b0dba1c647dc139d1955ccee8.png)

cliquer sur le fichier, puis propriétés, de manière à avoir les paramétrages suivants :

 ![propriété fichier1](https://www.debian-fr.org/uploads/default/original/2X/a/a00358945fc5693298ccab1d20a11941c12b28db.png)

 ![propriété fichier2](https://www.debian-fr.org/uploads/default/original/2X/a/a558722609990b78216cd41c4c01b399c1f3be63.png)

* * *

**REMPLISSAGE DU FICHIER**

Ouvrez le fichier avec `Geany`, et copiez dedans le script suivant :

```bash
#!/bin/bash

tempo=5 # Durée d'affichage du message (en secondes)

ledOn="●"
ledoff="○"
labNum="Num"
labCap="Caps"

xdotool key $1
case $(($(xset q | awk 'NR==2{print $NF}')*1)) in

    0)
        num="$ledoff"
        cap="$ledoff"
    ;;

    1)
        num="$ledoff"
        cap="$ledOn"
    ;;

    2)
        num="$ledOn"
        cap="$ledoff"
    ;;

    3)
        num="$ledOn"
        cap="$ledOn"
    ;;
esac

zenity --info --title="Voyants clavier :" --text="$num $labNum
$cap $labCap" --timeout=$tempo

```

puis enregistrez.

* * *

**INTEGRATION DU SCRIPT DANS LE MENU DES APPLICATIONS**

Cliquez sur la framboise jusqu’ « Main Menu Editor »

 ![main menu editor](https://www.debian-fr.org/uploads/default/original/2X/f/f00e87adbd02926d894a071d27a414592a6a4b6a.png)

puis cliquez sur « nouvel élément »

![nouvel élément](https://www.debian-fr.org/uploads/default/original/2X/6/6646c77e46c9abf99b4d67868f8eec095eee1a13.png)

puis renseignez le chemin du fichier `.CapsNumLock.sh`

 ![launcher properties](https://www.debian-fr.org/uploads/default/original/2X/8/8da297ebe27c333fb2610b43a11a97b87e32919b.png)

puis validez.

On se retrouve avec le Main Menu Editor suivant :

 ![main menu editor2](https://www.debian-fr.org/uploads/default/original/2X/c/ca4681f205b98a658d387b028fa125468f09034e.png)

Numlock est tout en bas, on va cliquer dessus pour cliquer sur « Monter » de manière à l’avoir tout en haut.

 ![main menu editor3](https://www.debian-fr.org/uploads/default/original/2X/7/791dbef318e213770a241039a854977c8922ea0a.png)

* * *

Maintenant, quand on clique sur la framboise, il se trouve juste en dessous, et il suffit de cliquer sur l’icone ‘Numlock’ pour avoir le statut des touches :

 ![témoin statuts](https://www.debian-fr.org/uploads/default/original/2X/4/4d6eb874c1fe38864f2dd88368a13b30d905a87b.jpeg)

---

<div class="post-metadata">

**Author:** ![didierf](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/e9a140/32.png) [@didierf](https://www.debian-fr.org/u/didierf)\
**Post date:** [Avril 11, 2021, 1:12 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/16 "2021-04-11T13:12:42Z")

</div>

j’ai fait un modop en dotx avec des images écrans, je doute qu’on les voit bien en copier coller

il faudrait pouvoir l’envoyer par email (fichier joint dotx non autorisé), mais le mail que j’ai reçu est un «&nbsp;noreply&nbsp;»

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Avril 11, 2021, 1:24 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/17 "2021-04-11T13:24:28Z")

</div>

J’ai un peu retouché ton message en ce qui concerne les lignes de commandes et le contenu du script.

Si tu ré-édite ton message, tu verras la ligne que j’ai ajoutée avant et celle après chaque bloc de lignes de commandes.

Tu pourras facilement joindre à ton message  
des images au format **`png`**

Mais d’ici, les images qui sont dans ton répertoire **`/tmp`** nous sont inacessibles

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Avril 12, 2021, 11:59 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/18 "2021-04-12T11:59:11Z")

</div>

Merci pour ton boulot, et les images passent très bien. 😀

---

<div class="post-metadata">

**Author:** ![didierf](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/e9a140/32.png) [@didierf](https://www.debian-fr.org/u/didierf)\
**Post date:** [Avril 13, 2021, 2:05 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/19 "2021-04-13T14:05:51Z")

</div>

Un grand merci pour l’aide que tu m’as apporté, c’était normal que, à mon tour, je puisse apporter quelque chose aux utilisateurs futurs

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Mai 16, 2021, 4:54 UTC](https://www.debian-fr.org/t/verifier-le-statut-du-pave-numerique-avec-un-script/84329/20 "2021-05-16T16:54:07Z")

</div>

Merci à tous,  
tout cela est très instructif, très utile et intéressant donc.

Cependant, d’un point de vue pratique, j’ai fini par résoudre cette question en installant _gkrellm_

Avec ma configuration il affiche une icone avec 2 carrés, qui affichent le statut le la touche correspondante (VerrShift et VerrNum) avec couleur et marque  
En plus (sous Buster), à chaque frappe de cette touche, il affiche (4 secondes) un cadenas en surimpression au milieu de l’écran, soit blanc intense (mode verrou) soit gris clair (mode déverrouillage) qui signale la situation. Très utile quand les gros doigts maladroits débordent!
