Отправляет email-рассылки с помощью сервиса Sendsay

Программироване клавиатурных LED"ов

Привет всем!

Никто не помнит, как делается сабж? А то я где-то встречал,
теперь найти не могу :(

Ответить   Matvey Sun, 15 May 2005 23:25:00 +0300 (#368048)

 

Ответы:

В сообщении от 1116188700 секунд после начала Эпохи Unix Вы написали:

$ echo -ne "\033[2q" >/dev/tty`fgconsole`
$ echo -ne "\033[0q" >/dev/tty`fgconsole`

Смотрите console_codes(4), setleds(1), исходники setleds.

Ответить   Konstantin Korikov Mon, 16 May 2005 05:09:33 +0300 (#368096)

 

On Mon, 16 May 2005 05:09:33 +0300
Konstantin Korikov <lostcl***@u*****.fm> wrote:

Смотрел исходники. Пользуют вызов ioctl(0, KDGETLED, &oleds)
Почититал ман по ioctl:

int ioctl(int d, int request, ...)

Macros and
defines used in specifying an ioctl request are located in the
file
<sys/ioctl.h>.

Обрыл весь /usr/include и /usr/src/linux/include заодно - нигде нет дефайна KDGETLED.
Откуда оно их берет?

Ответить   Matvey Mon, 16 May 2005 10:20:03 +0300 (#368246)

 

В сообщении от 1116228003 секунд после начала Эпохи Unix Вы написали:

`/usr/include/linux/kd.h'?

Ответить   Konstantin Korikov Mon, 16 May 2005 12:29:27 +0300 (#368354)

 

On Mon, 16 May 2005 12:29:27 +0300
Konstantin Korikov <lostcl***@u*****.fm> wrote:

Ага, оно. Но в эмуляторе консоли под Х оно не работает - ioctl дает
ошибку invalid argument, хотя из под голой консоли тот же бинарник
нормально работает. Есть какие-то соображения ?

Ответить   Matvey Mon, 16 May 2005 23:07:04 +0300 (#368700)

 

В сообщении от 1116274024 секунд после начала Эпохи Unix Вы написали:

Потому что в эмуляторе консоли под Х в качестве стандартного ввода стоит
псевдотерминал, а не виртуальный терминал. Нужно открывать `/dev/tty0'
(текущий виртуальный терминал) и работать с его дескриптором.

fd = open("/dev/tty0", O_RDWR);
if (fd != -1) {
ioctl(fd, KDGETLED, &oleds);
} else {
perror("/dev/tty0");
}
close(fd);

Ответить   Konstantin Korikov Tue, 17 May 2005 04:41:19 +0300 (#368782)

 

On Mon, 16 May 2005 05:09:33 +0300
Konstantin Korikov <lostcl***@u*****.fm> wrote:

А можно как-то без прав рута?

Ответить   Matvey Mon, 16 May 2005 11:21:40 +0300 (#368286)

 

В сообщении от 1116231700 секунд после начала Эпохи Unix Вы написали:

Можно, если использовать правильные программы и правильные настройки.

$ fgconsole

?

$ ls -l /dev/tty`fgconsole`

?

$ cat /etc/*release*

?

Ответить   Konstantin Korikov Mon, 16 May 2005 12:44:44 +0300 (#368353)

 

On Mon, 16 May 2005 12:44:44 +0300
Konstantin Korikov <lostcl***@u*****.fm> wrote:

7

crw1 root root 4, 7 Тра 16 09:24 /dev/tty7

ALT Linux Junior 1.1

Ответить   Matvey Mon, 16 May 2005 13:29:33 +0300 (#368401)

 

В сообщении от 16 Май 2005 14:29 Matvey написал(a):

А вы часом не под X сидите? Тогда надо действовать совсем по другому.

Ответить   "Sergey B. Khvatov" Mon, 16 May 2005 15:48:35 +0400 (#368418)

 

В сообщении от 1116247715 секунд после начала Эпохи Unix Вы написали:

Не надо. Нужно обновить дистрибутив.

Ответить   Konstantin Korikov Mon, 16 May 2005 15:19:18 +0300 (#368444)

 

В сообщении от 16 Май 2005 16:19 Konstantin Korikov написал(a):

Я вижу, что человек работает не с консоли. Причём тут версия дистрибутива?

Ответить   "Sergey B. Khvatov" Mon, 16 May 2005 17:04:25 +0400 (#368458)

 

В сообщении от 1116252265 секунд после начала Эпохи Unix Вы написали:

Притом что устройство виртуального терминала, на который пользователь
зашел, должно принадлежать этому пользователю и быть доступно ему для
записи и чтения, не зависимо от того в иксах он или нет. Для начала
нужно обновить дистрибутив, возможно в новых дистрибутивах от ALT Linux
этот баг уже исправили.

Ответить   Konstantin Korikov Mon, 16 May 2005 16:38:40 +0300 (#368478)

 

В сообщении от 16 Май 2005 17:38 Konstantin Korikov написал(a):

fgconsole возвращает номер активной виртуальной консоли.
Она недоступна, а у пользователя нет проблем со вводом/выводом. Отсюда вывод
-
пользователь не на ней (что он и подтвердил, и вы это выдели)

Ответить   "Sergey B. Khvatov" Mon, 16 May 2005 18:38:14 +0400 (#368502)

 

В сообщении от 1116257894 секунд после начала Эпохи Unix Вы написали:

А должен быть на ней! Тут одно из двух: проблема с PAM или проблема с
Display Manager (gdm, kdm, xdm, и т.п.). После создания PAM-сессии такой
DM должен установить в ней имя терминала, что-то вроде:

pam_set_item(pamh, PAM_TTY, "ttyX");

Ответить   Konstantin Korikov Tue, 17 May 2005 05:11:00 +0300 (#368778)

 

On Mon, 16 May 2005 15:19:18 +0300
Konstantin Korikov <lostcl***@u*****.fm> wrote:

Давно хочу, но пугает тяжеловесность иксов и невозможность мною настроить нормальный
фреймбуфер
в консоли (85 Гц) с моей видяхой.

Ответить   Matvey Mon, 16 May 2005 15:56:53 +0300 (#368468)

 

В сообщении от 1116248213 секунд после начала Эпохи Unix Вы написали:

Железо какое? При использовании vesafb, похоже, больше 60 Гц получить не
удастся. И разве 15 Гц - это большая разница? Я уже несколько лет сижу
на 60 Гц, причем 12 часов в сутки. И нечего, пока хожу без очков. А если
вы постоянно сидите в черной консоли, то IMHO, частота вертикальной
развертки не играет особого значения, так как мерцают именно светлые
тона, а не черные.

Ответить   Konstantin Korikov Mon, 16 May 2005 17:01:12 +0300 (#368489)

 

On Mon, 16 May 2005 17:01:12 +0300
Konstantin Korikov <lostcl***@u*****.fm> wrote:

ATI Rage IIC 2Mb

При использовании vesafb, похоже, больше 60 Гц получить не

85-60=15?

Я уже несколько лет сижу

IMHO, это зависит от монитора. Вон в углу стоит монитор, за которым я еще в
Досе днями просиживал, и ничего. Так у него ж инертность такая, что после выключения

еще полсекунды текст читать можно. Зелененький :)

А если

Когда-то я возился с драйвером atyfb, вроде как под мою карту, так максимум
получил 70Гц, Я чувствую. Маловато.

Ответить   Matvey Mon, 16 May 2005 18:06:58 +0300 (#368518)

 

On Mon, 16 May 2005 17:01:12 +0300
Konstantin Korikov <lostcl***@u*****.fm> wrote:

ATI Rage IIC 2Mb

При использовании vesafb, похоже, больше 60 Гц получить не

85-60=15?

Я уже несколько лет сижу

IMHO, это зависит от монитора. Вон в углу стоит монитор, за которым я еще в
Досе днями просиживал, и ничего. Так у него ж инертность такая, что после выключения

еще полсекунды текст читать можно. Зелененький :)

А если

Когда-то я возился с драйвером atyfb, вроде как под мою карту, так максимум
получил 70Гц, Я чувствую. Маловато.

Ответить   Matvey Mon, 16 May 2005 18:06:58 +0300 (#368519)

 

В сообщении от 1116256018 секунд после начала Эпохи Unix Вы написали:

А остальное? Иксы становятся тяжеловесными если мало оперативной памяти.

Глючу. :) Давно не спал.

Ответить   Konstantin Korikov Tue, 17 May 2005 04:47:32 +0300 (#368779)

 

On Tue, 17 May 2005 04:47:32 +0300
Konstantin Korikov <lostcl***@u*****.fm> wrote:

Монитор Fujitsu/Siemens: модель не помню, неудобно разворачивать, по винде помню,
что держит много чего, из того, что видяхе и не снилось :)
128 Mb RAM, 300MHz CPU P2, 33MHz bus, вроде ничего не забыл...

Ответить   Matvey Tue, 17 May 2005 10:04:29 +0300 (#368870)

 

В сообщении от 1116313469 секунд после начала Эпохи Unix Вы написали:

Хе, любые иксы, даже самые новые, будут на такой машине летать! Так что
смело ставьте нормальный современный дистрибутив. У меня 64 Mb RAM,
266MHz CPU K6, Fedora Core 3 и все нормально работает, правда частота
системной шины у меня 66MHz.

Ответить   Konstantin Korikov Tue, 17 May 2005 12:52:32 +0300 (#368996)

 

On Tue, 17 May 2005 12:52:32 +0300
Konstantin Korikov <lostcl***@u*****.fm> wrote:

Вам - верю ;) , буду чего-нибудь ставить...

Ответить   Matvey Tue, 17 May 2005 17:26:02 +0300 (#369140)

 

Konstantin Korikov пишет на днях:

Lieber Herr Konstantin, ну зачем же себя так утомлять?
Можно же настроить vesafb-tng, например теперь мне в консоли работать
удобнее (при частоте 120Hz 800x600). Так что быстро (шутка) скачайте
последний патч и перекомпильте ядро.

Но ведь приходится же и в консоли работать с другими цветами :)
с синим например, или при просмотре страничек

Ответить   Tue, 17 May 2005 05:04:50 +0600 (#368732)

 

Здравствуйте, saturas.

Вы писали 17 мая 2005 г., 8:04:50:

а я так и не смог скомпилить ядро с vesafb-tng. выдает ошибку и все.
качал его с вроде официальной странички проекта на gentoo.org. там версия
что-то vesafb-tng-0.9-rc6-2.6.11-rc1 была. и еще - у меня не задается
частота обновления при использовании vesafb, на rivafb все нормально.
видео geforce2mx400, т.е. поддержывает Vesa 3.0.

Ответить   Tue, 17 May 2005 10:35:56 +0900 (#368748)

 

Stranger пишет на днях:

У меня видеокарта тоже Nvidia GeForce 2 MX 400
Здесь проблема в том, что если поставить rivafb в консоли, то
уже не сможешь установить дрова от Nvidia. Так что я выбрал rivafb-tng
Скомпилился нормально.
Да, брал отсюда,
http://dev.gentoo.org/%7Espock/projects/vesafb-tng/archive/vesafb-tng-0.9-rc6-2.6.11-rc1.patch
Device Drivers -> [*] Support for frame buffer devices
<*> VESA VGA graphics support
VESA driver type (vesafb-tng)
(800x600@120) VESA default mode
Частоту задаёшь прямо сразу в конфиге

Или можно при загрузке ядру передавать
video=vesafb:ypan,800x600-32@100

Ответить   Tue, 17 May 2005 13:04:41 +0600 (#368867)

 

Здравствуйте, saturas.

Вы писали 17 мая 2005 г., 16:04:41:

Device Drivers ->> [*] Support for frame buffer devices

про дрова от nVidia и rivafb я знаю. опции в ядре и для ядра тоже ;-)
проблема то в том, что я скомпилить ядро при выбранном девайсе
vesafb-tng не могу. у Вас официальное ядро? или от генту-комунити? у
меня дистр так-то не генту, может в этом дело?
vesafb почему-то не берет частоту обновления из параметров загрузки,
а 60 герц для меня, очкарика не осеня холясо )

Ответить   Tue, 17 May 2005 18:21:40 +0900 (#368951)

 

В сообщении от 1116295490 секунд после начала Эпохи Unix Вы написали:

Мой монитор просто больше не выдаст при разрешении 800x600. А в консоли
(точнее в виртуальных терминалах) я сижу крайне редко. xterm играет для
меня роль консоли.

Мне это не нужно, а вот Олегу (aka Matvey), наверно, очень даже поможет.

Ответить   Konstantin Korikov Tue, 17 May 2005 04:54:40 +0300 (#368781)

 

On Tue, 17 May 2005 05:04:50 +0600
saturas <satur***@m*****.ru> wrote:

Я так понимаю, это на 2.6 ядро. А на 2.4 есть, а то гугль не помог.

Ответить   Matvey Tue, 17 May 2005 10:23:05 +0300 (#368869)

 

Matvey пишет на днях:

Попробуй вот этот патчик
http://dev.gentoo.org/~spock/projects/vesafb-tng/archive/patch-2.4.x-vesafb-rrc.tar.gz

или начни
отсюда
http://dev.gentoo.org/~spock/projects/vesafb-tng/archive/

Ответить   Tue, 17 May 2005 15:12:20 +0600 (#368947)

 

В сообщении от 1116314585 секунд после начала Эпохи Unix Вы написали:

Еще одна причина поставить нормальный дистрибутив. :)

Ответить   Konstantin Korikov Tue, 17 May 2005 12:55:12 +0300 (#368997)

 

On Mon, 16 May 2005 15:48:35 +0400
"Sergey B. Khvatov" <xbat***@t*****.ru> wrote:

Именно там. А как?

Ответить   Matvey Mon, 16 May 2005 15:51:20 +0300 (#368454)

 

В сообщении от 16 Май 2005 16:51 Matvey написал(a):

xset led 3 # включить третий индикатор
xset -led 2 # выключить второй

Только сначала надо в конфигуации сервера отдать их пользователю:
Option "Xleds" "1 2 3"

Ответить   "Sergey B. Khvatov" Mon, 16 May 2005 17:17:05 +0400 (#368464)

 

В сообщении от 1116253025 секунд после начала Эпохи Unix Вы написали:

И это должна сделать программа?

После установки программы XXX нужно перезапустить X-cервер, дабы все
изменения в конфигурации вступили в силу.

Вам это ничего не напоминает?

Ответить   Konstantin Korikov Mon, 16 May 2005 16:42:07 +0300 (#368477)