Диспетчер клавиатуры

Дата публикации:2006
Поделиться в Twitter Поделиться в F******k Поделиться в VKontakte Поделиться в Telegram Поделиться в Mastodon

Прежде чем завести разговор о Диспетчере клавиатуры, следует объяснить, для чего в программе Jaws используются комбинации клавиш. Как и во многих других программах, нажатие той или иной комбинации клавиш заставляет Jaws выполнить определённую последовательность действий. Например, если пользователь нажимает комбинацию клавиш Insert + стрелка вверх, то Jaws читает текст в текущей строке. Если пользователь нажимает комбинацию клавиш Insert + F12, то он может услышать текущее время, а быстрое нажатие этой же комбинации дважды позволяет узнать текущую календарную дату.

Последовательность действий, которую должен выполнить Jaws, хранится в специальном файле и называется скриптом (или сценарием) Jaws.В одном файле может находиться несколько скриптов. Как это принято в Jaws, существуют файлы скриптов для конкретных приложений и файл скриптов по умолчанию.

Всякому скрипту может быть назначена комбинация клавиш (и даже не одна), по которой он будет выполнен программой Jaws. Впрочем, для некоторых скриптов клавиатурные комбинации отсутствуют, хотя потенциально и эти скрипты можно связать с комбинациями клавиш. Такие скрипты условно можно назвать "свободными".

Все скрипты имеют имена, состоящие из латинских букв. В именах скриптов пробелы не допускаются. Как правило, имена скриптов состоят из обычных слов (английского языка), и каждое слово начинается с прописной (большой) буквы. Например, SayAll, SayWord и т.д. Если Jaws настроен так, чтобы делать паузу перед прописными буквами, то пользователь будет слышать имена скриптов так, будто они состоят из отдельных слов. Это удобно для восприятия имён на слух, но следует помнить, что никаких пробелов в именах нет.

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

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

Файлы раскладки клавиатуры, с которыми работает Диспетчер клавиатуры, имеют расширение .jkm. Имя файла по умолчанию - default.jkm, а имя файла раскладки клавиатуры для приложения такое же, как имя исполняемого файла самого приложения (например, для программы winamp.exe файл раскладки клавиатуры будет называться winamp.jkm).

Для того чтобы вызвать Диспетчер клавиатуры, нужно либо нажать комбинацию клавиш Insert + 8 (цифру 8 на верхнем ряду основной клавиатуры), либо нажать комбинацию Insert + F2 и в появившемся списке диспетчеров Jaws выбрать Keyboard Manager (Диспетчер клавиатуры).

Как Jaws находит нужный скрипт

Когда пользователь нажмёт комбинацию клавиш, Jaws выполнит поиск связанного с ней скрипта в следующем порядке:

  1. Просматривается файл раскладки клавиатуры для текущего приложения (то есть для приложения, с которым в данную минуту работает пользователь).
  2. Если в файле раскладки для текущего приложения эта комбинация отсутствует, то Jaws ищет ее в файле раскладки клавиатуры по умолчанию (default.jkm).
  3. Если Jaws не нашел комбинацию клавиш ни в одном из файлов раскладки клавиатуры, то он передаёт эту комбинацию клавиш текущему приложению для того, чтобы приложение использовало это нажатие по своему усмотрению.
  4. Если Jaws нашёл в каком-либо из файлов раскладки клавиатуры (не имеет значения, будет ли это файл раскладки для приложения или файл раскладки по умолчанию) имя скрипта, связанного с комбинацией клавиш, то он начинает поиск этого скрипта.
  5. Первым просматривается файл скриптов для текущего приложения. Если искомый скрипт там есть, то Jaws выполнит его и на этом прекратит обработку комбинации клавиш.
  6. Если в файле скриптов для текущего приложения нет искомого скрипта, то поиск будет продолжен в файле скриптов по умолчанию.
  7. Если в файле скриптов по умолчанию будет найден нужный скрипт, то Jaws выполнит его и на этом завершит обработку комбинации клавиш.

Из описания алгоритма, по которому Jaws ищет скрипт, связанный с комбинацией клавиш, следует, что при разработке скриптов для конкретного приложения, если необходимо перекрыть действие скрипта из файла скриптов по умолчанию, то достаточно в файле скриптов для приложения просто создать скрипт с тем же именем. При этом нет никакой необходимости переназначать клавиатурные комбинации в файле раскладки для приложения. Например, по умолчанию за комбинацией клавиш Insert + PageDown закреплен скрипт SayBottomLineOfWindow , читающий нижнюю строку окна (обычно там расположена статусная строка приложения). Допустим, существует программа, в котором в нижней строке окна ничего полезного нет, и разработчик скриптов решает наделить комбинацию клавиш Insert+PageDown новым смыслом. Для этого ему достаточно в файле скриптов для выбранного приложения создать скрипт с именем SayBottomLineOfWindow и запрограммировать его работу нужным образом. При этом отпадает нужда менять файл раскладки клавиатуры.

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

