[Comm] Pomogite PLZ s OO

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Сб Май 20 12:05:36 MSD 2006


On Fri, May 19, 2006 at 08:46:08PM +0400, Alexej Kryukov wrote:
> On Friday 19 May 2006 14:06, Michael Shigorin wrote:
> >
> > WORKSFORME
> 
> Да не должно оно работать. И я вообще не представляю,
> как такое реализовать под X: когда-то разбирался с Xlib,
> и не нашел ни одной функции, которая позволяла бы узнать
> _название_ (а не номер) текущей xkb-группы. Т. о. приложение
> не имеет и не может иметь никакого понятия о текущем языке
> ввода.

Вообще-то xkbcomp читает с сервера полное описание клавиатуры:

        bzero((char *)&result,sizeof(result));
        result.type= XkmKeymapFile;
        result.xkb= XkbGetMap(inDpy,XkbAllMapComponentsMask,XkbUseCoreKbd);
        if (result.xkb==NULL)
            WSGO("Cannot load keyboard description\n");
        if (XkbGetIndicatorMap(inDpy,~0,result.xkb)!=Success)
            WSGO("Could not load indicator map\n");
        if (XkbGetControls(inDpy,XkbAllControlsMask,result.xkb)!=Success)
            WSGO("Could not load keyboard controls\n");
        if (XkbGetCompatMap(inDpy,XkbAllCompatMask,result.xkb)!=Success)
            WSGO("Could not load compatibility map\n");
        if (XkbGetNames(inDpy,XkbAllNamesMask,result.xkb)!=Success)
            WSGO("Could not load names\n");
        if ((status=XkbGetGeometry(inDpy,result.xkb))!=Success) {
            if (warningLevel>3) {
                char buf[100];
                buf[0]= '\0';
                XGetErrorText(inDpy,status,buf,100);
                WARN1("Could not load keyboard geometry for %s\n",inDpyName);
                ACTION1("%s\n",buf);
                ACTION("Resulting keymap file will not describe geometry\n");
            }
        }
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/community/attachments/20060520/122e5d17/attachment-0003.bin>


Подробная информация о списке рассылки community