Лучший способ обработать вход с клавиатуры “клин”

Если у вас есть разрешение read_insights, вы можете получить реакции следующим образом для фида или сообщения

fields=insights.metric(post_reactions_by_type_total).period(lifetime).as(post_reactions_by_type_total)

, и вы получите результаты, такие как:

        "name": "post_reactions_by_type_total",
        "period": "lifetime",
        "values": [
          {
            "value": {
              "like": 10,
              "love": 2,
              "wow": 3,
              "haha": 1,
              "sorry": 1,
              "anger": 2
            }
          }
        ],
6
задан Jonas 6 April 2010 в 17:49
поделиться

5 ответов

Одна вещь, которую можно сделать, состоит в том, что необходимо смочь настроить читателя клина так, чтобы это представило один или несколько символов ESC прежде или после строки. Вы использовали бы эти символы ESC, чтобы знать, что Вы собираетесь иметь (или просто имел), вход magcard.

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

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

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

10
ответ дан 8 December 2019 в 14:49
поделиться

Можно также использовать Необработанный Вход API, если Вы знаете Аппаратные идентификаторы устройств заранее. Я недавно вел блог об этом. Это может быть безумно, но это satisifed мое требование: основная цель в моем случае состояла в том, чтобы смочь получить вход, даже когда приложение потеряло фокус, потому что кто-то случайно врезался во что-то при поиске вокруг для сканирования объектов на панели. Вторичная цель состоит в том, что я не мог добавить символы сигнальной метки, потому что это повредит существующие сторонние приложения, используемые с оружием сканирования.

Я сделал метод символа сигнальной метки прежде, однако, оба через a KeyPress присоединение или захват клавиатуры низкого уровня через SetWindowsHookEx() или через KeyPreview на Вашей главной форме приложения. Если это отвечает Вашим требованиям, это определенно намного более просто и легко для использования того метода и с этой целью меня второй рекомендации, уже данные.

3
ответ дан 8 December 2019 в 14:49
поделиться

Другое голосование за идею jttraino. Я делаю почти такой же с картридерами и читателями чека что касается систем, где мы должны поддерживать клин клавиатуры, а также USB и RS232.

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

Хорошая начальная точка - что-то как tilda-pling (~!), поскольку те символы вряд ли появятся в чьих-либо персональных данных и вряд ли когда-либо должны появляться вместе в тексте примечания и т.д.:-)

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

1
ответ дан 8 December 2019 в 14:49
поделиться

Я идея второго @jttraino.

Это - способ пойти для сканирования/считывателей штрихкода панели и других таких устройств, которые являются Plug and Play (PnP). Я использовал ту же технику для конфигурирования нескольких 1D и сканеры двухмерного штрихкода в моем предыдущем присвоении.

0
ответ дан 8 December 2019 в 14:49
поделиться

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

также, если Вы распределяете свое программное обеспечение другим территориям, затем ключ топит, может отличаться, например, в Испании (я думаю, но могу быть Францией), верхняя строка клавиатуры!" % £$ ^& () настроенный против США/Великобритании 1234567890, и если Ваш картридер установлен на США/Великобританию затем, это отправит!" % £$ ^& () вместо 1234567890, поскольку клин просто эмулирует тот ключ, нажатый и если окна интерпретирует его отличающийся затем его Ваша проблема.

2
ответ дан 8 December 2019 в 14:49
поделиться
Другие вопросы по тегам:

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