"Дружелюбная" клавиатура

15.05.23

Разработка - Работа с интерфейсом

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
Менеджер клавиатуры для Windows 7, 10 ver.4
.zip 822,92Kb
15
15 Скачать бесплатно

Предлагаю  вашему вниманию вариант управления клавиатурой в условиях, когда на компьютере установлено несколько языков и по некоторым языкам, возможно,  различные раскладки клавиатуры. Реализовано в виде AutoHotKey-скрипта

Ответ на вопрос: -  Зачем это?,- следующий:

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

Так же, опубликованы упрощенные варианты скрипта, не требующий никаких настроек:

 

Особенности скрипта: одиночные нажатия клавиш CapsLock и ScrollLock отключены,- требуется быстрое двойное нажатие.

Обращаю ваше внимание на тот непреложный факт, что в комбинациях клавиш порядок нажатия клавиш-модификаторов важен: сочетание Space+LeftShift это не то же самое, что и сочетание LeftShift +Space.  Реакция может быть разной, поэтому нажимаем клавиши в порядке слева-направо, как это прописано.

На картинках клавиши раскрашены соответственно тому, какая у меня постановка пальцев на клавиатуре. Возможно, это не самое распространенное распределение, но имеет место быть. Мои извинения тем, кто по-другому ставит пальцы в растопырку.

Представления о том, какой должна быть "дружелюбная" клавиатура, положенные в основу разработки, - это представления автора статьи и они не обязательно соответствуют вашим собственным представлениям по данной проблематике.

 

  1. Переключение раскладок клавиатуры
  2. Настройки скрипта
  3. Конвертация строк
  4. Печать спецсимволов
  5. Использование шаблонов текста
  6. Некоторые доп.возможности редактора программных модулей 1С
  7. Английская фонетическая раскладка
  8. Поставка
  9. Заключение
  10. Обновления



Переключение раскладок клавиатуры

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

 

  • Славянские (одна-две)
  • Германские (одна-три)
  • Другие (до одной)

 

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

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

Меню выбора раскладки (языка)

Нажав комбинацию клавиш Win+Space,  вы можете выбрать любой из установленных языков. Это знакомо любому из пользователей Windows 10/11.      Правда, после установки, скрипт подменяет системное меню своим.  Продемонстрирую возможности скрипта на максимальном количестве языков-раскладок.

Для переключения на активный язык германской группы используются сочетания клавиш: Shift+CapsLock и Space+LeftShift

Для переключения на активный язык славянской группы используются сочетания клавиш Shift+Ctrl и Space+RightShift.

Эта функция скрипта в поставке отключена, чтобы скрипт заработал корректно сразу же после загрузки исполняемого файла, без каких-либо предварительных настроек. В настройках скрипта указано, как эту функцию включить. К тому же, если, в принципе, нет желания разбираться с настройками, так это и оставьте, - используйте прочие возможности скрипта.

Настроенный скрипт, тем не менее, предоставит вам еще дополнительную возможность переключения языков с помощью сочетания CapsLock+Клавиша, заместо довольно таки неудобных системных назначений. Детали на картинке:

 

 

 




Настройки скрипта

 

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

 
 Системные настройки
 
 Настройки скрипта

Установите этот скрипт в автозагрузку при включении компьютера (рекомендуется, но не обязательно).

Важно: выключите компьютер и снова включите через несколько минут. Скрипт готов к работе. При автозагрузке скрипта сразу же будет установлен настроенный в ini-файле язык ввода.




Конвертация строк

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

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




Печать спецсимволов

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

 

 

Буквенная часть клавиатуры жестко прописана в скрипте,- в ней вы найдете все спецсимволы из русской и английской раскладок.  Одна клавиша была свободная,- к ней прикрепил символ … (три точки).

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

Первый способ - отредактировать содержимое секции [Клавиши] ini-файла:

 
 Содержимое ini-файла: [Клавиши]

Второй способ - эту возможность предоставляет скрипт следующим образом…