Работа с диспетчером клавиатуры

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

Диспетчер клавиатуры очень похож на Проводник Windows. Окно Диспетчера клавиатуры разделено на две части - левую и правую. Левая часть содержит список всех доступных файлов раскладки клавиатуры, расположенные в алфавитном порядке. Здесь можно найти и файл клавиатурной раскладки по умолчанию (default) и файлы раскладки клавиатуры для отдельных приложений.

В правой части окна Диспетчера клавиатуры расположен список всех скриптов, потенциально доступных для выбранного файла раскладки клавиатуры. Правильней было бы назвать этот список таблицей, потому что он состоит из нескольких столбцов. В первом столбце указано имя скрипта, во втором - связанная с этим скриптом комбинация клавиш, в третьем - стоит имя файла раскладки клавиатуры, затем идет тип раскладки (типы раскладки могут отличаться, например, для настольного компьютера -Desktop, для ноутбука - Laptop и т. д.). Если для скрипта комбинация клавиш не определена, то во стором столбце будет написано "None".

Для удобства левую часть окна Диспетчера клавиатуры называют "Списком файлов", а правую часть - "списком скриптов". Перемещаться внутри списков можно при помощи клавиш со стрелками, а переходить из одного списка в другой можно клавишей Tab. Также в списках можно искать нужный файл или скрипт, нажимая первую букву его имени. Если файл раскладки или скрипт в соответствующем списке существуют, то курсор перейдет в строку, где они расположены.

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

При работе с Диспетчером клавиатуры сначала следует выбрать файл раскладки клавиатуры (если Диспетчер клавиатуры был вызван комбинацией Insert + 8, то файл раскладки для текущего приложения автоматически становится активным). Затем перейти в Список скриптов и выбрать нужный скрипт.

Все действия, которые можно выполнить с выбранным скриптом, находятся в меню Action (Действия). Вот их перечень (сначала идет название пункта меню, затем горячая клавиша, затем перевод и пояснение):

  • Add Keystroke... Ctrl+A (Добавить комбинацию клавиш) - позволяет назначить выбранному скрипту новую комбинацию клавиш, при этом старая комбинация (если она существовала) продолжает работать.
  • Change Keystroke... Ctrl+H (Заменить комбинацию клавиш) - позволяет заменить текущую комбинацию клавиш на новую.
  • Remove Keystroke Del (Удалить комбинацию клавиш) - освобождает скрипт от связанной с ним комбинации клавиш.
  • Find Keystroke... Ctrl+F (Поиск комбинации клавиш) - позволяет отыскать скрипт в списке скриптов по комбинации клавиш, с которой он связан.
  • Documentation... Ctrl+D (Документация) - позволяет просмотреть подсказку для данного скрипта.
  • Add New Keyboard Layout... (Добавить тип клавиатурной раскладки) - позволяет создать тип клавиатуры, для которой будет действовать комбинация клавиш. В Jaws уже существуют несколько типов клавиатуры: Common (клавиатурные комбинации действуют для всех типов клавиатур), Desktop (комбинации клавиш действуют только для клавиатуры настольного компьютера), Laptop (комбинации клавиш действуют только для клавиатуры ноутбуков) и т.д. Такое разделение комбинаций клавиш необходимо, потому что некоторые комбинации клавиш на клавиатурах определенного типа могут оказаться труднодоступными. Например, на клавиатурах ноутбуков очень неудобно использовать клавишу Insert в сочетании с другими клавишами. Также на таких клавиатурах отсутствует цифровой блок, поэтому комбинации клавиш, использующие клавиши цифровой клавиатуры, на ноутбуках теряют смысл.

Если пользователь добавляет, изменяет или удаляет комбинацию клавиш из файла раскладки клавиатуры, то Jaws запрашивает подтверждение вносимых изменений.

Для поиска комбинации клавиш в Списке скриптов можно воспользоваться соответствующим пунктом меню Action или вызвать диалог поиска комбинацией Control + F. В появившемся диалоге нужно нажать искомую комбинацию клавиш (не надо набирать название комбинации, нужно нажать именно те клавиши, которые составляют эту комбинацию). Jaws произнесет нажатую комбинацию клавиш. Затем следует нажать клавишу Enter.

