LINUX.ORG.RU

Ответ на: комментарий от kitar
Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules:      evdev
model:      pc105

layout:     us,ru
variant:    ,
options:    grp:caps_toggle,grp_led:scroll
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete+ledscroll(group_lock)
symbols:    pc+us+ru:2+inet(evdev)+capslock(grouplock)
geometry:   pc(pc105)
xkb_keymap {
	xkb_keycodes  { include "evdev+aliases(qwerty)"	};
	xkb_types     { include "complete"	};
	xkb_compat    { include "complete+ledscroll(group_lock)"	};
	xkb_symbols   { include "pc+us+ru:2+inet(evdev)+capslock(grouplock)"	};
	xkb_geometry  { include "pc(pc105)"	};
};

Нет нужного

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

совершенно идентичный, что неудивительно с учетом того, что setxkbmap выдает конфиг, а не текущее состояние

cvs-255 ★★★★★
() автор топика
Последнее исправление: cvs-255 (всего исправлений: 1)

У Xов нет понятия раскладка. Есть только отображение между keymaps и keysyms.

xmodmap -pk

anonymous
()

В своё время мне посоветовали xkb-switch, я доволен.

Debasher ★★★★★
()

Когда-то в коньках определял по звездам с помощью

xset -q | grep 'LED'

Worron ★★★
()

grep XkbLayout /etc/X11/xorg.conf.d/00-keyboard.conf

не? или я чего-то не понимаю

unt1tled ★★★★
()
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <X11/XKBlib.h>

int main() {
    Display *dpy = XOpenDisplay(NULL);
    XkbDescRec desc;
    XkbStateRec state;
    char *names[XkbNumKbdGroups];
    int i;

    if (dpy == NULL) {
        perror("XOpenDisplay()");
        exit(EXIT_FAILURE);
    }

    memset(&desc, 0, sizeof desc);
    desc.device_spec = XkbUseCoreKbd;
    XkbGetControls(dpy, XkbGroupsWrapMask, &desc);
    XkbGetNames(dpy, XkbGroupNamesMask, &desc);
    XGetAtomNames(dpy, desc.names->groups, desc.ctrls->num_groups, names);
    memset(&state, 0, sizeof state);
    XkbGetState(dpy, XkbUseCoreKbd, &state);
    for (i = 0; i < desc.ctrls->num_groups; ++i)
        printf("%d)%c%s\n", i, state.group == i ? '*' : ' ', names[i]);

    return 0;
}
arsi ★★★★★
()
Ответ на: комментарий от amorpher

Нет. Я ввожу либо русские символы, либо английские, но не одновременно

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