LINUX.ORG.RU
Ответ на: комментарий от gtk222

В поисках решения своего вопроса не раз заходил на эту ветку.
Темы схожие.
Неожиданно для себя я понял, что индикация раскладок клавиатуры на любых панелях по углам экрана - не рабочая и не эффективная тема.
По факту, кто смотрит на панель с индикацией текущей раскладки клавиатуры перед тем как набирать текст?
Вариант с нажатием правого ctrl для RU, а левого ctrl для EN - идея хорошая, но тоже далека от рефлектории человека.
Когда человек решил что-то написать он просто начинает писать.
И никто кроме него самого не знает на каком языке и какмими симловами он это будет делать.
Т.е. мысль о необходимости нажатия каких-то клавишь для смены раскладки клавиатуры приходит позже.
Результат тот-же - Backspacing.
И если посчитать сколько раз я Backspacing-ую, то становится печально.
При этом на панели в верхнем правом углу у меня есть индикация текущей раскладки.
В связи с чем, вижу единственный правильный варинт (для себя) это индикация раскладки клавиатуры с помощью курсора.
Т.е. сделать курсор в виде прямоугольника (можно мигающего), в которм разместить друг над другом (рядом друг с другом) 2-е буквы текущей раскладки.
И использовать данный курсор по умолчанию во всех приложениях.

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

А цвет самого курсора ни как нельзя менять в соответствии с раскладкой. Там же в консоли подсвечивается знакоместо, или это только при подключении по ssh?

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

.. да в чистой консоли курсор в виде знака подчеркивание. Тут цвет мало заметен будет.

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

А цвет самого курсора ни как нельзя менять в соответствии с раскладкой.

Цвет поменять можно, вопрос в обработке события смены раскладки:

echo -e "\e]12;#ff9922\a"
dmitry237 ★★★★★
()
Последнее исправление: dmitry237 (всего исправлений: 1)
Ответ на: комментарий от dmitry237

На просторах интернета нашёл ещё один способ определения текущей раскладки без sed, awk, perl и т.д.:

xset -q | while read -r line ; do [[ $line = *Group* ]] && line=${line//13*} && ([[ $line = *off* ]] && echo 'EN ' || echo 'RU ') && exit ; done

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

Можно и так, я вот не заметил, что меняются on и off ))

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