Изо всех неприятностей больше всего раздражают мелкие, но регулярно повторяющиеся. Казалось бы, необходимость постоянно переключать раскладку клавиатуры или регулярно набирать одни и те же словосочетания - это мелочи, на которые и обращать внимания не стоит. Тем не менее они вполне способны испортить настроение и повысить утомляемость пользователя при работе за компьютером.
Программа Punto Switcher достаточно широко известна среди отечественных пользователей. Ее основная функция - автоматическое переключение раскладок клавиатуры в тех случаях, когда пользователь из-за невнимательности начинает вводить текст с неправильной раскладкой. Обычно достаточно ввести несколько символов, чтобы программа определила, возможна ли такая комбинация в текущей раскладке. Если невозможна, то раскладка переключается, введенные символы удаляются, а вместо них вводятся "правильные". Правда, Punto Switcher умеет работать только с русским и английским языками, но зато делает это очень хорошо. Попользовавшись программой некоторое время, совершенно перестаешь обращать внимание на текущую раскладку, не рискуя при этом получить на выходе полную абракадабру.
Несмотря на то что Punto Switcher редко ошибается, программа располагает рядом средств, которые позволяют устранять возможные "шероховатости". Во-первых, можно задать перечень слов, которые некорректно обрабатываются. Автор этих строк, к примеру, некоторое время после установки Punto Switcher не мог получить доступ к своему почтовому веб-ящику, поскольку тамошний пароль представляет собой причудливую комбинацию символов, побуждавшую программу сменить раскладку, а увидеть подмену из-за маскировочных звездочек невозможно. После того как пришла догадка, что же именно происходит, проблема легко решилась - достаточно было занести пароль в "черный список" неприкосновенных выражений.
Во-вторых, можно запретить программе работать с некоторыми приложениями, которые идентифицируются либо по заголовку окна, либо по названию исполняемого файла. Например, программисты часто используют в качестве названий переменных и процедур лишь им одним понятные сокращения и аббревиатуры, что заставляет переключатель срабатывать, когда не нужно. Но достаточно указать в настройках имя проблемного приложения, и Punto Switcher становится неактивным, как только это приложение получает фокус клавиатурного ввода.
В-третьих, можно запретить переключать раскладки, если непосредственно перед анализируемыми символами были нажаты Backspace, Del или клавиши управления курсором, - это способствует правильной обработке случаев, когда пользователь редактирует слово и программа видит лишь несколько букв, ввод которых она может неправильно интерпретировать.
В программе предусмотрено несколько "горячих" клавиш, которые позволяют отменить последнюю смену раскладки (Break), сменить раскладку выделенного текста вручную (Alt-Break), инвертировать регистр выделенного текста (Alt-Break) и даже транслитерировать (говоря русским языком – перекодировать в транслит) его (Alt-Scroll Lock).
Помимо собственно работы по смене раскладок Punto Switcher имеет еще две полезные функции: автозамену и ведение дневника.
 |
| Настройка автозамены в Punto Switcher |
Смысл функции автозамены, очевидно, ясен без дополнительных пояснений - программа подменяет комбинации символов заданными строками. При этом можно заставить Punto Switcher распознавать подменяемые комбинации даже при другой раскладке или выводить подстановочный список по правому щелчку мыши.
Дневник предназначен для того, чтобы запоминать тексты, набираемые пользователем на клавиатуре. Существует два способа добавления текстов в дневник - автоматический и через буфер обмена. В первом случае в дневник добавляется абсолютно все, что набирается на клавиатуре. Во втором - то, что попадает в буфер обмена. Второй способ удобнее, если вам приходится много править тексты - при автоматическом добавлении подвергшегося интенсивному редактированию текста часто получается просто мешанина из букв.
У Punto Switcher есть сильный партнер/конкурент - утилита Keyboard Ninja. Этот продукт близок по своим возможностям к Punto Switcher (судя по списку авторов, обе программы используют одни и те же методы определения языка), а во многих аспектах – значительно превосходит ее.
 |