Сначала выполните предварительную работу - в любом текстовом редакторе наберите спецсимволы, которые будете привязывать к клавишам.

Затем переведите скрипт в режим настройки клавиатуры - включите клавиши CapsLock и ScrollLock. Напоминаю, что теперь это доступно двойными нажатиями этих клавиш.

Перед началом присвоения, выделите спецсимвол в редакторе… Завершающим аккордом нажмите сочетание Shift+Space+Клавиша, к которой выполняете привязку спецсимвола. Подтвердите действие.

По окончании настройки, верните скрип в основной режим работы, отключив клавиши CapsLock и ScrollLock.

PS: Извините, так и не смог уговорить этот редактор публикации показать три последних символа цифрового ряда во фрагменте ini-файла. Так что, смотрите на картинку клавиатуры.

PPS: Нет препятствий к тому, чтобы навесить на эти клавиши какие-то комбинации символов. Но убедитесь, что это срабатывает, как вы того и ожидаете.

 
 Дополнительные параметры секции [Клавиши]



Использование шаблонов текста

После реализации возможности ввода спецсимволов с помощью комбинации клавиш Space+Клавиша, естественным образом появился соблазн навесить еще что-то, но уже на комбинацию Shift+Space+Клавиша. Выбор пал на шаблоны текстов. Для меня это 1С-шаблоны, запускаемые в редакторе кода 1С. Кто-то, возможно, найдет другое применение этой возможности.

Ко всем буквенно-цифровым клавишам могут быть привязаны шаблоны. Например:

 

 

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

Первый способ - отредактировать содержимое секции [Шаблоны] ini-файла:

 
 Содержимое ini-файла: [Шаблоны]

Второй способ - эту возможность предоставляет скрипт следующим образом…

Сначала выполните предварительную работу - в любом текстовом редакторе наберите шаблоны (не забудьте сказанное про клавишу {Enter} в составе шаблона), которые будете привязывать к клавишам.

Затем переведите скрипт в режим настройки клавиатуры - включите клавиши CapsLock и ScrollLock. Еще раз напоминаю, что теперь это доступно двойными нажатиями этих клавиш.

Перед началом присвоения, выделите шаблон в редакторе… Завершающим аккордом нажмите сочетание Space+Клавиша, к которой выполняете привязку шаблона. Подтвердите действие.

По окончании настройки, верните скрип в основной режим работы, отключив клавиши CapsLock и ScrollLock.




Некоторые доп.возможности редактора программных модулей 1С

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

Space+Tab - осуществляет движение по точкам перехода в программном коде. Точка перехода - это комбинация символов //…

Спросите: - Откуда им взяться?  Ответ: - Из шаблонов. Привожу пример простого шаблона Если-Иначе-КонецЕсли, каким он может быть, да будет на то ваша воля:

Если <?> Тогда
	//…
Иначе
	//…
КонецЕсли;

//…

Позиция курсора после ввода шаблона находится между Если и Тогда. Набираете требуемое логикой программы условие и нажимаете Space+Tab. Моментально переходите на следующую последовательность символов //…  (уже выделенную). Продолжаете набор программного кода.  И так далее…

Shift+Space+Tab - то же, что и в предыдущей команде, но в обратном направлении.

Space+Enter - ввод новой строки после текущей. Сначала курсор выводится в конец текущей строки, и только потом следует перевод строки. Это удобно в сравнении со стандартным подходом, когда нужно сначала нажать клавишу End,  а уже потом клавишу Enter, - плохо, что при этом рука смещается вправо из основной позиции, и потом требуется возврат для печати...

Shift+Space+Enter - действует аналогично предыдущей команде, только новая строка вставляется перед текущей и курсор переводится в ее начало.

 

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

 

Shift+Tab, Space+XButton1, Space+Left - выделенный блок текста смещается влево на шаг табуляции.

 

Tab, Space+XButton2, Space+Right - выделенный блок текста смещается вправо на шаг табуляции.

 

