KeyPad для 1С-ника

KeyPad для 1С-ника
cf039fd5-cc9a-467d-9816-4fdc120d522b.jpg b23d64da-5bae-4fcb-a1f0-a563aca94c5d.jpg
- За что ты так не любишь американцев?
- Да как представлю, что им раскладку не надо переключать...
Программирование на языке 1С отличается, прежде всего, тем, что все операторы кода пишутся в русской раскладке (*). Ну... почти все. Есть несколько символов и ключевых слов, которые надо писать в английской раскладке:
  • NULL
  • <
  • >
  • [
  • ]
  • #
  • $
  • '
  • &
Некоторые символы приходится печатать часто, некоторые - реже, но так или иначе - нужно переключать раскладку для ввода указанного символа, а потом - переключать обратно. При работе на удаленном сервере это доставляет дополнительные неприятности (когда происходит рассинхронизация языков ввода).
b1fc4cce-cede-4a03-87c8-bf381b1aa614.jpg
* -Примечание: Все операторы языка 1С имеют английскую вариацию написания. Весь код может быть написан на английском языке, и для экспортных версий конфигураций он на нем и написан (как и внутренние обработки, встроенные в систему). Но код конфигураций, предназначенных для рынка России и СНГ, традиционно написан на русском языке.

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

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

Идея в следующем:
Изготовить кей-пад (блок клавиш) для быстрого ввода указанных слов и символов без переключения языка ввода.
Для этого воспользуемся возможностями платы Arduino Leonardo (она-же в миниатюре Pro Micro) - имитация клавиатуры и будем вводить символы по методике "Альт-плюс".

Для сборки девайса - нужно, собственно, два основных компонента:
  1. Arduino Pro Micro
    66196449-d9ab-477d-a99d-25266fe179c3.jpg

  2. KeyPad
    Arduino-clavier-single.png
Со вторым компонентом - немного заморочимся:
Устройство KeyPad-а не использует каких-либо сложных схем, и представляет собой организованный набор кнопок, объединенных контактами в строки и столбцы.
20230614125646.png

Таким-же образом организуется ввод текста на клавиатуре, в частности на цифровом кейпаде:
8b74b000-0a88-41f1-8500-4a278d9599aa.jpg 98fb76cf-38b9-47ac-89d4-393bdc1deb66.jpg

Но, я выбрал вариант ещё интересней - собрать кейпад самому. Для этого заказал с китая механические кнопки и колпачки к ним. Спаял всё по схеме, зафиксировал и заизолировал "соплеклеем":
682da8c8-58aa-4e65-8221-14717381e2db.jpg 1788740a-709c-4fa0-b381-03243e2ec3b3.jpg c6e3818c-2cfb-48c8-b4c6-8ab0ba41c073.jpg

Первый прототип девайса собирался в корпусе, вырезанном из нескольких слоёв вспененного ПВХ. Выглядит весьма неуклюже, но функционирует - как задумано.
6b8c76b7-1b9d-4d10-aca0-d75b35fb99fc.jpg
e839b08f-4d1e-49a3-bd3d-ae516c48a862.jpg

Второй прототип девайса собирался в корпусе, напечатанном на 3D принтере. Также, напечатал колпачки клавиш для тех, которых не нашёл на алиэкспресс (+, 0, enter).
94ee5963-cb11-44f8-b316-cefe16dd4678.jpg b23d64da-5bae-4fcb-a1f0-a563aca94c5d.jpg

Помимо описанного - добавил режим ввода цифр, как на обычном NumPad-е и включение "Режима 1С-ника" по нажатии на клавишу (которая на месте NumLock).
Прошивка (для Arduino ProMicro) - прилагается.

Что можно улучшить:
1.) Гравировка клавиш
2.) Добавить плату вместо "кустарной" и варварской спайки контактов.
На Али - есть такая плата (нашёл уже после сборки прототипов):
b8ad9c48-6c3d-4297-a6d0-b910c21fb8a0.jpg

3D-модели:
Ссылки на али (актуальны на момент публикации, сам закупал тут)
 

Вложения

Изменено:

Комментарии

Геннадий П

★★★★★★✩
14 Апр 2021
1,969
632
44
Разработанное устройство не требует для подключения ни дополнительных драйверов, ни настройки (т.е. это PnP-устройство).
PnP устройство это не обязательно которому не требуется дополнительных драйверов.
 
  • Аррр! -2
Реакции: Bruzzer

Геннадий П

★★★★★★✩
14 Апр 2021
1,969
632
44
@DrAku1a, если выпилить все драйверы из системы, то оно будет pnp? :)
pnp это возможность горячей замены во время работы компьютера, без перезагрузки
 

DrAku1a

✩✩✩✩✩✩✩
19 Янв 2020
18
7
@Геннадий П, если говорить о системе без драйверов - возможно. Я не скажу даже будет ли это устройство работать в меню BIOS наряду с клавиатурой (скорее нет, чем да). Но технология PnP судя по статьям, выдаваемым в поиске Яндекса - это как раз то, что я изначально имел в виду:
PnP-устройствоэто такое устройство, которое поддерживает технологию Plug and Play. А это означает, что благодаря работе нескольких подсистем, драйвер для данного устройства будет найден и установлен автоматически, без участия пользователя.
Википедия:
Plug and Play (сокр. PnP), дословно переводится как «Подключил и играй (работай)» — технология, предназначенная для быстрого определения и конфигурирования устройств в компьютере и других технических устройствах. В зависимости от аппаратного интерфейса и программной платформы (ОС, BIOS), процедура Plug and Play может производиться на этапе начальной загрузки системы или в режиме горячей замены — так это делается, например, для интерфейсов USB и IEEE 1394.
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,969
632
44
@DrAku1a, все usb устройства изначально поддерживают pnp, просто потому что так устроен протокол.
Ну да ладно, закроем тему, а то некоторым минусующим не нравится что им открывают глаза на правду.
 

DrAku1a

✩✩✩✩✩✩✩
19 Янв 2020
18
7
Лично у меня больше всего вызывает к себе нареканий вот это:
Но пока что - лучшего варианта сделать не смог.
 

Boroda22

★✩✩✩✩✩✩
23 Фев 2022
251
42
@DrAku1a, а для чего эта поделка, если в 1С и так есть возможность вставлять "шаблоны кода" ?
 

DrAku1a

✩✩✩✩✩✩✩
19 Янв 2020
18
7
@DrAku1a, а для чего эта поделка, если в 1С и так есть возможность вставлять "шаблоны кода" ?
В "шаблонах" далеко не всё можно настроить. И внезапно - шаблоны не работают в разных конструкторах.
Чуть больше даёт использование утилит - типа AutoHotKey (AHK), но их не всегда просто настроить, плюс не работают в удалённых сеансах RDP или VNC, а админ не всегда даст там поставить свой AHK.
С поделкой-же просто: воткнул и пользуйся!