-------- Original Message --------
Subject: [Fwd: [debutant] Pavé numérique dans la mare (suite et fin ?)]
Date: Tue, 26 Dec 2000 11:03:16 +0100
From: Jean Segers <[EMAIL PROTECTED]>
Organization: Win World sarl
To: [EMAIL PROTECTED]



-------- Original Message --------
Subject: [debutant] Pavé numérique dans la mare (suite et fin ?)
Date: Sat, 23 Dec 2000 13:14:13 +0100
From: Daniel Moyne <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Organization: Home
To: [EMAIL PROTECTED]

a) La solution qui fonctionne parfaitement est bien l'exécution en root
de :
touch /etc/sysconfig/numlock
Ca active effectivement le pavé numérique à chaque boot. J'ai essayé de 
regarder ce que fait numlock qui est un fichier avec un point
d'interrogation 
mais impossible de savoir. Comment éditer un tel fichier ?
Donc merci à Stefan.
b) petit retour en arrière pour mieux comprendre :

i) au boot, j'avais systématiquement en display dans le défilement
"Starting 
numlock" qui apparaissait suite vraisemblablement au choix de mes
paramètres 
d'installation. Je suis allé dans "DrakConf / Services de démarrage", et
là, 
j'ai désactivé numlock. Maintenat je n'ai plus "Starting numlock" au
boot. 
Cette option n'avais apparemment aucun impact sur l'activation du pavé 
numérique, puisque avec ou sans, je me retrouvais sans petite lumière
verte. 
Il semble qu'on puisse désactiver cette option sans conséquence pour 
accélérer le boot.

ii) Jean m'a indiqué l'autre solution suivante : 
Quote :
La solution à ce problème est pourtant simple (en théorie), il suffit de
forcer X Window à
"taper" lui-même 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 <[EMAIL PROTECTED]> l'a fait. 
Le programme
Copiez ce qui suit dans un fichier nommé numlock.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à-------------------- 
Puis tapez (sur une seule ligne) : 
gcc numlock.c -o numlock -lX11 -lXtst -I/usr/X11R6/include
-L/usr/X11R6/lib
Vous devez obtenir un programme : numlock. Si vous avez des messages
d'erreur,  c'est que vous
n'avez pas installé le paquetage XFree86-devel faites-le et tout devrait
rentrer dans l'ordre. 
Pour tester le programme, tapez ./numlock le voyant numlock doit changer
d'état. Copier ce
programme dans /usr/X11R6/bin : 
cp numlock /usr/X11R6/bin 
Si tout cela ne marche pas c'est que votre version de X n'est pas
compilée avec les extentions
XTest ! Reportez vous à l'autre truc de ce site. 
Activation au démarrage
Pour activer au démarrage de X la touche Num Lock, il suffit donc de
lancer ce programme au bon
endroit. Là, il y a deux cas de figure (au moins). 

X se lance tout seul au démarge de Linux (vous utilisez xdm pour lancer
X), il faut ajouter les
lignes suivantes au script /etc/X11/xdm/Xsetup_0 : 
if [ -x /usr/X11R6/bin/numlock ]; then 
 /usr/X11R6/bin/numlock 
fi
puis vous relancer X en appuyant en même temps sur
<CTRL>+<ALT>+<BackSpace>. Normalement votre
touche Num Lock doit être activée. 

vous lancez X en tapant startx, il faut ajouter ces mêmes lignes au
script ~/.x
Unquote
Bien que j'aie suivi scrupuleusement ses instructions en mettant à jour
mon 
Xsetup_0 en root avec ajout des lignes proposées, ça ne fonctionnait pas
! 
Pourtant son petit exécutable numlock placé au bon endroit fonctionnait 
parfaitement en cliquant dessus, c'est à dire qu'alternativement il
activait 
ou désactivait le pavé numérique.
Vous comprendrez que j'ai depuis opté pour la solution de Stefan et
restauré 
les objets modifiés.

iii) surprise ! en suivant les instructions de Jean, j'ai constaté que
dans 
le dossier usr/X11R6/bin il existait déjà un exécutable appelé 
enable_X11_numlock qui fait au moins la même chose que son numlock (je
n'ai 
pas son source pour comparer). La question est finalement comme pour le 
"numlock" de Jean : sert-il à quelque chose !? La réponse est oui car
j'ai 
fait le test suivant :
- renommer enable_X11_numlock en enable_X11_numlock0
- relancement d'une session
la petite lumière reste désespérément éteinte, mais sans message
d'erreur !
- renommer enable_X11_numlock0 en enable_X11_numlock
Ca remarche.

iv) pourquoi ne pas avoir paramétrer la PowerPack 7.2 de manière à avoir
un 
fonctionnement normal dpuis le début ! Bug ?

Amicalement.
-- 
Daniel Moyne (ARMada French fan Club)
PC Celeron 400 Mhz 128 Mo Ram               SCSI (non supportée)
HD Ide (M) 4 Go + (S) 20 Go        \\|//    Modem OLITEC Speed Voice
56000
                                  / --- \   DeskJet HP 850C
Vision Master 17" Iiyama Monitor (` o-o ')  UMAX Astra 1220S SCSI
Scanner
--------------------------------oOO-(_)-OOo-----------------------------------

Répondre à