Ctrl+Num/, Space+LButton, Space+Up - добавить комментарий к выделенному блоку.

 

Ctrl+Shift+Num/, Space+RButton, Space+Down - удалить комментарий из выделенного блока.

 

Ctrl+Z, Shift+Space+XButton1, Shift+Space+Left - отменить последнее действие.

 

Ctrl+Y, Shift+Space+XButton2, Shift+Space+Right - вернуть последнее действие.

 

Ctrl+Num-, Shift+Space+LButton, Shift+Space+Up - свернуть группу.

 

Ctrl+Num+, Shift+Space+RButton, Shift+Space+Down - развернуть группу.

 




Английская фонетическая раскладка

С того самого далекого дня, когда я впервые увидел IBM-скую клавиатуру с раскладкой QWERTY, я испытываю сильный когнитивный диссонанс, глядя на нее; где на одной клавише с английской буквой A прописана русская Ф, а на клавише с буквой Z присоседилась русская Я. Впрочем, пару Z-Я объединяет хотя бы то, что это последние буквы английского и русского алфавитов. И даже точка с запятой размещаются на разных клавишах в русской и английской раскладках! Умом я понимаю, что это правильно, чтобы не плодить превеликое множество раскладок языков… но сердцем принять не могу. :)

До того дня, для меня вполне естественным было соседство  А-А,  F-Ф,  D-Д и т.д. Вот оно:

 

 

По моему разумению, не столь важно, на какой стандарт опираться – английский QWERTY, или русский ЙЦУКЕН. Но, важно,  чтобы буквы на клавишах  были фонетически (по произношению) близки. Освоив метод автоматической печати на клавиатуре русских текстов, вы через несколько часов дополнительных занятий с той же скоростью печатаете и английские.

Какие препятствия существуют сейчас для того, чтобы решить эту задачу? Ответ очевиден: -Никаких!

Вместе со скриптом прилагаю вариант фонетической раскладки, опирающейся на стандарт ЙЦУКЕН. Если вы все еще в самом начале пути освоения автоматического набора текстов и не собираетесь ехать жить за границу, можете попробовать установить эту раскладку на свой компьютер, - посмотреть, что из этого выйдет. Раскладка не совсем стандартная и отражает местами мои собственные предпочтения. Но очень быстро осваивается после русской.

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

Вы можете сами сделать себе любую раскладку клавиатуры с помощью программы Microsoft Keyboard Layout Creator. Специально пишу эти строки для читателей, кому это в новинку.

 

Поставка

Одним архивным файлом, содержащим:

  • Исполняемый файл скрипта kbManager.exe
  • ini-файл настроек скрипта kbManager.ini
  • дистрибутив английской фонетической раскладки

В поставке параметр ОтключитьПереключениеРаскладок=1, чтобы скрипт заработал без настроек.

Скрипт загружается в трей - синий значок клавиатуры. Первый пункт контекстного меню под названием "Об этом скрипте", - переход на эту статью.

 

Заключение

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

Для меня лично он открыл путь к полному освоению метода автоматической печати не только романов, где достаточно уметь делать набор русскими буквами плюс точка с запятой, но и программных текстов, в которых задействованы буквы-цифры-спецсимволы нескольких языковых раскладок в немыслимом сочетании. А до того, все мои надежды на это разлетались в пух и прах… Увы, далеко не все мы можем стать тем, чем хотелось бы. :)

Если возникнут вопросы-пожелания, - пишите, пожалуйста в личку, - отвечу-учту. Опубликую важные-интересные.

 

Обновления

21.04.2023г. Внесены изменения/дополнения  в работу скрипта, чтобы дополнительные возможности редактора программных модулей отрабатывались не только в версии 1С8.3, но и в версии 1С7.7.

 

26.04.2023г.

