Работаем быстрее! Софт для клавиатуры. Budgie-remix: индикаторы раскладки клавиатуры

Как известно, люди делятся на две категории: на тех, кто переключает раскладку с помощью Ctrl+Shift и тех, кто использует Alt+Shift. А еще есть счастливчики, кому это не нужно – те, у кого только одна раскладка (как правило, английская). Остальные завидуют им и мучаются с двумя, а то и с тремя раскладками: английский, русский, украинский (белорусский, казахский и т.д.).


Проблема в том, что, переключая язык, приходится постоянно смотреть на эту маленькую иконку языка. Есть и другие варианты:

  • Использовать отдельные комбинации на разные языки (Ctrl+1(2.3)) – программисты, которые работают в разных IDE, согласятся, что это не вариант, так как такие комбинации часто же заняты и перекрываются, а использовать другие в IDE непривычно. Нюанс еще в том, что раскладка в операционной системе – это на самом деле раскладка на текущую программу, а не на все (не удивлюсь, если не все это замечали). Т.е, если сейчас активен Word c английской раскладкой, то, переключившись в браузер, там может быть другая раскладка. И приходится или смотреть на иконку снова или же повторно вбивать, например, Ctrl+1, даже если язык не менялся.
  • Использовать программы типа Punto switcher, которые пытаются автоматически исправлять раскладку – не всегда это получается правильно и часто еще больше усложняет набор.
  • Использовать программы, которые переключают темы Windows – не каждому понравятся разноцветные панель задач или окна.

Идея

А давайте сделаем на основе Arduino кубик с LED подсветкой, который будет стоять на столе и менять свой цвет в зависимости от раскладки. Каждый язык – разный цвет. Например, английский – зеленый, русский – красный, украинский – синий. Это позволит видеть язык текущего приложения периферийным зрением.



Сразу говорю, это не сложно сделать даже не электронщикам.

Аппаратная часть

  • Arduino Micro – плюс платы в том, что есть micro-USB, что позволяет соединить его популярным кабелем с ПК. Можно использовать любую компактную плату с micro-USB.
  • RGB-светодиод. Можно использовать вместо него и 3 разноцветных светодиода.
  • 3 резистора 220 ом.
  • “кубик”.

В качестве “кубика” можно использовать что угодно. Я купил часы-будильник с Aliexpress.com в виде кубика. Вот так выглядит сам куб:



Понравились размеры, цена и дополнительное использование в виде датчика температуры (сами часы в кубике не точные, потому бесполезные). На том же Aliexpress.com можно найти и другие варианты:

  • пирамида-часы;
  • просто кубик с подсветкой.

Учитывая сегодняшние возможности, можно и на 3D принтере что-то напечатать. Да и просто использовать рамку с фото.

Пишем код

Тут все просто, читаем в цикле COM-порт. При чтении значения 1 – включаем зеленый светодиод, остальные гасим. При получении 2 - включаем красный светодиод, остальные гасим. При получении 3 - включаем синий светодиод, остальные гасим.


int inByte = 0; int LED_R = 5;//красный пин int LED_G = 6;//зеленый пин int LED_B = 9;//синий пин int RV = 255; // яркость int GV = 255;// яркость int BV = 255;// яркость void setup() { Serial.begin(9600); pinMode(LED_R, OUTPUT); pinMode(LED_G, OUTPUT); pinMode(LED_B, OUTPUT); } void loop() { if (Serial.available() > 0) { delay(100); inByte = Serial.read(); if (inByte == "2") { // RU analogWrite(LED_R, RV); analogWrite(LED_G, 0); analogWrite(LED_B, 0); } else if (inByte == "1") { // EN analogWrite(LED_R, 0); analogWrite(LED_G, GV); analogWrite(LED_B, 0); } else if (inByte == "3") { //UA analogWrite(LED_R, 0); analogWrite(LED_G, 0); analogWrite(LED_B, BV); } } }

Паяем

Еще проще. Общий пин соединяем с землей (GND). Остальные через резистор 220 Ом с соответствующими пинами, как показано на рисунке.



Устанавливаем в куб, предварительно вырезав отверстие под разъем.


Программная часть

Тут немного сложней. При изменении языка нужно посылать на COM-порт соответствующее значение (1 или 2 или 3).


