Программироване клавиатурных LED"ов
Привет всем!
Никто не помнит, как делается сабж? А то я где-то встречал,
теперь найти не могу :(
За последние 60 дней ни разу не выходила
Сайт листа:
http://www.linuxrsp.ru
Открыт:
25-07-2003
Пре-модерация: Нет
Адрес для писем в лист: comp.soft.linux.discuss-list@subscribe.ru
Адрес
модератора: comp.soft.linux.discuss-owner@subscribe.ru
Привет всем!
Никто не помнит, как делается сабж? А то я где-то встречал,
теперь найти не могу :(
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.
Откуда оно их берет?
В сообщении от 1116228003 секунд после начала Эпохи Unix Вы написали:
`/usr/include/linux/kd.h'?
On Mon, 16 May 2005 12:29:27 +0300
Konstantin Korikov <lostcl***@u*****.fm> wrote:
Ага, оно. Но в эмуляторе консоли под Х оно не работает - ioctl дает
ошибку invalid argument, хотя из под голой консоли тот же бинарник
нормально работает. Есть какие-то соображения ?
В сообщении от 1116274024 секунд после начала Эпохи Unix Вы написали:
Потому что в эмуляторе консоли под Х в качестве стандартного ввода стоит
псевдотерминал, а не виртуальный терминал. Нужно открывать `/dev/tty0'
(текущий виртуальный терминал) и работать с его дескриптором.
fd = open("/dev/tty0", O_RDWR);
if (fd != -1) {
ioctl(fd, KDGETLED, &oleds);
} else {
perror("/dev/tty0");
}
close(fd);
On Mon, 16 May 2005 05:09:33 +0300
Konstantin Korikov <lostcl***@u*****.fm> wrote:
А можно как-то без прав рута?
В сообщении от 1116231700 секунд после начала Эпохи Unix Вы написали:
Можно, если использовать правильные программы и правильные настройки.
$ fgconsole
?
$ ls -l /dev/tty`fgconsole`
?
$ cat /etc/*release*
?
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
В сообщении от 16 Май 2005 14:29 Matvey написал(a):
А вы часом не под X сидите? Тогда надо действовать совсем по другому.
В сообщении от 1116247715 секунд после начала Эпохи Unix Вы написали:
Не надо. Нужно обновить дистрибутив.
В сообщении от 16 Май 2005 16:19 Konstantin Korikov написал(a):
Я вижу, что человек работает не с консоли. Причём тут версия дистрибутива?
В сообщении от 1116252265 секунд после начала Эпохи Unix Вы написали:
Притом что устройство виртуального терминала, на который пользователь
зашел, должно принадлежать этому пользователю и быть доступно ему для
записи и чтения, не зависимо от того в иксах он или нет. Для начала
нужно обновить дистрибутив, возможно в новых дистрибутивах от ALT Linux
этот баг уже исправили.
В сообщении от 16 Май 2005 17:38 Konstantin Korikov написал(a):
fgconsole возвращает номер активной виртуальной консоли.
Она недоступна, а у пользователя нет проблем со вводом/выводом. Отсюда вывод
-
пользователь не на ней (что он и подтвердил, и вы это выдели)
В сообщении от 1116257894 секунд после начала Эпохи Unix Вы написали:
А должен быть на ней! Тут одно из двух: проблема с PAM или проблема с
Display Manager (gdm, kdm, xdm, и т.п.). После создания PAM-сессии такой
DM должен установить в ней имя терминала, что-то вроде:
pam_set_item(pamh, PAM_TTY, "ttyX");
On Mon, 16 May 2005 15:19:18 +0300
Konstantin Korikov <lostcl***@u*****.fm> wrote:
Давно хочу, но пугает тяжеловесность иксов и невозможность мною настроить нормальный
фреймбуфер
в консоли (85 Гц) с моей видяхой.
В сообщении от 1116248213 секунд после начала Эпохи Unix Вы написали:
Железо какое? При использовании vesafb, похоже, больше 60 Гц получить не
удастся. И разве 15 Гц - это большая разница? Я уже несколько лет сижу
на 60 Гц, причем 12 часов в сутки. И нечего, пока хожу без очков. А если
вы постоянно сидите в черной консоли, то IMHO, частота вертикальной
развертки не играет особого значения, так как мерцают именно светлые
тона, а не черные.
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Гц, Я чувствую. Маловато.
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Гц, Я чувствую. Маловато.
В сообщении от 1116256018 секунд после начала Эпохи Unix Вы написали:
А остальное? Иксы становятся тяжеловесными если мало оперативной памяти.
Глючу. :) Давно не спал.
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, вроде ничего не забыл...
В сообщении от 1116313469 секунд после начала Эпохи Unix Вы написали:
Хе, любые иксы, даже самые новые, будут на такой машине летать! Так что
смело ставьте нормальный современный дистрибутив. У меня 64 Mb RAM,
266MHz CPU K6, Fedora Core 3 и все нормально работает, правда частота
системной шины у меня 66MHz.
On Tue, 17 May 2005 12:52:32 +0300
Konstantin Korikov <lostcl***@u*****.fm> wrote:
Вам - верю ;) , буду чего-нибудь ставить...
Konstantin Korikov пишет на днях:
Lieber Herr Konstantin, ну зачем же себя так утомлять?
Можно же настроить vesafb-tng, например теперь мне в консоли работать
удобнее (при частоте 120Hz 800x600). Так что быстро (шутка) скачайте
последний патч и перекомпильте ядро.
Но ведь приходится же и в консоли работать с другими цветами :)
с синим например, или при просмотре страничек
Здравствуйте, 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.
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
Здравствуйте, saturas.
Вы писали 17 мая 2005 г., 16:04:41:
Device Drivers ->> [*] Support for frame buffer devices
про дрова от nVidia и rivafb я знаю. опции в ядре и для ядра тоже ;-)
проблема то в том, что я скомпилить ядро при выбранном девайсе
vesafb-tng не могу. у Вас официальное ядро? или от генту-комунити? у
меня дистр так-то не генту, может в этом дело?
vesafb почему-то не берет частоту обновления из параметров загрузки,
а 60 герц для меня, очкарика не осеня холясо )
В сообщении от 1116295490 секунд после начала Эпохи Unix Вы написали:
Мой монитор просто больше не выдаст при разрешении 800x600. А в консоли
(точнее в виртуальных терминалах) я сижу крайне редко. xterm играет для
меня роль консоли.
Мне это не нужно, а вот Олегу (aka Matvey), наверно, очень даже поможет.
On Tue, 17 May 2005 05:04:50 +0600
saturas <satur***@m*****.ru> wrote:
Я так понимаю, это на 2.6 ядро. А на 2.4 есть, а то гугль не помог.
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/
В сообщении от 1116314585 секунд после начала Эпохи Unix Вы написали:
Еще одна причина поставить нормальный дистрибутив. :)
On Mon, 16 May 2005 15:48:35 +0400
"Sergey B. Khvatov" <xbat***@t*****.ru> wrote:
Именно там. А как?
В сообщении от 16 Май 2005 16:51 Matvey написал(a):
xset led 3 # включить третий индикатор
xset -led 2 # выключить второй
Только сначала надо в конфигуации сервера отдать их пользователю:
Option "Xleds" "1 2 3"
В сообщении от 1116253025 секунд после начала Эпохи Unix Вы написали:
И это должна сделать программа?
После установки программы XXX нужно перезапустить X-cервер, дабы все
изменения в конфигурации вступили в силу.
Вам это ничего не напоминает?
В сообщении от 1116188700 секунд после начала Эпохи Unix Вы написали:
$ echo -ne "\033[2q" >/dev/tty`fgconsole`
$ echo -ne "\033[0q" >/dev/tty`fgconsole`
Смотрите console_codes(4), setleds(1), исходники setleds.