LINUX.ORG.RU

Ищется нормальный индикатор раскладки клавиатуры

 , ,


4

5

Сейчас используется xxkb, регулярно падает. Например, из-за изменения яркости подсветки экрана, и не только. Конечно, можно при выявлении такой зависимости вроде «поменял яркость — падает» писать костыль, который по нажатию клавиши изменения яркости будет не просто её менять, а делать killall xxkb, менять яркость, запускать xxkb. Но это же костыль.

Требования:
отсутствие привязки к какому-либо DE и лишних зависимостей
изкоробочность
максимально стабильная работа

Используется i3wm и gentoo.

★★

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

Вот еще:

3. Утилита xxkb
Xxkb — это небольшая программа для отображения текущей раскладки клавиатуры. Вот так у меня выглядит файл ~/.xxkbrc:
XXkb.button.enable: no
XXkb.mainwindow.enable: yes
XXkb.mainwindow.type: tray
XXkb.mainwindow.geometry: 15x15+0+0
XXkb.image.path: /usr/share/xxkb/
XXkb.mainwindow.image.1: en15.xpm
XXkb.mainwindow.image.2: ru15.xpm
Для автозапуска xxkb в ~/.i3/config у меня прописано exec xxkb &.
sci-fi
()
Ответ на: Вот еще: от sci-fi

Я уже читал. Мой собственный конфигг если и отличается, то не сильно. Разницы между exec xxkb & и exec --no-startup-id xxkb & не увидел, как падало, так и падает.

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

?

Я рекомендую — kbdd - запоминание раскладки для каждого окна в тайловых wm

Kbdd — это небольшой демон, для пооконного запоминания раскладок, написанный на чистом C и распространяющийся под лицензией GPL-3. Особенность данного демона в том, что он не зависит от сторонних WM и/или DE. (из заметки автора программы на хабре)

Вся соль программы в независимости от WM/DE, что означает — она будет работать там, где xxkb пасует. В моём случае это awesome. 

Пользователи gentoo могут установить kbdd из оверлея rion, а пользователи archlinux из AUR. Для остальных: стабильную версию можно взять здесь. Гит https://github.com/qnikst/kbdd.git
sci-fi
()
Ответ на: ? от sci-fi

?

Порадовала возможность отображать в заголовке окна текущую раскладку. Но данная функция не работает в некоторых специфических приложениях из-за чего xxkb падает. Подобные программы необходимо добавить в игнор в настройках, используя свойства окон, которые можно узнать с помощью xprop. Кроме того, проигнорировать надо и программы подобные fbpanel. Но к сожалению порой "лишний" флажок на панели все равно появляется.[/Bash]
sci-fi
()
Ответ на: ? от sci-fi

А чем оно будет эту раскладку отображать в трее?

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

да я бы для начала попробовал запустить его в gdb. Кстати, а он правда падает (т.е. с записью о сегфолте в сислоге) или просто тихо завершается?

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

Для индикации, очевидно. Чтобы отображалось в трее флажком.

yura_ts ★★
() автор топика
Ответ на: комментарий от sci-fi

Ладно, это очень увлекательная дискуссия, я её вел, так как болел, больше ни на что сил не было.

Пойду дышать свежим воздухом, хватит уже сидеть перед ноутом.

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

capslock

cat /etc/X11/xorg.conf.d/30-keyboard.conf 
Section "InputClass"
          Identifier "keyboard-all"
          Driver "evdev"
          Option "XkbLayout"    "us,ru"
          Option "XkbOptions"   "grp:caps_toggle,grp_led:caps"
          MatchIsKeyboard "on"
EndSection

Уже запилил, и я в курсе некоторых основ. Мне УДОБНЕЕ смотреть на флажок, чем на лампочку капслока, которая ночью будет сливаться с подсветкой клавиатуры.

yura_ts ★★
() автор топика
(while true; do xxkb; sleep 5; done)&

Это у меня в стартовых скриптах WM уже довольно давно :)

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

Да, это круто. Но увы, он выдает текст, а не гадит в трей. А убогий i3status не умеет что-либо стороннее писать из коробки, только (...далее список, например, загрузку проца, время, ...). То есть можно и накостылять, но зачем?

Обойдусь временно лампочкой, может потом придумаю что получше.

yura_ts ★★
() автор топика

Так я не понял решили проблему или нет? Мне тоже надо что бы в i3 в каждом окне/программе была своя раскладка, а не одна на всё. При вызове dmenu набор идет в том языке какой последний, а хочется что бы переход был на системный, и я не совсем понял как kbdd настроить. Буду следить за темой, может что полезное будет.

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

Но увы, он выдает текст, а не гадит в трей.