Для не программистов ниже есть ссылка на программу под Windows, которая это делает. Единственное, в программе нужно указать COM-порт, к которому подключена Arduino. Это не сложно узнать в диспетчере устройств. Программа после запуска сворачивается в трей, но ее нужно добавить в автозапуск при старте Windows.



Программа написана на Delphi, на данный момент не имеет:

  • Функции автоматического поиска порта. Это легко сделать, Arduino при старте будет посылать некий код, программа будет перебирать порты и остановиться в случае его прочтения.
  • Выбора языков. Программа работает только с русским, английским и украинским. Можно сделать возможность указывать по кодам любой язык.
  • Автозапуска программы.

Результат


Интересно, что в Windows есть некоторая задержка после нажатия комбинации переключения языка. При этом кубик срабатывает быстрее, чем индикатор, что очень удобно. Больше года использую данную систему и уже не могу представить, как без этого работать.



Если пост понравится, доработаю программу, добавив описанный выше недостающий функционал.

Теги: Добавить метки

Каждый пользователь компьютера ежедневно сталкивается с проблемой ошибочного ввода: вы начинаете набирать некоторый текст на клавиатуре (при этом смотрите на клавиатуру, а не на экран), и уже набрав несколько слов понимаете, что набирали не в том языке ввода (эти вечные "Ghbdtn! Rfr ltkf&"). Приходится удалять плоды своих напрасных стараний, переключать язык и начинать все с чистого листа. Особенно неприятно, когда такое случается при наборе пароля. Если Вам тоже это надоело - прошу под кат.

Многие порекомендуют для борьбы с этой проблемой воспользоваться программами, которые автоматически переключают язык ввода, анализируя набираемый текст (Punto Switcher и т.п.). Однако те же многие согласятся, что такие программы несовершенны и часто непредсказуемы в своем поведении, что только повышает степень неоднозначности для пользователя и наносит больше вреда чем пользы.
Конечно, очень полезно в этом отношении было бы выработать привычку всегда смотреть на индикатор языка ввода на языковой панели прежде чем начинать набирать текст. Да вот только это довольно неудобно, особенно если приходится работать с полноэкранными приложениями, с несколькими мониторами... И вообще, часто переводить взгляд от поля ввода к индикатору как-то не комфортно. Более того, случается, что это самый индикатор по каким-то причинам может отображать недостоверную информацию либо вообще исчезать с экрана (согласитесь, случается такое). В таком случае остается только проверять язык ввода эмпирически.
Невольно напрашивается мысль о том, что традиционное средство, призванное обеспечить информированность пользователя о активном в текущий момент языке ввода и, следовательно, корректность ввода, совершенно неэффективно. Разумным решением было бы переместить злосчастный индикатор из угла экрана, куда так лень перевести взгляд, к текстовому курсору, куда взгляд пользователя направлен изначально. И увы - это самое решение разработчиками операционных систем пока не реализовано (а возможно и не будет). К счастью, существует ряд программ, которые могут помочь в той или иной степени устранить это упущение.

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

Надеюсь, прочитав эту статью, вы сможете выбрать программу, которая поможет вам оптимизировать работу с компьютером.

Апплет панели Gnome, который отображает текущую раскладку клавиатуры, в качестве индикатора использует надписи вида США или Рус. Я расскажу, как сделать так, чтобы в качестве индикатора отображался флаг выбранной страны.

Добавляем индикатор раскладки клавиатуры

Если у вас на панели Gnome отсутствует индикатор раскладки, добавьте его. Об этом можно почитать в заметке Добавление элементов на панель и на рабочий стол Gnome в Ubuntu .

Подготавливаем изображения флагов

Для начала нужно найти рисунки (иконки) с нужными вам флагами. Файлы должны иметь названия ru.png для русской раскладки и us.png для английской. Я подготовил два рисунка флагов для России и США, которые вы можете использовать.

Поместите файлы с рисунками флагов в директорию ~/.icons/flags . Значок тильда ~ означает вашу домашнюю директорию. Например, /home/pingvinus/.icons/flags . Или же вы можете поместить эти файлы в директорию /usr/share/pixmaps , тогда у всех пользователей в системе будут использоваться иконки флагов для индикации раскладки.

Изменяем конфигурацию

Теперь нужно запустить утилиту gconf-editor (редактор конфигурации Gnome). Для этого можно нажать Alt+F2 , ввести в открышемся окне gconf-editor и нажать кнопку Запустить. В левой части окна выбрать путь desktop->gnome->peripherals->keyboard->indicator . В правой части окна поставить галочку напротив пункта showFlags .

