Я пользователь KDE и думаю о переходе на Unity. Из-за ручного отключения я использую липкие клавиши, а в KDE на системной панели есть апплет, который показывает, какие клавиши-модификаторы активны. Я помню, что Gnome также имел эту функцию, как и Windows и OS X.
Как можно добавить апплет состояния модификатора клавиатуры на панель в Unity?
Уточнение: я уже включил липкие клавиши. Я спрашиваю, как добавить апплет, который указывает состояние клавиш-модификаторов . Этот индикатор показывает, когда нажата клавиша Shift, когда нажата клавиша Alt, когда нажата клавиша Tux и когда нажата клавиша Ctrl. Этот апплет существует во всех основных средах рабочего стола (KDE, Windows, Mac OSX и Gnome). Это необходимо для доступности рабочего стола.
Вот изображение апплета состояния модификатора клавиатуры, рядом с апплетом индикатора раскладки клавиатуры. Модификаторы , представленные, слева направо, Shift
, Ctrl
, Alt
, I-dont-know-this-one
, Tux/Win
, NumLock
, и CapsLock
. Видно, что клавиша NumLock активна.
источник
indicator-keylock
только отображает состояние тех ключей , которые традиционно имеют индикаторы состояния на самой клавиатуре:CapsLock
,ScrollLock
,NumLock
. Мне нужен индикатор , который показывает состояние стандартных клавиш - модификаторов:Shift
,Ctrl
,Tux
,Alt
. Все основные рабочие столы (KDE, Windows, Mac OSX) имеют доступ к этому апплету индикатора.plasma-widget-kbstate
быстрым, и поиск в центре программного обеспечения действительно не учитывает никаких эквивалентных результатовsudo apt-get install plasma-widget-kbstate
.Ответы:
Это выдающаяся проблема в Unity:
Код ниже был обновлен, теперь он может использовать иконки для отображения состояния. Но иногда это может замедлиться, так как мне приходится обновлять файл значков на жестком диске, а затем снова его загружать. (См. Примечания об этой проблеме / ограничение в
libappindicator
)Хорошо упакованный релиз был сделан доступным на webupd8 ppa (спасибо Алине Андрей / Андрей /)
Ссылка: Индикатор состояния модификаторов клавиатуры Для Ubuntu: Индикатор Xkbmod
Оригинальный ответ:
Это не является каноническим ответом на вопрос. Это можно считать обходным решением. Прыжки кто-то пишет сложные решения для этого.
Это простой прототип индикатора модификаторов клавиатуры для Unity.
Изображение начинается слева: иконка, Shift, закрытые буквы, Ctrl, Alt, Super, Locked AltGr (маленький кружок для обозначения заблокированного состояния)
Исходный файл
unity-xkbmod.c
:Установка необходимых заголовков / библиотек: (Не уверен, что я что-то пропустил)
Компиляция:
Бегать:
Замечания:
libappindicator
Используемые для индикаторов Unity отсутствуют важные функции, упрощающие портирование других индикаторов рабочего стола. См. Ошибка # 812067 Необходим API: поддержка настройки иконки pixbufБез этой функции, скажем, нам нужны (Shift, Ctrl, Alt, AltGr, Super) с активными липкими клавишами; у нас есть 3 основных статуса для каждого (Выкл., Вкл / Защелка, Заблокировано). Таким образом, 3 ^ 5 комбинированных иконок должны быть сгенерированы. (Где нормальный случай только 3х5 одиночных значков)
Поэтому я использовал индикаторную метку с символами из шрифта DejaVu Sans .
Чтобы поместить значок, поместите его в ту же папку и назовите его
icon.*
. Принятые форматы: PNG, SVG, ICO, XPM ...Если вам не нравится какой-либо значок, просто создайте изображение размером 1x1 px.
Ссылки:
xkbwatch
&plasma-widget-kbstate
источник
Другое решение, которое не является идеальным, но некоторые могут найти его полезным, так как возможно иметь полную функциональность, как в KDE, например, активировать мод одним кликом.
установить
kbstate
апплетЗапустите его в
plasma-windowed
плеереОбычное окно
Окно без границ
У меня не было много времени, чтобы поиграть, но я
wmctrl
могу помочь позиционировать, изменять размеры и делать это на вершине при запуске.Ссылка: Какая команда для запуска плазмоида kde и меню кикстарта
источник
Я выполнил поиск монитора липких ключей Ubuntu и нашел кое-что полезное здесь: http://code.google.com/p/key-mon/
Попробуйте запустить
key-mon --sticky
Поддержка липких ключей.Ссылка: http://code.google.com/p/key-mon/
Обратите внимание, что версия, доступная через центр программного обеспечения, - 1.6-0ubuntu1. Выпущен в июне 2011 года, который не поддерживает параметр --sticky. Если индикатор выглядит точно так же, как указано выше, у вас есть более старая версия. Попробуйте последнюю версию по адресу http://code.google.com/p/key-mon/. На момент написания статьи она выпущена keymon_1.17-1_all.deb 229 КБ. 3 января 2014 года. Поддержка --sticky switch проверена и подтверждена.
источник
key-mon
показывает, какая кнопка была нажата, а не состояние клавиш-модификаторов . Различие состоит в том, чтоkey-mon
дисплей возвращается в неотжатое состояние через 1 секунду после нажатия кнопки . Апплет состояния модификатора клавиатуры вернет дисплей в состояние без нажатия, когда произойдет следующее нажатие клавиши, и, следовательно, отключит состояние «нажато» .--sticky
опция, кажется, угадывает состояние клавиш-модификаторов, наблюдая за состоянием других клавиш, вместо того, чтобы запрашивать правильный интерфейс, как это делают надлежащие апплеты состояния модификатора клавиатуры. Это можно увидеть, дважды нажав клавишу-модификатор: первый раз включает индикатор в апплете, но второй раз не отпускает его. Таким образом, состояние ошибочно сообщается как активное, когда это не так. Эта связанная ошибка решает проблему частично, я буду заполнять детали там и в дополнительных ошибках. Спасибо.