LINUX.ORG.RU

помигать num lock


0

0

Как помигать светодиодом на клаве?

(Хочу, чтобы на входящее сообщение в аське мигал numlock несколько раз. В принципе тут все легко: написать маленькую прогу, которая мигает, скажем, 3 раза numlock'ом и в pidgin вместо aplay указать эту прогу.)


Ответ на: комментарий от annoynimous

>глазом...

Я в шоке... Неужели?

Если серьезно — xset led может управлять еще каким-нибудь индикатором, кроме scroll lock?

nnz ★★★★
()
Ответ на: комментарий от paxac

> а примерчик можно? че то сложно там...

ну, если жто сложно, то можно простой примерчик. но т.к. он использует совершенно другую, более простую функцию, то и моргать может только скролом:

#include <X11/Xlib.h>
#include <unistd.h>

int main() {
    int i;
    XKeyboardControl v;
    Display *dpy;

    dpy = XOpenDisplay(0);
    if (!dpy)
        return -1;

    v.led_mode = 1;
    v.led = 3;
    XChangeKeyboardControl(dpy, KBLed | KBLedMode, &v);
    XSync(dpy, False);

    sleep(1);
    v.led_mode = 0;
    XChangeKeyboardControl(dpy, KBLed | KBLedMode, &v);
    XSync(dpy, False);

    XCloseDisplay(dpy);
    return 0;
}

arsi ★★★★★
()
Ответ на: комментарий от mipt_student
gotf ~ > cat bin/blinkled.sh 
#!/bin/sh
#
# Мигать диодом указанное число раз с заданным интервалом

for (( i = 0; i < $1; i++ )); do
	xset led 3
	sleep $2
	xset -led 3
	sleep $2
done

Чуть универсальнее.

GotF ★★★★★
()
Ответ на: комментарий от arsi

Работает, но только если изначально scrolllock выключен. У меня он используется для индикации языка раскладки (горит - русский, не горит - английский), и если изначально он горит, то ничего не мигает. В чем может быть проблема?

P.S. другие способы (через xset) тоже не работают при включенном скролле.

paxac
() автор топика
Ответ на: комментарий от true_admin

>всеми может, смотри ман.

В мане написано только про scroll.
В этих ваших интернетах сказано, что ничем кроме скролла оно мигать не может. Практика подтверждает.

nnz ★★★★
()
Ответ на: комментарий от alex4

cat /dev/tty1 | sudo setleds -L -caps

Все такие умные... :)

cat: /dev/tty1: Отказано в доступе
Хоть бы еще одно судо приписали, что ли.

nnz ★★★★
()
Ответ на: комментарий от mky

> kai@chake:~> sudo setleds -L -caps < /dev/tty1
> bash: /dev/tty1: Permission denied


он даже пароль не спросил, чяднт?

opensuse
()
Ответ на: комментарий от nnz

> В этих ваших интернетах сказано, что ничем кроме скролла оно мигать не может. Практика подтверждает.

ессесно. xkb и не даст изменить состояние других индикаторов, потому что это явно запрещено в классических конфигах. но ничто не мешает поправить конфиг и мигать чем угодно ;)

arsi ★★★★★
()
Ответ на: комментарий от arsi

А можно подробности? В частности, интересует, что нужно вводить после команды man, чтобы почитать про это? (man xkb нету.)

nnz ★★★★
()
Ответ на: комментарий от nnz

> А можно подробности?

подробности _чего_? где находятся конфиги? какой кейворд устанавливает запрет/разрешение на внешнюю модификацию состояния индикатора?

конфиги: /etc/X11/xkb/compat/led*; внешним доступом управляет allowExplicit (== «мона», !allowExplicit == «низя»).

> В частности, интересует, что нужно вводить после команды man, чтобы почитать про это? (man xkb нету.)

man google ;) http://www.x.org/wiki/XKB

arsi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.