Заключение

Теперь, чтобы изменения вступили в силу, выйдите и снова войдите в систему (возможно придется перезагрузить компьютер). Если все было сделано правильно, тогда в качестве индикаторов раскладки клавиатуры будут использоваться ваши изображения флагов.

Пользователи, регулярно набирающие на компьютере даже небольшие объемы текста, замечают мелкие недостатки Windows, усложняющие ввод. Избавиться от них довольно просто с помощью нескольких программ, описанных ниже. Часть советов в этом материале окажутся полезны лишь тем, кто овладел слепым набором, но некоторые подсказки пригодятся абсолютно всем.

Полезные утилиты

Начнем с самых простых вещей – переключения раскладки. По умолчанию в Windows она назначена на комбинацию Alt+Shift или Ctrl+Shift. В последних версиях ОС пользователь может выбрать и «’» (апостроф), который на большинстве клавиатур находится прямо под кнопкой Esc. Однако это блокирует доступ к клавише «ё», расположенной там же. Расширить возможности Windows позволит утилита Punto Switcher .

С ее помощью переключение раскладки присваивается кнопкам Ctrl, Shift, Caps Lock. Именно на последней и рекомендуем остановиться: Caps Lock удобно нажимать мизинцем левой руки, и в тексте со смешанными языками такое переключение будет происходить гораздо быстрее, чем посредством комбинации клавиш, для которой понадобится поднимать всю руку.

Раз уж речь зашла о Punto Switcher, то остановимся и на других ее достоинствах. Программа автоматически исправляет типичные опечатки, возникающие при наборе, например две заглавные буквы в начале предложения. Автоматически корректируется и текст, набранный на неправильной раскладке (например, слово «пщщпду» будет исправлено на google). С помощью горячих клавиш утилита может отменять конвертацию раскладки или применять ее к любому выделенному фрагменту текста. У Punto Switcher есть собственный индикатор языка в системном трее, а еще она умеет отображать текущую раскладку в виде флага страны, что гораздо удобнее аббревиатур EN или RU.

Близким аналогом Punto Switcher является Arum Switcher . Программа также имеет индикатор в системном трее, исправляет различные типы опечаток, регистр текста и назначает абсолютно любую клавишу или их комбинацию на переключение раскладки.

Если пользователям нужна только функция конвертации раскладок (перевода уже набранных слов по типу «пщщпду»→google), то в этом случае выручит более простая утилита LangOver , которая после выделения текста и нажатия F10 (клавишу можно менять) конвертирует символы.

Language Indicator тоже выполняет лишь малую часть того, что умеют Punto Switcher и Arum Switcher, а именно отображает флаг страны указанного языка. При этом у программы все же есть одна дополнительная функция. Во время перемещения мышки по экрану утилита будет показывать выбранную раскладку в каждом конкретном приложении, над которым сейчас находится курсор. Программы, подобные Language Indicator, могут пригодиться тем, у кого по каким-то причинам из системного трея исчез стандартный индикатор языка и его невозможно вернуть назад (а это достаточно распространенная проблема).

Индикатор раскладки

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

Утилита Flean имеет настройки прозрачности и позиции индикатора на экране (возле текстового курсора или в поле для ввода). По умолчанию она показывает языки в виде флагов, но можно загрузить и любую другую иконку в формате BMP.

Если пользователю нужны более продвинутые возможности, следует обратить внимание на Aml Maple , у которой есть ряд преимуществ. Во-первых, программа отображает язык ввода возле текстового курсора только до начала набора (во Flean флаг виден постоянно, что может отвлекать от печати). Во-вторых, перемещение курсора происходит плавно (Flean применяет неоптимальный алгоритм прорисовки, из-за чего текстовый курсор с флагом перемещается по мере набора текста немного дерганно). Помимо флага, индикатором раскладки может служить и сам цвет текстового курсора. По умолчанию для английского языка он розовый, для русского – синий. Все параметры меняются, а чтобы не запоминать каждый цвет, справа от курсора можно дополнительно выводить флаг.

Утилита Curlyt также предназначена для отображения индикатора языка в том месте, где пользователь набирает текст. Как и в других случаях, есть настройки прозрачности, размера и положения иконки. Следует отметить, что с опциями по умолчанию Curlyt менее других программ отвлекает от набора текста.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: