Numlock au démarrage d'X Window
/!\ Cette documentation est obsolète /!\
NumLock et X Window : La solution définitive
par Fred
Sur ce même site on vous indique un truc pour permettre l'activation de Num Lock au démarrage de X Window, mais cette astuce présente l'inconvénient de désactiver les fonctionnalités de cette touche. Heureusement, au royaume de Linux, il existe une solution.
La solution
La solution à ce problème est pourtant simple (en théorie), il suffit de forcer X Window à "taper" lui-même virtuellement sur la touche Num Lock. Seulement, si la théorie est simple, la réalisation demande un peu programmation de X, ce qui n'est pas donné à tout le monde. Vous y avez pensé, Lubos Lunak <l.lunak@email.cz> l'a fait.
Note : Depuis la version 7.2 de la Mandrake (au moins), un équivalent de numlockx est fourni en standard (dans le package nommé : numlock-xxx.rpm). Le programme à utiliser s'appelle : enable_X11_numlock. Il fonctionne de la même manière que numlockx pour la bonne raison que c'est le programme de Lubos qui est utilisé.
Installation du programme
Rappel : si votre distribution contient un paquetage pour numlockx, préférez utiliser ce paquetage plutôt que les sources. Certains puristes prétendrons qu'utiliser les sources c'est l'esprit Linux, mais ce sont surtout des problèmes de dépendances non gérées, des choix par forcément simple à faire sur l'utilisation de telle ou telle fonctionnalité du logiciel que l'on désire compiler.
Pour vérifier que votre distribution contient un paquetage pour numlockx, il faut utiliser l'outil de gestion de paquetage de celle-ci. Par exemple :
Votre distribution contient aussi presque surement un outil graphique pour obtenir cette information. Pour plus d'information sur ces questions, consulter cette documentation. |
Téléchargez le source sur le site de numlockx. Puis décompressez-le :
$ tar xzf numlockx-1.0.tar.gz
Puis compilez le :
$ cd numlockx-0.2
$ ./configure
$ make
$ su -c "make install"
Et voilà c'est tout ! Si la compilation se termine par une erreur, c'est qu'il vous manque certains paquetages de développement (XFree86-devel-*). Installez les et recommencez.
Syntaxe de numlockx
Pour activer le verrouillage du pavé numérique il suffit de taper :
numlockx on
ou :
numlockx
Pour désactiver le verrouillage, vous taperez :
numlockx off
Et pour changer (off devient on, et on devient off) le verrouillage, vous taperez :
numlockx switch
C'est tout simple.
Activation au démarrage
Avec xdm et kdm
Pour activer au démarrage de X la touche Num Lock, il suffit Si vous utilisez [x|k]dm pour lancer X, il faut ajouter, au script /etc/X11/xdm/Xsetup_0, les lignes suivantes :
if [ -x /usr/X11R6/bin/numlockx ]; then
/usr/X11R6/bin/numlockx on
fi
puis relancer X en appuyant en même temps sur <CTRL>+<ALT>+<BackSpace>. Normalement votre touche Num Lock doit être activée.
Sur votre distribution, numlockx peut s'appeler enable_X11_numlock (Mandrake par exemple, avec le package numlock->version<.i586.rpm).
--ALT 28 fév 2008 à 16:33 (CET)
Avec KUbuntu 7.1 & KDE 3, le fichier à modifier est : /etc/kde3/kdm/Xsetup.
Et numlockx est un paquetage de la distribution, donc on l'installe simplement avec la commande apt-get install numlockx ou bien un gestionnaire de paquets graphique (exemple : Adept).
Avec gdm
Il faut ajouter les même lignes au script /etc/X11/gdm/Init/Default. Puis relancer X en appuyant en même temps sur <CTRL>+<ALT>+<BackSpace>. Normalement votre touche Num Lock doit être activée.
Avec startx
Vous lancez X en tapant startx, il faut ajouter ces mêmes lignes au script ~/.xinitrc.
Pour les curieux
Voici ci-dessous le source de la première version de numlockx, qui donne le principe de fonctionnement de ce programme, somme toute simple pour qui connaît un peu la programmation de X Window.
numlockx.c
-------------Copier à partir de là---------------
#include <X11/extensions/XTest.h>
#include <X11/keysym.h>
int main()
{
Display* disp = XOpenDisplay( NULL );
if( disp == NULL )
return 1;
XTestFakeKeyEvent( disp,
XKeysymToKeycode( disp, XK_Num_Lock ),
True, CurrentTime );
XTestFakeKeyEvent( disp,
XKeysymToKeycode( disp, XK_Num_Lock ),
False, CurrentTime );
XCloseDisplay( disp );
return 0;
}
-------------Copier jusque là--------------------
Pour compiler, tapez (sur une seule ligne) :
gcc numlockx.c -o numlockx -lX11 -lXtst -I/usr/X11R6/include -L/usr/X11R6/lib
Puis vous pouvez lancer par ./numlockx pour activer le pavé numérique. (Cette version simplifiée ne dispose pas des arguments on, off et switch).
Remarque : le verrouillage de numlockx est maintenant configuré automatiquement chez Debian lors du lancement de X.
@ Retour à la rubrique Environnement graphique
Copyright
© 10/03/2000 Frédéric Bonnaud
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique 4.0 : https://creativecommons.org/licenses/by-sa/4.0/ |