Не работает эмуляция клавиатуры.

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем Кочетков Александр, 7 мар 2018.

  1. Вот программа:
    var kb = require('@amperka/usb-keyboard');
    var button = require('@amperka/button')
    .connect(P3);

    button.on('press', function() {
    kb.type('HELLO!');
    console.log('Done!');
    });

    Жму кнопку. Плата пишет Done! , а эмуляция клавиатуры не работает.
     
  2. maxS2004

    maxS2004 Гик

    а вот я написал код и мне выводится текст "пульт дистанционного управления" но это не всегда.каждый второй вывод выводит текст с ошибками. как это исправить
    Код (Javascript):
    var ir = require('@amperka/ir-receiver')  .connect(P7);
    var kb = require('@amperka/usb-keyboard');
    var playCode = 0x1689708f;
    ir.on('receive', function(code, repeat)
    {  if (code === playCode) {kb.type('gekmn lbcnfywbjyyjuj eghfdktybz');}});
     
  3. sys

    sys Злобный Буратино Модератор

    с эмуляцией клавиатуры есть ньюансы. Быстрый вывод часто содержит пропуски... для этого надо ограничивать скорость вывода. В своем проекте я поступил следующим образом:
    Код (Javascript):

    // typeSPEED - скорость набора текста. Задержка между вводом символов в мс
    var typeSPEED = 100;
    // Функция эмуляции набора текста на клавиатуре.
    // На текущий момент выставлена скорость 10 символов в сек, т.к. с большей скоростью
    // временами возникают пропуски символов... Эмуляция клавиатуры на Espruino - штука капризная :)
    // UPD: на прошивке 1v96 скорость удалось поднять до 10 символов/сек
    // на более ранних прошивках следует уменьшить скорость до 5 символов/сек -> typeSPEED = 200
    function ktype(str){
        var cnt = 0;
        var fcnt = str.length;
        var int1 = setInterval(()=>{
          kb.type(str[cnt++]);
          if(cnt>=fcnt){
            clearInterval(int1);
            temp='';
            busy = 0;
            mShow('OK',1000);
          }
        },typeSPEED);
    }
    и следует избегать попыток вывода нового текста пока не закончился вывод старого
     
  4. mike7105

    mike7105 Нерд

    Добрый день! Не работает эмулятор клавиатуры. Система Windows 10 x64
    прошивка платы 1v96.43, при подключении она не определяется как USB или HID совместимое устройство и ни в одну программу не посылается kb.type(). Пробовал переустанавливать драйвер устройства
     
  5. sys

    sys Злобный Буратино Модератор

    Какая версия драйверов STM32 установлена? Пробовали ли совершать действия описанные в теме "ЧаВо..."? Пробовали подключать плату через юсб-хаб?
     
  6. mike7105

    mike7105 Нерд

    Попробовал еще раз действия, описанные в статье .
    Обновленная версия драйвера устанавливается,но одновременно устанавливается и 1,4,0.
    Нужно еще совершить пару действий: в диспетчере устройств выбрать обновить драйвер -> выполнить поиск драйверов на этом компьютере -> выбрать драйвер из списка доступных драйверов на компьютере -> из списка выбирать Устройство с последовательным интерфейсом USB

    У меня только после этих действий заработало
     
    sys нравится это.