| Индикатор статистики в Keyboard Ninja |
К примеру, Punto Switcher оставляет нерешенной проблему со знаками препинания. Проблема состоит в том, что в русской и английской раскладках знаки препинания назначены разным клавишам. Поэтому все время приходится держать в уме, какая именно раскладка сейчас активна, – это не совсем удобно, особенно в тех случаях, когда в массе русского текста встречаются английские слова, сразу за которыми идут знаки препинания. Кроме того, некоторые символы вроде "[", "]", "{", "}" в кириллических раскладках вообще невозможно набрать, поэтому приходится ради них переключаться на латинскую, что совсем уж неудобно. Keyboard Ninja решает эту проблему достаточно просто - к каждой основной раскладке можно добавить альтернативную, вызываемую по клавише Alt. В качестве альтернативной предлагается созданная самим автором программы раскладка US Symbols, которая содержит все знаки препинания и специальные символы из английской раскладки. Теперь, набирая русский текст, можно просто нажать комбинацию Alt-б и получить на выходе ".", нажать Alt-ю и получить "," и так далее. Поскольку US Symbols можно назначить альтернативной и для латиницы, то можно раз и навсегда привыкнуть набирать знаки препинания с клавишей Alt, чтобы потом не спотыкаться на них в смешанных текстах.
 |
| Добавление клавиш в раскладку US Symbols |
У раскладки US Symbols есть еще один полезный аспект. Большая часть буквенных клавиш в ней не задействована, а Keyboard Ninja дает пользователю возможность самостоятельно редактировать раскладки - поэтому можно свободно добавлять на "вакантные" клавиши любые ASCII-символы, которые могут пригодиться в работе, чтобы потом вызывать их по комбинации Alt-буква. Можно создать и абсолютно новую раскладку с нуля. Можно использовать полную стандартную раскладку одного языка как альтернативную для другого: это удобно, когда приходится набирать текст, где лишь изредка встречаются иностранные слова, - тогда можно вводить их, зажав клавишу Alt, без смены основной раскладки. Перечень возможных вариантов использования механизма альтернативных раскладок велик, и каждый может выбрать тот путь, который для него более удобен.
Работа с паролями в Keyboard Ninja организована намного корректнее, чем в Punto Switcher. Последний не располагает специальными функциями и вынуждает пользователя хранить секретные последовательности в открытом виде. Ninja же вообще не запоминает введенные пароли. Он сохраняет лишь некие данные, которые позволяют программе правильно обрабатывать соответствующие символьные комбинации, но не дают возможности злоумышленникам восстановить по ним пароли.
Гораздо более гибок Keyboard Ninja и во взаимодействии с приложениями. Если Punto Switcher предлагает для приложения-реципиента клавиатурного ввода лишь два варианта настроек своей автоматики - "включено" и "выключено", то в Keyboard Ninja реализована куда более совершенная система профилей.
Для каждого профиля опции программы можно настраивать индивидуально. В программе изначально задано четыре специфических типа настроек: для консольных приложений, языков программирования, а также для приложений, где функциональность Keyboard Ninja должна быть частично или даже полностью отключена (в играх, например). Пользователь может назначать эти стандартные, а также созданные им самостоятельно профили любым программам.
Такая "разборчивость" имеет смысл благодаря тому, что опции Keyboard Ninja позволяют ему подстроиться под особенности работы в разных типах приложений.
Например, если пользователь пишет программу, то ему будет удобно, если Keyboard Ninja не станет срабатывать на коротких и не соответствующих правилам естественного языка названиях переменных, но, напротив, будет автоматически переключаться на родной язык программиста, зафиксировав начало комментария.
 |
