Использование Leonardo в качестве клавиатуры: добавление функций пробуждения и сна

Я хочу использовать Леонардо с USB-чипом для передачи некоторых команд через USB-порт на компьютер с цифровым пианино (под управлением Windows 7) для различных функций. Я получил возможность использовать функции page up и page down, используя простой проект, который я нашел в Интернете. Теперь мне нужен следующий набор функций: стрелка влево, стрелка вправо, F11, пробуждение и сон. В чем мне нужна помощь, так это в следующем:

  • где полный список функций, доступных с помощью keyboard.press?
  • есть ли среди них бодрствование и сон?
  • если это не так, то какой заголовочный файл можно изменить, чтобы включить их?

Спасибо за любые предложения.

, 👍1

Обсуждение

google коды сканирования клавиатуры, @jsotola

Спасибо, у меня есть необходимые скан-коды. Мне нужна информация о том, куда их поместить в IDE., @Jack O'Flaherty

вы сказали , что можете генерировать нажатия клавиш PgUp и PgDn.... вы делаете другие нажатия клавиш таким же образом, @jsotola

Функции keyboard.press (СТРЕЛКА ВПРАВО) и стрелка влево работают должным образом. F11, WAKE и SLEEP недоступны или не названы таким образом, поэтому мои вопросы о списке доступных функций или о том, как называется заголовочный файл, чтобы я мог добавить его., @Jack O'Flaherty

такие имена, как СТРЕЛКА ВПРАВО и F11, - это просто цифры... я бы заподозрил , что это скан - коды ... я бы просто использовал scancode для PgDn, чтобы проверить, верна ли моя догадка, @jsotola

попробуйте некоторые из этих кодов ... http://ts.thrustmaster.com/download/accessories/pc/hotas/software/TARGET/TARGET_SCRIPT_EDITOR_basics_v1.2_Appendix.pdf, @jsotola

@jsotola Вы были правы насчет ввода чисел непосредственно в функцию нажатия клавиши. Я нашел имя для F11, а именно KEY_F11 . Он также работает с 0xCC в качестве аргумента. Однако код USB HID для F11 равен 44, и это не работает для переключения полноэкранного режима с Леонардо, так что происходит что-то еще. Скрытый код для сна - 82, но он также используется для caps lock. Значит, здесь происходит что-то еще. В документе, который вы связали, не упоминается ни бодрствование, ни сон., @Jack O'Flaherty


1 ответ


1

Оказывается, есть библиотека, которая может быть добавлена для компиляции мультимедийных и системных функций для подключения USB-клавиатуры к Леонардо, а также другим модулям Arduino. Он доступен через "инструменты", "менеджер библиотек"; это HID-проект NicoHood. На github есть пример программы под названием "system example", чтобы проверить ее на бодрствование и сон. Это прекрасно работает. Я ожидаю, что это сработает и для других функций.

,