Выполнен ряд улучшений скрипта:

  • в секцию [Раскладки] ini-файла можете включить параметр МенюВыбораЯзыкаСправа=1. По умолчанию, меню выводится внизу-слева экрана монитора
  • в секцию [Клавиши] ini-файла можете включить параметр ДвойноеНажатиеКлавишиInsert=1. Клавиша Insert будет срабатывать только на двойные нажатия
  • в секцию [Клавиши] ini-файла можете включить параметр NumLockВсегдаВключена=1.
  • появилась возможность перекрыть прописанный в скрипте стандартный набор спецсимволов. Для этого, в секции [Клавиши] ini-файла определите параметр СтандартныйНаборСпецсимволов в порядке буквенных клавиш слева-направо, сверху-вниз. Сделайте привязку к клавишам, какую сами пожелаете. Количество символов в строке = 34. Лишние игнорируются; на месте недостающих выводятся символы, прописанные в скрипте
  • оптимизирован набор команд конвертации строк. Описание по ссылке.

Исправлены обнаруженные ошибки в работе с версией 1С7.7

 

15.05.2023г.

  • Добавлен показ индикатора языка рядом с текстовым курсором: большими буквами при включенной CapsLock, и маленькими буквами в противном случае. Если у вас уже имеется настроенный ini-файл, наряду с полными названиями раскладок, включите краткие названия, - это и будет значение индикатора текущей раскладки рядом с текстовым курсором. Например:
  • Славянская-2=Русская раскладка
    КраткоСлавянская-2=ru
  • Показ индикатора можно отключить, установив значение параметра ОтключитьИндикаторЯзыкаВозлеКурсора=1 в секции [Раскладки].
  • Для CapsLock можно установить цветной фильтр экрана. Параметр CapsLockВключитьЦветнойФильтр=1 в секции [Раскладки]. Такая возможность имеется в Windows-10  и основана на Специальные возможности "Цветные фильтры". Включите фильтр, разрешив установку его по нажатию сочетания Win+Ctrl+C. Тогда одного взгляда на экран будет достаточно, чтобы знать, что клавиша CapsLock включена.
  • Параметров в ini-файле стало довольно много, работать с ними путем редактирования файла не самый удобный способ. Поэтому настройка многих из них вынесена в контекстное меню скрипта в трее.

 

 

 

 

  • Появилась возможность редактировать тексты одной рукой  - левой. Она включена в состав этого скрипта и подробно описана в статье Печатаем одной рукой. В связи с этим, в этот скрипт добавлен еще один вариант переключения раскладок клавиатуры с помощью сочетания CapsLock+клавиша. Клавиши указаны на картинке:
  • Файл kbManager.wav воспроизводит редкие щелчки клавиатуры, когда включена раскладка, отличная от активной славянской. Можете подменить своим одноименным звуковым файлом. Или, если звуковой эффект вас отвлекает, переименуйте/удалите этот файл.

 

 

 

 

Если вам понравился скрипт, не сочтите за труд пометить его плюсом для более успешного продвижения. Спасибо.

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

См. также

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Богатый редактор картинок 1С предназначен для обработки изображений в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    62985    44    59    

82

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    18854    26    6    

41

Работа с интерфейсом Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Редактор графов в 1С - внешний отчет, который формирует графы на основе таблицы значений, используя рисунки табличного документа. Есть возможность добавления, редактирования объектов графа и выгрузки результата в таблицу значений.

1500 руб.

06.10.2020    10224    7    7    

10

Работа с интерфейсом Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна

20.08.2024    16797    mrXoxot    43    

121

Работа с интерфейсом Программист Платформа 1С v8.3 Бесплатно (free)

Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.

27.05.2024    7349    smielka    37    

100

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    14787    913    elcoan    47    

117

Работа с интерфейсом Программист Пользователь Бесплатно (free)

Тем из вас, кто любит экспериментировать, предлагаю этот скрипт. С ним можно редактировать тексты документов и/или программ одной рукой – левой. Это последний скрипт из небольшой серии, предназначенной для работы с клавиатурой.

15.05.2023    1841    6    romasna    0    

5