А разве там нельзя просто виджеты цеплять как в awesome? Плохо если так =(

http://i3wm.org/docs/userguide.html#status_command

Не оно случаем?

Совсем маньячный Ъ способ: статусбар написан тоже на Си. Ну и... Благо, если стоит gentoo, то всё равно из исходников собирается и кастомные патчи накладываются легко.

Как будет время попробую.

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

Не решили толком. Галочка «Решено» = топикстартер удовлетворился индикацией раскладки с помощью лампочки на капслоке и редко-падающего-xxkb, ну а при запуске dmenu нужно будет иногда переключить раскладку.

Остальные окна обрабатываются нормально, для них раскладки свои запоминаются, а вот с dmenu да, проблема.

yura_ts ★★
() автор топика

А ещё, если уже стоит qt, можно попробовать qxkb. Но не знаю, насколько это соответствует пункту «отсутствие привязки к какому-либо DE и лишних зависимостей». Там только qt.

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

у меня на OpenSUSE 13.1 и Awesome падает эта приблуда по невыясненным обстоятельствам. Так что выбор сомнительный.

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

awesome v3.5.1

function get_layout()
    local filedescriptor = io.popen("skb -1")
    local value = filedescriptor:read()
    filedescriptor:close()
    return value
end

keylayout = wibox.widget.textbox()
mytimer = timer({ timeout = 1 })
mytimer:connect_signal("timeout", function() keylayout:set_text(get_layout()) end)
mytimer:start()
...
    left_layout:add(keylayout)
cx ★★
()

я подписался на эту тему ибо у меня есть следующая проблема: на генту я пользовался xxkb. это простой как кирпич индикатор, который просто делает свою работу™. При попытке перенести этот опыт на убунту меня ждал жесткий облом: xxkb в убунту регулярно падает. раньше я думал что проблема именно в этой софтине но продолжал ее юзать ибо лень :)

Когда я увидел этот тред на ЛОРе, я воспрял духом: ну кто-то а лоровский спв точно подкинет годную идею. я перепробывал все годные (без километра зависимостей и странных рантаймов) проги, которые были здесь упомянуты. Выбор пал на gxkb. Я думал, вот оно, мое счастье. Но после пары недель лёгкое спокойствие было замещено старым недовольством: этота софтинка (уже не индикатор, а переключатель) выдает очень похожый фокус: при переключении языка с помощью Alt+Shift флажок не меняется. Тоесть единственное усовершенствование по сравнению с xxkb это то что он не падает. Это несомненно прогрес, вашу мать!

уважаемые знатоки внимание вопрос™©: в убунту|линуксе есть индикатор который способен **нормально работать** (в fluxbox) **неделями** а не до следующего падения?

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

уважаемые знатоки внимание вопрос™©: в убунту|линуксе есть индикатор который способен **нормально работать** (в fluxbox) **неделями** а не до следующего падения?

у меня xxkb падает ТОЛЬКО если он настроен чтоб висеть флажком на каждом окне,
а если я его ставлю в трей - всё ок
причём...
в убунте он вообще не запускался для каждого окна, только в трей (и не падает)
в федоре висит на всех окнах, падает пару раз в день не зависимо от списка игнора окон, иногда падает для одного окна, иногда да 2-3, иногда вообще весь

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

попробовал запустить его в gdb

или я не шарю или что-то не так
Reading symbols from /usr/bin/xxkb...(no debugging symbols found)...done.

(т.е. с записью о сегфолте в сислоге) или просто тихо завершается?

копнул логи, вот что нашёл
xxkb[1337]: segfault at 58c5f7cc ip 4ed2e27a sp bfaf97e0 error 4 in libc-2.18.so[4ecb9000+1b8000]
и во всех случаях это error 4 in libc-2.18.so[4ecb9000+1b8000]

q11q11 ★★★★★
()

Да, хреново на буках: индикатора scroll lock нет... Сам вот никак не придумаю, что бы такое забульбенить в качестве индикатора раскладки. Жаль, нельзя светодиодом вебки управлять отдельно — было бы лучше всего.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от q11q11

у меня не для каждого окна, по падает зараза. я уже подумываю а мож проблема уровнем ниже?

ps: я не знаю как убунтовцы/дебиановци собирают софт, но у меня есть несколько аппов, которые у генту работали на порядок лучше

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

я уже мульен репортов послал в каноникал через ихний упси. но дело с места так и не сошло

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

ну ты же просил светодиод, которым можно управлять. Народ вон на кикстартере развлекается этой затычкой для usb-порта.

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

вангую что разобрав ноут на материнке можно найти ещё пару-тройку дополнительных USB-портов

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

Тьфу ты! Ты про отдельную хрень. Дык, я на 60-рублевом МК тоже так могу. Но нафига левую приблуду монтировать?

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