1с как проверить caps lock

Обновлено: 07.07.2024

Хорошо, прежде чем это будет помечено как возможный дубликат, я уже попробовал следующий код:

И он всегда возвращается ложным для меня [см. ниже]. Может ли кто-нибудь подтвердить, что это должно работать, и я злоупотребляю им, или если известно, что он сломан? Если он действительно сломан, есть ли у кого-нибудь лучший способ использовать его?

EDIT:

Ладно, просто выяснил кое-что еще. Похоже, он просто возвращает то, что было в начале запуска моих программ. Если я запускаю программу с включенным экраном, она говорит, что он включен, и наоборот. Вот мой код:

И это просто всегда распечатывает то, что начиналось как

(например, если я начну с caps lock, даже если я выключу его сразу после этого, он напечатает:

Caps lock теперь: ON

Caps lock теперь: ON

Caps lock теперь: ON

Caps lock теперь: ON

и т. д., Если я начну с него, он будет распечатан, несмотря ни на что)

3 ответа

Как определить, включен ли caps lock с помощью JavaScript? Однако есть одно предостережение: я погуглил его, и лучшее решение, которое я смог найти, - это прикрепить событие onkeypress к каждому входу, а затем каждый раз проверять, была ли нажата буква в верхнем регистре, и если да, то проверить.

Покопавшись вокруг, я думаю, что getLockingKeyState() может быть сломан.

Вы могли бы попробовать KeyboardUtils , но, похоже, это означает, что вам придется нести JNA накладных расходов.

Похоже, это всегда было сломано или, по крайней мере, с Java 1.3 (см. Ошибку 4414164 ).

Не уверен, что для других платформ, но для Windows я могу сказать следующее: изменение состояния Caps Lock может быть обнаружено, но только в том случае, если ваш клиент awt имеет фокус. Тем не менее, есть этот обходной путь, который работает для меня:

Противопоказание: Ваше приложение awt должно иметь фокус перед вызовом isCapsLockOn .

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

Похожие вопросы:

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

Мы можем обнаружить, что клавиша Caps lock включена/выключена с помощью Jquery. Мой вопрос таков можем ли мы включить / выключить клавишу Caps lock с помощью Jquery или Javascript в случае нажатия.

На экране входа в систему приложения Silverlight мне нужно определить, включен ли Caps Lock. Это достаточно легко сделать, обработав событие KeyUp или KeyDown, однако как определить, включено оно.

Как определить, включен ли caps lock с помощью JavaScript? Однако есть одно предостережение: я погуглил его, и лучшее решение, которое я смог найти, - это прикрепить событие onkeypress к каждому.

Я пишу пользовательский текстовый редактор с определенными символами (неанглийскими). Я знаю о свойстве-autocapitalizationType менять капитал, но перед просмотром (изменением) символа мне нужно.

Я создаю экран входа в систему в WPF. Я пытаюсь понять, как привязать часть моего кода, чтобы она была видна только тогда, когда включена клавиша caps lock. <StackPanel Grid.Row=3.

У меня есть веб-форма входа в систему, и я хочу уведомить пользователя, если его клавиша Caps Lock включена, особенно когда он вводит свой пароль. Как я могу это сделать? Что-то вроде: пользователь.

У меня есть событие привязки для того, когда клавиша нажата, чтобы вызвать функцию, но как бы я увидел, была ли нажата клавиша enter? Вот мой код: Это не сработало. Чем бы Я заменил слово enter.

Внешний компонент "1С:Сканер штрихкода" (Native) версия для платформы "1С Предприятие 8.3".

Внешний компонент "1С:Сканер штрихкода" (Native) для платформы "1С Предприятие 8.3" поставляется в составе "Библиотеки подключаемого оборудования" (далее - БПО). "1С:Библиотека подключаемого оборудования для мобильных приложений" (далее - МБПО) и предназначен для использования ТОЛЬКО в их составе. Самостоятельное использование внешнего компонента не предусмотрено. Компонент предназначен для получения данных от оборудования – сканеров штрихкодов (далее – ШК) и передаче их в платформу "1С: Предприятие".

Основные возможности

Внешний компонент "1С:Сканер штрихкода" (Native) (далее – ВК или "1С:Сканер штрихкода") позволяет получать данные от подключенных сканеров штрихкодов и передавать их в платформу "1С:Предприятие". Компонент поддерживает следующие операционные системы (далее – ОС): Windows x32/x64, Linux (x32/x64), Android (arm, arm64, x86, x86_64), MacOS(x64). Компонент поддерживает следующие режимы подключения к сканирующему оборудованию: клавиатурный (все ОС), virtual COM (все ОС), Bluetooth (Android, Mac), Broadcast (Android).

Схема взаимодействия с оборудованием


