On 7/27/05, John Wojnaroski <[EMAIL PROTECTED]> wrote: > Hi, > > Is there a way to use 'setleds' inside a program? My understanding is that > it only works with VTs (tty0 -- ttyxxx) and programs using input devices > such as /dev/pts/0 will not work. > > Regards > John W.
You can use setleds inside a program by simply executing it as you would any other UNIX program, using system(3) or fork(2) and exec(2). If you're trying to use setleds on an x display, here's a little C program that can toggle the numlock key. I have it run in my .xsession so that it always turns on numlock when I log in. You can also look at http://freshmeat.net/projects/numlockx/ which is similar. //numlock.c //compile using: //gcc -I/usr/X11R6/include -L/usr/X11R6/lib -o setnumlock Numlock.c -lX11 -lXtst#include <X11/extensions/XTest.h> #include <X11/keysym.h> 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; } //end of source code --Ken Bloom _______________________________________________ vox-tech mailing list [email protected] http://lists.lugod.org/mailman/listinfo/vox-tech
