Russian Qt Forum

Компиляторы и платформы => Linux => Тема начата: Stariy от Сентябрь 27, 2010, 20:56



Название: Как включить/выключить индикатор CapsLock?
Отправлено: Stariy от Сентябрь 27, 2010, 20:56
Нужно реализовать subj под убунту. Не нужно переключать регистр или раскладку, это неважно, главное - уметь включать и выключать лампочку CapsLock на клавиатуре. Как? xset не работает...


Название: Re: Как включить/выключить индикатор CapsLock?
Отправлено: Stariy от Октябрь 02, 2010, 13:51
Нашел решение, работает и в консоли, и в иксах:
#include <fcntl.h>
#include <unistd.h>
#include <linux/kd.h>
#include <sys/ioctl.h>
//....
     int fd;
     if ((fd = open("/dev/console", O_NOCTTY)) == -1)
    {
           return(-1);
    }

    ioctl(fd, KDSETLED,7);//зажигает все 3 индикатора, можно заменить 7 на 1, 2 или 4 для выбора какого-то одного, или комбинировать