Клавиатурный режим



Ограничения клавиатурного режима

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

80 до 110 клавиш, тем не менее, ШК может кодировать последовательность байт каждый из которых может принимать значения от 0 до 255. Т.е., в общем случае, количества клавиш на клавиатуре недостаточно для того чтобы передать данные любого ШК. Для того чтобы обойти это ограничение некоторые сканеры используют Ctrl+X или Alt+X нотацию, которые поддержаны в ВК "1С:Сканер штрихкода". Однако не все модели сканеров предоставляют такие возможности и в случае "нестандартных" значений байт данных в ШК (как правило, значения байт <32 и >127) либо не передают никаких данных, либо передают их не стандартизованной последовательностью клавиатурных событий. Поэтому, если необходимо работать со штрихкодами, содержащими не латинские символы или каким-либо образом кодированные данные (больничные листы и т.д.), то лучше воспользоваться подключением по COM, если сканер это позволяет.

"Auto CRLF"

Как правило "по умолчанию" сканеры в клавиатурном режиме настроены с суффиксом ‘CR’ (клавиша Enter), но не для всех моделей сканеров это так. Иногда суффиксом может быть ‘LF’ или ‘CRLF’. Для обобщения всех этих случаев в ВК, кроме обычных односимвольных суффиксов, предусмотрен специальный суффикс "Auto CRLF", который обозначает, что последовательность, состоящая из CRLF в любом сочетании считается суффиксом. Это может облегчить работу с настройками для некоторых моделей сканеров.

Окно "Тест"

Для проверки работы со сканером на Windows и Linux, есть возможность воспользоваться встроенным в ВК окном "Тест". Для этого нужно нажать кнопку "Тест устройства" в форме настроек компонента. Внешний вид окна представлен на следующем рисунке.


Окно тест делает попытку подключения всего доступного оборудования с заданными в форме настроек параметрами. После чего можно сканировать различные ШК, данные полученные с них будут отображаться в поле данных. Получаемая от оборудования информация может быть представлена в окне "Тест" в 3-х режимах: "Тестовом", "Рабочем" и "Отладка клавиатуры". "Тестовый" режим показывает данные от оборудования с заменой непечатаемых символов на их названия, а также названия специальных клавиш, если данные получены от клавиатуры.

Также для проверки правильности настроек сканера на форме Тест расположен проверочный ШК, отсканировав который можно понять правильность настройки сканера. В случае если настройки сканера и ВК "1С:Сканер штрихкода" настроены одинаково (совпадают настройки суффикса, префикса и специальных клавиш на сканере и в ВК), то в поле данных будет выведено "Ваш сканер настроен правильно" ("Your scaner configured correctly"). В случае, когда неправильно настроен суффикс и/или префикс будет выведено соответственно "Данные соответствуют проверочным частично."("The data correspond to the verification partly."), "Неверно настроен суффикс"("Suffix configured wrong"), "Неверно настроен префикс"("Prefix configured wrong").

Android Braodcast

Установленные настройки ВК в МБПО на ТСД Атол Smart.Lite



Настройки ТСД Атол Smart.Lite на Broadcast



Свойства

Компонента не содержит свойств.

Методы

Название (алиас) Параметры Возвращаемое значение Описание
ПолучитьНомерВерсии(GetVersion - - Метод возвращает строку текущей версии компоненты
ПолучитьОписание (GetDescription) - - Метод возвращает описание компоненты
ПолучитьОшибку (GetLastError) - - Метод возвращает последнюю ошибку при работе компоненты
ПолучитьПараметры (GetParameters) - - Метод возвращает XML документ с описанием настроечных параметров компоненты, передаваемых через метод УстановитьПараметр (SetParameter)
УстановитьПараметр (SetParameter) - - Метод устанавливает значение одного из параметров, список которых может быть получен методом ПолучитьПараметры (GetParameters)
Подключить (Open) - - Метод подключает устройство
Отключить (Close) - - Метод отключает устройство
ТестУстройства (DeviceTest) - - Метод запускает тест устройства

Настройки ВК

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

Название параметра
RU/EN

Standard Intent Extra NONE Стандартный ключ intent.extraПользовательсктй Intent Extra/User Intent Extra Пользовательский ключ intent.extra (из настроек ТСД)Пользовательское Intent Action/User Intent Action Пользовательский intent.action (из настроек ТСД)Пользовательская Intent Category/User Intent Category Пользовательский intent.category (из настроек ТСД)Тип данных/Extra data type

String Тип данных используемого ключа intent.extra

Возвращаемые события

В случае успешного получения данных от устройства компонента кодирует их соответствующим образом (Строка, Base64) и передает в 1С:Предприятие в виде одного из следующих событий:

Читайте также: