ºìÁªLinuxÃÅ»§
Linux°ïÖú

LinuxÖÐÈÃNUM¼ü´¦ÓÚ¿ªµÄ״̬һЩ¼¼ÊõÐÔ¶«Î÷

·¢²¼Ê±¼ä:2007-02-28 15:34:16À´Ô´:ºìÁª×÷Õß:Sincere
¡¡¡¡1¡¢¿ØÖÆÌ¨Ï£º

¡¡¡¡²Î¿¼setletsÔÚmanÖеÄÒ»¶Î½Å±¾£¬ÔÚ/etc/rc.d/rd.localÖмÓÈëÏÂÃæ´úÂ룺

ÒýÓÃ:
INITTY=/dev/tty[1-6]
for tty in $INITTY
do
setleds -D +num < $tty
done


¡¡¡¡ÖØÆôºóµÇ½µ½textģʽÏ£¬numµÆ½«×Ô¶¯ÁÁÆð¡£

¡¡¡¡Ò²¿ÉÒÔͨ¹ýttyÃüÁîÅжϵ±Ç°Öն˵ÄÀàÐÍ£¬À´¾ö¶¨ÊÇ·ñ¿ªÆônumlock£¬²¢½«½Å±¾Ð´µ½/etc/bashrcÖС£

¡¡¡¡2¡¢XÏÂÃæ£º

¡¡¡¡·½·¨Ò»£ºKDE»·¾³Ï£º
¡¡¡¡KDE¿ØÖÆÖÐÐÄ(Control Center) --> ÍâÉè(Peripherals) --> ¼üÅÌ(Keyboard) -->KDEÆô¶¯Ê±NumLockµÄ״̬ÉèÖÃΪ´ò¿ª

¡¡¡¡·½·¨¶þ£ºWindowMakerÏ£º

¡¡¡¡Ô´Âë:

ÒýÓÃ:
#include
#include


int main(void)
{
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;
}


¡¡¡¡1) ±£´æÉÏÃæµÄ´úÂëΪ numlock.c
¡¡¡¡2).gcc -I/usr/X11R6/include -L/usr/X11R6/lib -o setnumlock numlock.c -lX11 -lXtst
¡¡¡¡3).±à¼­ .xinitrc »òÕß .xsession ÔÚÀïÃæ¼ÓÈëÈçÏÂÄÚÈÝ

¡¡¡¡/usr/X11R6/bin/setnumlock

¡¡¡¡·½·¨Èý£ºÐÞ¸Ä/etc/X11/XF86Config£º

¡¡¡¡ÔÚKeyboard ¶Î¼ÓÈ룺

ÒýÓÃ:
# Let the server do the NumLock processing. This should only be
# required when using pre-R6 clients
ServerNumLock
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