Нужно получить доступ к индикаторам клавы (вкл\выкл делать) Вот пример на перле, работает, без запуска от рута
#!/usr/bin/perl
open(FH, "/dev/console") or die "open";
ioctl(FH, 0x4b32, 1); # scroll lock on
ioctl(FH, 0x4b32, 2); # num lock on
ioctl(FH, 0x4b32, 4); # caps lock on
ioctl(FH, 0x4b32, 0); # all off
close(FH);
#include <fcntl.h>
#include <unistd.h>
#include <linux/kd.h>
#include <sys/ioctl.h>
main() {
int fd;
open("/dev/console", fd);
ioctl(fd, KDSETLED, 7);
}