| Настройки автоматики для профиля "Языки программирования" |
К сожалению, при перенастройке профилей Keyboard Ninja иногда начинает путаться, "где играть, где не играть", но это легко "лечится" привычным перезапуском приложения. Как и Punto Switcher, Keyboard Ninja поддерживает автозамену. Однако в дополнение к автозамене здесь есть и функция автокоррекции текста - аналогичная той, что предлагает MS Word. Только в отличие от word'овской эта автокоррекция работает во всех приложениях с соответствующим профилем. Ради справедливости стоит заметить, что Punto Switcher располагает сходной по назначению функцией - программа пользуется особенностями своего движка, чтобы замечать опечатки (правда, не все), о которых сообщает звуковым сигналом.
 |
| Настройки клавиатуры |
Помимо своей основной функциональности Keyboard Ninja имеет ряд дополнительных возможностей. Благодаря программе буфер обмена может работать в одном из четырех режимов:
- в обычном;
- в виде списка из ранее добавленных фрагментов;
- в режиме аккумулятора - к содержимому буфера каждый раз добавляется вновь скопированный туда фрагмент;
- в виде "карманов" - десяти независимых буферов, доступ к которым можно получить с помощью комбинаций Ctrl-0..9 (копирование в карманы) и Ctrl-Shift-0..9 (вставка из карманов).
В Keyboard Ninja встроен также мощный строчный калькулятор, который поддерживает множество полезных функций, среди которых конверсия мер, вычисление квадратного корня, тригонометрические функции и даже перевод арабских цифр в римские. Чтобы воспользоваться калькулятором, необходимо набрать нужную функцию и аргумент, пометить этот текст и нажать нужную комбинацию клавиш (по умолчанию Shift-NumLock), после чего в текст вставляется ответ. Выглядит это все примерно так:
roman(175) = CLXXV, sin(0.5) = 0,479425538604203, ln(4) = 1,38629436111989.
Программа Arum Switcher предназначена для тех же целей, что и Punto Switcher c Keyboard Ninja. Однако если описанные выше программы работают автоматически, то Arum Switcher меняет раскладку последней строки, слова или выделенного фрагмента исключительно по команде пользователя - вариант для тех, кто любит держать все под контролем.
 |
| Настройки программы Arum Switcher |
Дополнительная функция программы - смена регистра букв слова перед курсором или выделенного текста. Как и предыдущие продукты, Arum Switcher может "озвучивать" нажатие клавиш и смену раскладки.
 |
| FlashPaste Pro |
Еще одна утилита, частично реализующая функциональность Punto Switcher и Keyboard Ninja, - это FlashPaste Pro. Она предназначена для вставки текстовых фрагментов. Рабочий процесс программы выглядит следующим образом: при нажатии заданной комбинации клавиш (обычно это Ctrl-I, но комбинацию можно переопределить) появляется окошко со списком текстов, из которых выбирается нужный. Преимуществами программы является древовидная структура списка подстановки, облегчающая организацию работы, а также поддержка так называемых "макросов". С помощью макросов %Date%, %Time%, %DateTime% можно вставлять в текст текущие дату и время, а с помощью макросов %VK_TAB%, %VK_ENTER%, %VK_SPACE%, %VK_UP% и так далее эмулировать нажатие клавиш.
К сожалению, FlashPaste Pro почему-то некорректно обрабатывает тексты с кириллицей - внутри программы они отображаются нормально, а при вставке превращаются в непонятный набор символов. Но, возможно, эта ошибка связана с какими-то особенностями системы, на которой автор обзора тестировал программу.
Изо всех рассмотренных продуктов самое яркое впечатление производит, конечно же, Keyboard Ninja, который предлагает огромный набор полезных функций. Некоторые нарекания вызывают нестабильность программы при смене настроек, абракадабра, иногда вставляемая строчным калькулятором вместо ответа, а также периодически возникающие конфликты между многочисленными "горячими" комбинациями клавиш - однако с этими проблемами приходится сталкиваться не так уж часто.