« Numlock au démarrage d'X Window » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
(balises code)
Ligne 1 : Ligne 1 :
[[Category:Paramétrer X Window]]{{Obsolète}}
[[Category:Paramétrer X Window]]
 
/!\ Cette documentation est obsolète /!\
 
= NumLock et X Window : La solution définitive =
= NumLock et X Window : La solution définitive =


Ligne 7 : Ligne 10 :
== La solution ==
== La solution ==


La solution à ce problème est pourtant simple (en théorie), il suffit de forcer <tt>X Window</tt> à "taper" lui-même virtuellement sur la touche <tt>Num Lock</tt>. 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 [mailto:l.lunak@email.cz <l.lunak@email.cz>] l'a fait.
La solution à ce problème est pourtant simple (en théorie), il suffit de forcer <b>X Window</b> à "taper" lui-même virtuellement sur la touche <b>Num Lock</b>. 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 [mailto:l.lunak@email.cz <l.lunak@email.cz>] l'a fait.


'''Note :''' Depuis la version 7.2 de la Mandrake (au moins), un équivalent de <tt>numlockx</tt> est fourni en standard (dans le package nommé : <tt>numlock-xxx.rpm</tt>). Le programme à utiliser s'appelle : <tt>enable_X11_numlock</tt>. Il fonctionne de la même manière que <tt>numlockx</tt> pour la bonne raison que c'est le programme de Lubos qui est utilisé.
'''Note :''' Depuis la version 7.2 de la Mandrake (au moins), un équivalent de <b>numlockx</b> est fourni en standard (dans le package nommé : <b>numlock-xxx.rpm</b>). Le programme à utiliser s'appelle : <b>enable_X11_numlock</b>. Il fonctionne de la même manière que <b>numlockx</b> pour la bonne raison que c'est le programme de Lubos qui est utilisé.