Если в Списке скриптов есть такая клавиатурная комбинация, то курсор перейдет на строку, в которой расположен скрипт, связанный с искомой комбинацией.

Настройка Диспетчера клавиатуры

Пользователь может изменить некоторые параметры Диспетчера клавиатуры. Все доступные настройки находятся в меню Options (Настройки. По любому пункту из этого меню на экран будет выведен один и тот же многостраничный диалог, по страницам которого можно перемещаться при помощи комбинации клавиш Control + Tab. В зависимости от выбранного пункта диалог будет открываться на соответствующей странице. Вот их список :

  • Key Filter... (Фильтрация клавиш) - позволяет настроить параметры отображения комбинаций клавиш и скриптов в Списке скриптов. Можно выбрать для клавиш:
    • All (показывать все, в том числе будут показаны и комбинации по умолчанию, которые перекрыты комбинациями из файла раскладки для приложения),
    • Active (показывать активные комбинации, то есть для перекрывающихся комбинаций будут показаны лишь активные),
    • Application (показывать только комбинации, определенные в текущем файле раскладки).

    Для скриптов:
  • All (показывать все скрипты),
  • Assigned to Keys (показывать только скрипты, связанные с комбинациями клавиш),
  • Unassigned (показывать только свободные скрипты).
  • Sort... (Сортировка) - позволяет выбрать столбец, по которому будут отсортированы строки в Списке скриптов. Доступны варианты:
    • Script Name (по имени скрипта),
    • Keystroke (по комбинации клавиш),
    • Key Map File (по имени файла раскладки),
    • Key Map Section (по имени секции, то есть по типу клавиатуры).

    По умолчанию этот список сортируется в алфавитном порядке по именам скриптов.
  • Hot Key... (Горячие клавиши) - позволяет установить/снять запрет на использование в клавиатурных комбинациях некоторых клавиш. Когда пользователь, работая в Диспетчере клавиатуры, в поле, где нужно осуществить ввод комбинации клавиш, нажимает, например, клавишу Tab, то по умолчанию Диспетчер клавиатуры не подставляет ее в поле ввода, а воспринимает как команду перейти на следующий элемент в диалоговом окне (то есть выполняет обычную обработку клавиши Tab). Данный пункт меню позволяет изменить поведение Диспетчера клавиатуры так, что он будет пропускать нажатие клавиши Tab (а также клавиш Shift + Tab, Enter и Escape) в поле ввода.
  • Messages... (Сообщения) - позволяет настроить информационные сообщения Диспетчера клавиатуры:
    • включить/отключить предупреждение, об изменениях, вносимых в файл раскладки (Show notification messages when about to modify a file),
    • включить/отключить вывод полного пути к файлу раскладки клавиатуры в заголовке окна Диспетчера клавиатуры (Display the full MS-DOS path in the title bar).
  • File Filter... (Фильтр файлов раскладки) - позволяет в многопользовательских системах установить, какие файлы будут отображаться в Списке файлов раскладки. Доступны следующие варианты:
    • Active Files (показывать все активные файлы раскладки клавиатуры, если существуют пользовательские и общие файлы для одного и того же приложения, то будут отображаться только пользовательские файлы),
    • User Files (отображать пользовательские файлы раскладки, эти файлы перекрывают общие файлы раскладки клавиатуры),
    • Shared Files (отображать только общие файлы раскладки).

    Синтаксис файла раскладки клавиатуры

    Файлы раскладки клавиатуры имеют расширение .jkm и представляют собой текстовые файлы, напоминающие по формату ini-файлы. Файл раскладки клавиатуры состоит из нескольких секций, названия которых помещены в квадратные скобки (в данном случае имя секции означает тип клавиатуры, для которого действуют комбинации клавиш, помещенные внутри секции).

    Внутри каждой секции на отдельной строке расположены описания связей между комбинацией клавиш и скриптами в формате:

    комбинация_клавиш=ИмяСкрипта
    

    Комбинация клавиш, состоящая из нескольких клавиш записывается при помощи знака плюс (+), например:

    Alt+Shift=SwitchInputLanguage
    

    Строки, начинающиеся знаком точка с запятой (;), считаются комментариями и при обработке файла раскладки клавиатуры не учитываются.

    Во избежание ошибок и сбоев в работе программы Jaws не рекомендуется самостоятельно вносить изменения в файлы раскладки клавиатуры. Для этих целей следует использовать Диспетчер клавиатуры.

    Дальше >>



  • Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения.
    Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2024