Le mer, 24 mai 2000, Riquer Vincent a �crit :
# Bonjour !
# 
# �a fait d�j� 5 fois que j'envoies ce message, et je l'ai jamais vu
# passer !
# Voil� la question qu'� pos� un utilisateur (mon fr�re) de ma
# machine sous Linux :

voil� la r�ponse (c'est pas de moi mais �a vient du SitaSerge dit  Olio)

THE solution

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. 

-- 
Amicalement,
      Andr� Sala�n.

Répondre à