История изменений
Исправление debugger, (текущая версия) :
Если ты запустишь xkbcomp с ключиком -xkb, то получишь свою карту клавиатуры в человекочитаемом виде (только не запускай это в ~/.config/xkb, потому что ketmap.xkb будет затёрт):
$ xkbcomp -xkb -I$HOME/.config/xkb $HOME/.config/xkb/keymap.xkb
$ less keymap.xkb
И там можно увидеть кое-что интересное:
<...>
xkb_symbols "pc+rus(tw)+eng(eng)+inet(evdev)" {
name[group1]="English (US)";
name[group2]="Russian (typewriter)";
<...>
key <AD01> {
type= "ALPHABETIC",
symbols[Group1]= [ q, Q ]
};
<...>
То есть имена-то даются двум группам, но никаких символов во второй группе не определено (я не вижу symbols[Group2]=[...]). Так как вторая группа фактически отсутствует, то и переключение не даёт эффекта.
Вторую группу ты загружаешь неправильно. Надо вот так (в *твоём* файле keymap.xkb):
xkb_symbols {
include "pc+rus(tw):2+eng(eng)+inet(evdev)"
include "capslock(grouplock)"
include "compose(rctrl)"
};
Обрати внимание на двоеточие и двойку.
А вообще непонятно зачем ты всё это делаешь. Чтобы сделать свою раскладку, обычно хватает одного-двух файлов, необязательно копировать половину usr/share/X11/xkb.
А теперь контрольный вопрос в голову: можно ли понять в чём ошибка, располагая твоим первым сообщением? Напоминаю твоё шедевральное описание проблемы:
xkb_keymap "mymap" {[br]
xkb_compat {...};[br]
xkb_geometry {...};[br]
xkb_keycodes {...};[br]
xkb_types {...};[br]
xkb_symbols {...};[br]
};
В каждой строчке только точки, догадайся, мол, сама.
Исправление debugger, :
Если ты запустишь xkbcomp с ключиком -xkb, то получишь свою карту клавиатуры в человекочитаемом виде (только не запускай это в ~/.config/xkb, потому что ketmap.xkb будет затёрт):
$ xkbcomp -xkb -I$HOME/.config/xkb $HOME/.config/xkb/keymap.xkb
$ less keymap.xkb
И там можно увидеть кое-что интересное:
<...>
xkb_symbols "pc+rus(tw)+eng(eng)+inet(evdev)" {
name[group1]="English (US)";
name[group2]="Russian (typewriter)";
<...>
key <AD01> {
type= "ALPHABETIC",
symbols[Group1]= [ q, Q ]
};
<...>
То есть имена-то даются двум группам, но никаких символов во второй группе не определено (я не вижу symbols[Group2]=[...]). Так как вторая группа фактически отсутствует, то и переключение не даёт эффекта.
Вторую группу ты загружаешь неправильно. Надо вот так (в *твоём* файле keymap.xkb):
xkb_symbols {
include "pc+rus(tw):2+eng(eng)+inet(evdev)"
include "capslock(grouplock)"
include "compose(rctrl)"
};
Обрати внимание на двоеточие и двойку.
А вообще непонятно зачем ты всё это делаешь. Чтобы сделать свою раскладку, обычно хватает одного-двух файлов, необязательно копировать половину usr/share/X11/xkb.
Исходная версия debugger, :
Если ты запустишь xkbcomp с ключиком -xkb, то получишь свою карту клавиатуры в человекочитаемом виде (только не запускай это в ~/.config/xkb, потому что ketmap.xkb будет затёрт):
$ xkbcomp -xkb -I$HOME/.config/xkb $HOME/.config/xkb/keymap.xkb
$ less keymap.xkb
И там можно увидеть кое-что интересное:
xkb_symbols "pc+rus(tw)+eng(eng)+inet(evdev)" {
name[group1]="English (US)";
name[group2]="Russian (typewriter)";
<...>
key <AD01> {
type= "ALPHABETIC",
symbols[Group1]= [ q, Q ]
};
<...>
То есть имена-то даются двум группам, но никаких символов во второй группе не определено (я не вижу symbols[Group2]=[...]). Так как вторая группа фактически отсутствует, то и переключение не даёт эффекта.
Вторую группу ты загружаешь неправильно. Надо вот так (в *твоём* файле keymap.xkb):
xkb_symbols {
include "pc+rus(tw):2+eng(eng)+inet(evdev)"
include "capslock(grouplock)"
include "compose(rctrl)"
};
Обрати внимание на двоеточие и двойку.
А вообще непонятно зачем ты всё это делаешь. Чтобы сделать свою раскладку, обычно хватает одного-двух файлов, необязательно копировать половину usr/share/X11/xkb.