dockapps/cnslock/kleds.c

38 lines
650 B
C
Raw Normal View History

/*
2017-02-21 00:16:01 +00:00
This code is based upon some lines(actually two lines :-)
in E-Leds by Mathias Meisfjordskar<mathiasm@ifi.uio.no>
Released under GPL.
*/
#include <stdio.h>
#include <X11/XKBlib.h>
#include "include/defines.h"
#include "include/kleds.h"
Display *display;
/*
Returns the turned on leds:
Bit 0 is Capslock
Bit 1 is Numlock
Bit 2 is Scrollock
*/
int check_kleds()
{
unsigned int states;
if (XkbGetIndicatorState(display, XkbUseCoreKbd, &states) != Success)
{
perror("Error while reading Indicator status\n");
return -1;
}
return (states & 0x7);
}
void init_kleds()
{
display = XOpenDisplay(NULL);
}