== Installation du programme ==
== Installation du programme ==
Ligne 17 : Ligne 20 :
Téléchargez le [http://ktown.kde.org/~seli/numlockx/numlockx-1.0.tar.gz source] sur le site de [http://ktown.kde.org/~seli/numlockx/ numlockx]. Puis décompressez-le :
Téléchargez le [http://ktown.kde.org/~seli/numlockx/numlockx-1.0.tar.gz source] sur le site de [http://ktown.kde.org/~seli/numlockx/ numlockx]. Puis décompressez-le :


<blockquote><tt>$ tar xzf numlockx-1.0.tar.gz</tt></blockquote>
<blockquote><b>$ tar xzf numlockx-1.0.tar.gz</b></blockquote>


Puis compilez le :
Puis compilez le :


<blockquote><tt>$ cd numlockx-0.2</tt><br /><tt>$ ./configure</tt><br /><tt>$ make</tt><br /><tt>$ su -c "make install"</tt></blockquote>
<blockquote><b>$ cd numlockx-0.2</b><br /><b>$ ./configure</b><br /><b>$ make</b><br /><b>$ su -c "make install"</b></blockquote>


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.
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 <tt>numlockx</tt> ==
== Syntaxe de <b>numlockx</b> ==


Pour activer le verrouillage du pavé numérique il suffit de taper :
Pour activer le verrouillage du pavé numérique il suffit de taper :


<blockquote><tt>numlockx on</tt></blockquote>
<blockquote><b>numlockx on</b></blockquote>


ou :
ou :


<blockquote><tt>numlockx</tt></blockquote>
<blockquote><b>numlockx</b></blockquote>


Pour désactiver le verrouillage, vous taperez :
Pour désactiver le verrouillage, vous taperez :


<blockquote><tt>numlockx off</tt></blockquote>
<blockquote><b>numlockx off</b></blockquote>


Et pour changer (off devient on, et on devient off) le verrouillage, vous taperez :
Et pour changer (off devient on, et on devient off) le verrouillage, vous taperez :


<blockquote><tt>numlockx switch</tt></blockquote>
<blockquote><b>numlockx switch</b></blockquote>


C'est tout simple.
C'est tout simple.
Ligne 49 : Ligne 52 :
=== Avec xdm et kdm ===
=== Avec xdm et kdm ===


Pour activer au démarrage de X la touche <tt>Num Lock</tt>, il suffit Si vous utilisez <tt>[x|k]dm</tt> pour lancer X, il faut ajouter, au script <tt>/etc/X11/xdm/Xsetup_0</tt>, les lignes suivantes :
Pour activer au démarrage de X la touche <b>Num Lock</b>, il suffit Si vous utilisez <b>[x|k]dm</b> pour lancer X, il faut ajouter, au script <b>/etc/X11/xdm/Xsetup_0</b>, les lignes suivantes :


<blockquote><tt>if [ -x /usr/X11R6/bin/numlockx ]; then</tt><br /><tt>        /usr/X11R6/bin/numlockx on</tt><br /><tt>fi</tt></blockquote>
<blockquote><b>if [ -x /usr/X11R6/bin/numlockx ]; then</b><br /><b>        /usr/X11R6/bin/numlockx on</b><br /><b>fi</b></blockquote>


puis relancer X en appuyant en même temps sur <tt><CTRL>+<ALT>+<BackSpace></tt>. Normalement votre touche <tt>Num Lock</tt> doit être activée.
puis relancer X en appuyant en même temps sur <b><CTRL>+<ALT>+<BackSpace></b>. Normalement votre touche <b>Num Lock</b> doit être activée.


Sur votre distribution, <tt>numlockx</tt> peut s'appeler <tt>enable_X11_numlock</tt> (Mandrake par exemple, avec le package <tt>numlock-''>version<''.i586.rpm</tt>).
Sur votre distribution, <b>numlockx</b> peut s'appeler <b>enable_X11_numlock</b> (Mandrake par exemple, avec le package <b>numlock-''>version<''.i586.rpm</b>).


--[[Utilisateur:ALT|ALT]] 28 fév 2008 à 16:33 (CET)<br />
--[[Utilisateur:ALT|ALT]] 28 fév 2008 à 16:33 (CET)<br />
Avec KUbuntu 7.1 & KDE 3, le fichier à modifier est : <tt>/etc/kde3/kdm/Xsetup</tt>.
Avec KUbuntu 7.1 & KDE 3, le fichier à modifier est : <b>/etc/kde3/kdm/Xsetup</b>.
Et <tt>numlockx</tt> est un paquetage de la distribution, donc on l'installe simplement avec la commande <tt>apt-get install numlockx</tt> ou bien un gestionnaire de paquets graphique (exemple : Adept).
Et <b>numlockx</b> est un paquetage de la distribution, donc on l'installe simplement avec la commande <b>apt-get install numlockx</b> ou bien un gestionnaire de paquets graphique (exemple : Adept).


=== Avec gdm ===
=== Avec gdm ===


Il faut ajouter les même lignes au script <tt>/etc/X11/gdm/Init/Default</tt>. Puis relancer X en appuyant en même temps sur <tt><CTRL>+<ALT>+<BackSpace></tt>. Normalement votre touche <tt>Num Lock</tt> doit être activée.
Il faut ajouter les même lignes au script <b>/etc/X11/gdm/Init/Default</b>. Puis relancer X en appuyant en même temps sur <b><CTRL>+<ALT>+<BackSpace></b>. Normalement votre touche <b>Num Lock</b> doit être activée.


=== Avec startx ===
=== Avec startx ===


Vous lancez X en tapant <tt>startx</tt>, il faut ajouter ces mêmes lignes au script <tt>~/.xinitrc</tt>.
Vous lancez X en tapant <b>startx</b>, il faut ajouter ces mêmes lignes au script <b>~/.xinitrc</b>.


== Pour les curieux ==
== Pour les curieux ==
Ligne 73 : Ligne 76 :
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.
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.


<tt>numlockx.c</tt><br /><tt><nowiki>-------------Copier à partir de là---------------</nowiki></tt><br /><tt><nowiki>#include <X11/extensions/XTest.h></nowiki></tt><br /><tt><nowiki>#include <X11/keysym.h></nowiki></tt>
<b>numlockx.c</b><br /><b><nowiki>-------------Copier à partir de là---------------</nowiki></b><br /><b><nowiki>#include <X11/extensions/XTest.h></nowiki></b><br /><b><nowiki>#include <X11/keysym.h></nowiki></b>


<tt>int main()</tt><br /><tt>    {</tt><br /><tt>    Display* disp = XOpenDisplay( NULL );</tt><br /><tt>    if( disp == NULL )</tt><br /><tt>        return 1;</tt><br /><tt>    XTestFakeKeyEvent( disp,</tt><br /><tt>       XKeysymToKeycode( disp, XK_Num_Lock ),</tt><br /><tt>       True, CurrentTime );</tt><br /><tt>    XTestFakeKeyEvent( disp,</tt><br /><tt>       XKeysymToKeycode( disp, XK_Num_Lock ),</tt><br /><tt>       False, CurrentTime );</tt><br /><tt>    XCloseDisplay( disp );</tt><br /><tt>    return 0;</tt><br /><tt>    }</tt><br /><tt><nowiki>-------------Copier jusque là--------------------</nowiki></tt>
<b>int main()</b><br /><b>   {</b><br /><b>   Display* disp = XOpenDisplay( NULL );</b><br /><b>   if( disp == NULL )</b><br /><b>       return 1;</b><br /><b>   XTestFakeKeyEvent( disp,</b><br /><b>       XKeysymToKeycode( disp, XK_Num_Lock ),</b><br /><b>       True, CurrentTime );</b><br /><b>   XTestFakeKeyEvent( disp,</b><br /><b>       XKeysymToKeycode( disp, XK_Num_Lock ),</b><br /><b>       False, CurrentTime );</b><br /><b>   XCloseDisplay( disp );</b><br /><b>   return 0;</b><br /><b>   }</b><br /><b><nowiki>-------------Copier jusque là--------------------</nowiki></b>


Pour compiler, tapez (sur une seule ligne) :
Pour compiler, tapez (sur une seule ligne) :


<blockquote><tt>gcc numlockx.c -o numlockx -lX11 -lXtst -I/usr/X11R6/include -L/usr/X11R6/lib</tt></blockquote>
<blockquote><b>gcc numlockx.c -o numlockx -lX11 -lXtst -I/usr/X11R6/include -L/usr/X11R6/lib</b></blockquote>


Puis vous pouvez lancer par <tt>./numlockx</tt> pour activer le pavé numérique. (Cette version simplifiée ne dispose pas des arguments <tt>on</tt>, <tt>off</tt> et <tt>switch</tt>).
Puis vous pouvez lancer par <b>./numlockx</b> pour activer le pavé numérique. (Cette version simplifiée ne dispose pas des arguments <b>on</b>, <b>off</b> et <b>switch</b>).


'''Remarque''' : le verrouillage de numlockx est maintenant configuré automatiquement chez [http://packages.debian.org/unstable/x11/numlockx.html  Debian] lors du lancement de X.
'''Remarque''' : le verrouillage de numlockx est maintenant configuré automatiquement chez [http://packages.debian.org/unstable/x11/numlockx.html  Debian] lors du lancement de X.

Version du 24 avril 2012 à 19:47


/!\ Cette documentation est obsolète /!\

NumLock et X Window : La solution définitive

NumLock et X Window : La solution définitive
par Fred
Sur ce même site on vous indique un [../trucs/lire.php3?id=60 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 :

  • pour Ubuntu / Debian : apt-cache search numlockx
  • pour Mageia / Mandriva : urpmq numlockx
  • pour Gentoo : emerge -s numlockx
  • pour Slackware : swaret --search numlockx

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

Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Frédéric Bonnaud le 10/03/2000.

Copyright

Copyright © 10/03/2000, Frédéric Bonnaud

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike icon
Ce document est publié sous licence Creative Commons
Attribution, Partage à l'identique 4.0 :
https://creativecommons.org/licenses/by-sa/4.0/