LINUX.ORG.RU

Идеальный IM (Input Method)

 , , , ,


0

4

Мне нужно, чтобы IММ (IM моей мечты) умел в несколько (больше четырех) простых раскладок (не как китайская или японская) и в отдельную комбинацию клавиш для переключения в каждую.

Стандартная X-овая фигня не подходит, потому не умеет больше, чем в четыре. В ibus'ах, scim'ах и прочей ерунде тоже всякие косяки, вроде того, что они в половине приложений не работают, но не только (я уже не помню).

Как жить?



Последнее исправление: Kotolegokot (всего исправлений: 1)

Вот в винде, как ни странно, с этим гораздо проще.

Kotolegokot
() автор топика

Может, есть какие-то патчи для X-ов?

Kotolegokot
() автор топика

Стандартная X-овая фигня не подходит, потому не умеет больше, чем в четыре

Кто тебе мешает по своему хоткею делать ротацию иксовых настроек?

По типу держать где-то текущую раскладку, и правила ротации и/или вызова остальных. По хоткею берём следующую, или вытаскиваем нужную.

iu0v1
()
Ответ на: комментарий от Kotolegokot

Да. Его вызов дешевый по ресурсам. И как решение, дешевле чем накладывать патчи на иксы. Это же линукс, тут можно всё и всё состоит из костылейтворческого подхода.

iu0v1
()
Ответ на: комментарий от Kotolegokot

Такое дело, что ты не найдёшь покоя, пока не примешь то, что нужно достигать цели, а не делать красивое решение ради красивого решения.

Ресурсов не жрёт, реализовать можно за пять минут, задачу выполняет.

iu0v1
()
Ответ на: комментарий от iu0v1

Что-то сегодня второй тред про раскладки и изящные решения. Не там народ красоту ищет, не там.

mandala ★★★★★
()

И, да, для недостающих раскладок юзаю 3rd level на существующих.

lazyklimm ★★★★★
()

Можно больше четырёх раскладок ручками (сам не делал, но слыхал). В убунте, по крайней мере, есть возможность установить сочетание для следующей раскладки (по списку) и предыдщей используемой раскладки, ручками наверно и в других можно. Вроде в Мак Оси как раз это используется. А если нужно сами раскладки проапгрейтить, можно моей поделкой воспользоваться.

Dreamject
()

Да вроде не тормозит, только вызов setxkbmap убивает xmodmap.

Kotolegokot
() автор топика
Ответ на: комментарий от lazyklimm

В консоли когда вводил, индикатор менялся спустя секунду или что-то такое.

Если по теме - как узнать текущее состояние setxkbmap , чтобы перенести на другую систему и на всякий слуачй забэкэпить?

Dreamject
()
Ответ на: комментарий от Dreamject

как узнать текущее состояние setxkbmap, чтобы перенести на другую систему и на всякий случай забэкапить?

Смотря что такое «состояние setxkbmap»?

Если набор предустановок из X11/xkb/, то $ setxkbmap -print.

Если полное, самодостаточное, описание, то $ xkbcomp $DISPLAY <target-file> (можно и на стандартный вывод, разумеется: $ xkbcomp $DISPLAY -).

Применяется, соответственно, наоборот: $ xkbcomp <source-file> $DISPLAY

Zmicier ★★★★★
()

А еще вопрос. Как забиндить что-нибудь так, чтоб работало нзависимо от раскладки? То бишь Ctrl+Q и Ctrl+Й были бы одним и тем же и для любой раскладки.

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

В общем, я в /usr/share/X11/xkb/symbols/pc заменил Caps_Lock на ISO_Lock, и запихнул его в Mod3. А переключение раскладок забиндил, как подсказал ju0v1, на Mod3 + f1, f2, f3, f4, f5..., а в качестве Caps_Lock у меня Mod3 + Escape.

Kotolegokot
() автор топика
Ответ на: комментарий от Kotolegokot

Никак. Иксы сами по себе не предоставляют возможности «что-нибудь забиндить» вообще, независимо ли от раскладки или зависимо.

Zmicier ★★★★★
()
Последнее исправление: Zmicier (всего исправлений: 1)
Ответ на: комментарий от Kotolegokot

я в /usr/share/X11/xkb/symbols/pc заменил

Ну нельзя же в /usr/ руками лазить (если только у вас не GNU/Linux from scratch). Про /etc/ не слышали, не?

Zmicier ★★★★★
()
Ответ на: комментарий от Kotolegokot

И что там, в /etc/?

Место для конфигурационных файлов, которые имеют приоритет перед находящимися в /usr/share/, и которые не будут перезаписаны диспетчером пакетов, то есть их можно и нужно править руками.

Zmicier ★★★★★
()
Ответ на: комментарий от Kotolegokot

Как вам будет угодно. Однако я бы не задавал уточняющих вопросов, если бы понимал, что вы спросили.

Zmicier ★★★★★
()
Ответ на: комментарий от Kotolegokot

Да, должно быть. Хотя я не проверял, но иначе было бы странно.

(Ну только не «просто положите», разумеется, а еще и примените как-то, через setxkbmap или еще как — так, как это вы и сейчас делаете. Но это вы понимаете, я думаю.)

Zmicier ★★★★★
()
cat /etc/X11/xorg.conf.d/50-keyboard.conf
Section "InputClass"
	Identifier "keyboard"
	MatchIsKeyboard "on"
	Option "XkbLayout" "us,ru,cz,de"
	Option "XkbVariant" ",winkeys"
	Option "XkbOptions" "grp:caps_toggle,grp_led:caps"
EndSection

Чисто теоретически эта конфигурация будет переключать раскладки по кругу(от us до de и опять по новой).

exepush
()

Вот мне бы кто подсказал как поменять местами Ctrl и Caps и этим новым капсом (бывшим Ctrl) менять раскладку.

p.s. нет, обычное переназначение в setxkbmap не работает, контрол и капс местами меняются, но капсом раскладка не переключается.

Im_not_a_robot ★★★★★
()
Ответ на: комментарий от Im_not_a_robot

Сначала делаешь ctrl:nocaps (или swapcaps), потом переключение раскладки на lctrl. ЕМНИП, именно в таком порядке работает. Стандартными правилами можно много сделать, если понимать, как они работают и использовать правильный порядок их применения.

anonymous
()
Ответ на: комментарий от exepush

Если добавить пятую раскладку, она не добавится.

Kotolegokot
() автор топика
Ответ на: комментарий от anonymous

Ну, в общем нет, не получилось. Пробовал в разных комбинациях — все одно. Если у тебя таки работает, покажи плз свои опции setxkbmap.

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