26-02-2004 22:29 Клавиатурные переключатели
Что-то меня пробило обо… эээ… обозреть существующие переключатели клавиатуры под Windows. Проблема, собственно, в том, что они все «не блестят». Итак, начнём.

Стандартный переключатель
Клавиши переключения: LShift+Ctrl и Ctrl+LShift — по списку, RShift+Ctrl и Ctrl+RShift — в обратном порядке. Или, по усмотрению пользователя, Ctrl можно заменить на Alt. Также можно настроить переключение на каждую конкретную раскладку по Alt+Shift+{`, 1, …, 9, 0}.
Звуковая индикация: отсутствует как класс.
Визуальная индикация: одноцветный значок в области оповещений или на отдельной панели инструментов (Language Bar).

Собственно, единственным достоинством данного переключателя является то, что он есть. Сразу, из коробки. Всё. Пользоваться им сколько-нибудь долго невозможно. Переключение по двум клавишам лично меня не устраивает ещё со времён DOS, с тех пор, как появились переключатели по правому Ctrl’у, и я хочу так же переключаться в Windows.

Идея отдельных клавиш под каждую раскладку имела бы право на существование, опять-таки, если бы все клавиши переключения были аппаратные, удобно располагались и нажимались одним пальцем. Жать по три клавиши вместе — нет уж, увольте.

Принцип переключения раскладок по циклу при каждом нажатии предполагает, что они все используются одинаково часто. Если их стоит две — это работает. Русская, латинская, русская, латинская. Каждое переключение меняет на противоположную. Не нужно думать, хотим ли мы сейчас вперёд по списку или назад — это всё равно.

Усложним задачу и поставим третью раскладку, например, японскую. (Опустим пока тот факт, что у неё ещё есть подраскладки, которые переключаются отдельно.) Всё испортилось. Раньше русская и латинская переключались обеими комбинациями, левой и правой. Теперь с латинской на русскую надо переключаться по Ctrl+LShift, а обратно — по Ctrl+RShift. Иначе включается японская. Которая стоит только для того, чтобы изредка что-нибудь набрать. Вы хотите всё время помнить, в какую сторону надо переключаться? Я — нет.

Ситуация усугубляется отсутствием звуковой индикации. Если бы она была, я бы услышал, куда переключился, и нажал педаль ещё раз. Хоть и неудобно. Но её нет. Визуальная индикация тоже не особо помогает.

Резюме: троечка.

RusLat95
Клавиши переключения: LShift+RShift, LCtrl/RCtrl — циклическое переключение по подмножеству раскладок.
Звуковая индикация: для каждой раскладки настраиваемый звук её включения, плюс возможность включить или выключить треск клавиш в этой раскладке.
Визуальная индикация: разноцветный значок в области оповещений, индикатор в заголовке текущего окна.
Дополнительно: конвертация выделенного текста в противоположную раскладку. Иногда не работает.

Почти идеал. Например, настраиваем RCtrl переключать латинскую и русскую раскладки, левый — не переключать вообще ничего, а остальные раскладки зовём стандартным переключателем по трём клавишам. Включаем всем звук.

И тащимся.

Пока не поставим одновременно Mirand’у и поддержку восточных языков (того же японского). Потому что без него всё работает, с ним всё работает везде, кроме Mirand’ы. Удивительно, но факт. Поэтому для Mirand’ы приходится иметь ещё один переключатель, например, стандартный, и всё время помнить, можем мы здесь переключаться по Ctrl или нет.

Резюме: пять с маленьким минусом.

SwitchIt!
Клавиши переключения: LShift+RShift, LCtrl/RCtrl — циклическое переключение по всему списку раскладок.
Звуковая индикация: для каждой раскладки настраиваемый звук её включения, плюс возможность включить или выключить треск клавиш в этой раскладке.
Визуальная индикация: разноцветный значок в области оповещений, индикатор в заголовке окна.
Дополнительно: заявлена конвертация выделенного текста в противоположную раскладку. Заставить нормально работать не удалось.

Работает, и неплохо. В том числе в Mirand’е. Но — та же проблема, что и в случае стандартного переключателя: приходится помнить, где мы сейчас, и в какую сторону переключаться.

Резюме: 4.

Punto Switcher
Клавиши переключения: LShift+RShift, RCtrl и какие-то ещё — на выбор: по всему списку или только En/Ru.
Звуковая индикация: для каждой раскладки настраиваемый звук её включения, плюс возможность включить или выключить треск клавиш в этой раскладке.
Визуальная индикация: разноцветный значок в области оповещений.
Дополнительно: конвертация выделенного текста в противоположную раскладку, автоматическое переключение раскладки при маловероятных сочетаниях букв, разворачиваемые макросы.

Весьма интересная идея, использовать статтистические методы для определения, что слово набрано не в той раскладке, и автоматически его исправлять. Однако практически малоприменима. Командные строки, пароли, программный код — яркий пример, где «исправлять» ничего нельзя принципиально. К счастью, фича отключаемая.

Удобно, что можно задать клавише переключение только раскладок En/Ru. Хотя можно было бы и гибче быть.

Автозамена макросов. Исходно предназначалась для того, чтобы обозначить чем-нибудь коротким что-нибудь длинное, и экономить время. Не знаю, не пользовался. Попробовал назначить на два минуса (--) тире (—). Не заменяет. Видать, минус не входит в число символов, которые можно использовать в именах макросов.

Переключатель страдает той же болезнью, что и RusLat95 — непереносимость Mirand’ы при стоящей поддержке восточных языков.

Резюме: 5-.

Keyboard Ninja
Клавиши переключения: все мыслимые комбинации Ctrl, Alt и Shift, плюс ещё Caps Lock — для конкретных раскладок, списка основных раскладок и списка дополнительных раскладок.
Звуковая индикация: для каждой раскладки настраиваемый звук её включения, плюс возможность включить или выключить треск клавиш в этой раскладке.
Визуальная индикация: разноцветный значок в области оповещений, кратковременно появляющийся в центре текущего окна флаг.
Дополнительно: конвертация выделенного текста в противоположную раскладку, автоматическое переключение раскладки при маловероятных сочетаниях букв, автокоррекция,
автодополнение, и чего ещё только нет.

Очень заманчиво выглядит. Куча полезнейших фич, отключаемая автоматика, настройка дополнительных символов на RAlt+клавиши.

Вот только написана как попало, и поэтому часто вылетает по runtime error 203 (Heap overflow) или 204 (invalid pointer operation). Немного страшно жить с таким переключателем — а вдруг в следующий раз он утянет за собой текущее приложение?

Да, и в Mirand’е всё так же не работает. По-видимому, алгоритмы как в Punto Switcher’е, так и в Keyboard Ninja пришли из RusLat95.

Резюме: набор фич на 5-, реализация ещё сырая (3). В среднем пока 4+, дальше будем посмотреть.
Комментарии:
Злой модератор ФК
Полезные програмульки.
Цены бы им не было, если бы умели Иврит за Русский не принимать.

Так какой твой окончательный выбор?
27-02-2004 12:48
Камрад с блокнотиком
Так какой твой окончательный выбор?

А окончательного выбора нет Пока ничего, что меня бы полностью устроило, нет. А хочу я, ни много ни мало:
  • Переключение основных раскладок (En/Ru) по RCtrl
  • Удобный способ ввода дополнительных символов (« » — – “ ” … ‘ ’ © ™ °)
  • Перевод текста, введённого в неправильной раскладке, по клавише
  • Чтоб работало во всех мыслимых местах!


На данный момент — Ninja мне нравится. Тем, что можно чуть ли не все символы кодовой таблицы на клавиши повесить, а не набирать по Alt+0nnn. Рецепт борьбы с вылетами я вроде нашёл — софтинка плохо дружит с (псевдо)многопроцессорностью, а у меня как раз новый P4 с hyperthreading’ом. Привязываем Ninja.exe к одному логическому процессору (либо через Task Manager, либо утилиткой ProcAff, и вылеты прекращаются.

В перспективе же — надо разбираться, чем им всем троим не нравится Miranda и некоторые поля ввода в Mozilla’х.

В записную: Попробовать написать авторам RusLat95 и Keyboard Ninja. В Punto уже писал, реакции не вижу — то ли забили, то ли ушли в отладку с головой.

А автоматику отключал, отключаю и отключать буду. Ибо нефиг

отредактировано: 27-02-2004 12:55 - Centaur

Безумный трубочник
Centaur - что харктерно Нинзя не дружит с многопроцессорностью только в последних версиях, я оставил себе не очень новую (2.02 кажется) и все окей. Тем более, что для среды программирования можно настроить автоматику и там она не будет переключать.

А Миранду на мыло Не знаю чем она тебя прельщает. Я пользуюсь &RQ, она лучше
27-02-2004 14:10
Камрад с блокнотиком
для среды программирования можно настроить автоматику и там она не будет переключать.

А то, можно подумать, программный код пишется только в среде программирования… А браузер (форумы, или дневник тот же), IRC, ICQ?

А Миранду на мыло Не знаю чем она тебя прельщает. Я пользуюсь &RQ, она лучше

Miranda свободнее (as in “free speech”, not “free beer”) Ну посмотрел я на &RQ; ну морда мне его не нравится.
Безумный трубочник
Centaur
Ну не знаю, я в дневнике на языке программирования не пишу

Морда Миранды не лучше У &RQ есть скины и два главных достоинства. Одно окно чата со вкладками для разных пользователей, когда разговаривешь сразу со многими людьми очень удобно. Второе, когда он свернут, и приходят сообщения, то они появляются в виде подсказки, в системном трее. Очень удобно кстати.
27-02-2004 15:06
Камрад с блокнотиком
У &RQ есть скины

Почему я не люблю программы со скин-системами

окно чата со вкладками для разных пользователей, когда разговаривешь сразу со многими людьми очень удобно

А когда разговариваешь со многими людьми и при этом ещё работаешь, то приходится сделать один клик на кнопке этого окна чата на taskbar’е, и потом второй на tab’е того человека, которому отвечать, вместо того, чтобы сделать один клик по кнопке taskbar’а, которая мигает. Да?

когда он свернут, и приходят сообщения, то они появляются в виде подсказки, в системном трее

Плагины Popup + EventNotify (скриншот)

отредактировано: 27-02-2004 15:07 - Centaur

02-03-2004 06:59
Камрад
>непереносимость Mirand’ы при стоящей поддержке восточных языков.
Ого, неужели Punto Switcher не работает с включенной поддержкой восточных языков? Надо будет снова поставить Punto Switcher, поглумиться вновь. :-)
20-08-2004 13:50
Камрад с блокнотиком
Продолжение темы: Клавиатурные раскладки
Вот это — кастомная раскладка с извращённым режимом Caps Lock — мой новый выбор. До идеала не хватает только конвертации выделенного текста по клавише. Но без этого вполне можно жить.

отредактировано: 30-11-2004 09:57 - Centaur

Закрыть