Во время выполнения кода Keyboard.write() нельзя двигать курсором мышки.
- Войдите на сайт для отправки комментариев
Вс, 22/07/2018 - 02:42
Специально для симуляции клавиатуры приобрёл Ардуино-микро.
Запустил скетч, который должен симулировать нажатие на определённую клавишу каждую секунду.
Но во время "печати" этой клавиши у меня замирает курсор мышки.
Как с этим бороться?
Скетч банальный, что такой использовать нельзя:
#include "Keyboard.h" void setup() { // initialize control over the keyboard: Keyboard.begin(); } void loop() { delay(1000); Keyboard.write('v'); }
delay тута лишний. Нада по-другому.
Причём тут "delay"? Я своими ручками мышку двигаю, а не ардуинкой.
Только во время этого "delay" я и могу курсором двигать.
Потому что delay всегда лишний.
andrey18, к сожалению, Вы даете совершенно недостаточно информации. Например, Вы не сообщаете, как подключили мышку к Ардуино.
И еще: Для правильной эмуляции нажатия на клавишу, необходимо передавать в компьютер не только код нажатия клавиши, но и код ее отпускания.
PS. Ну и, само собой, delay всегда лишний.
Я не подключал мышь к ардуино, я подключил мышь к компьютеру.
Это компьютер перестаёт слушаться мышки, которая подключёна к к компьютеру (а не к ардуино), когда ардуино, подключённая по USB к компьютеру в текстовом редакторе пишет "v".
andrey18, как можно Вам что-то посоветовать, если Вы не сообщаете существенных для понрмания ситуации вещей? Например, какой-то "компьютер" повляется только в 5-м сообщении. При это остается неизвестным:
- по какому нитерфейсу подключена Ардуино к компьютеру,
- по какому интерфейсу подключена мышь к компьютеру,
- какую Вы используете библиотеку "keyboard.h",
- как ведет себя мышь, если на обычной клавиатуре нажать и не отпускать клавишу.
Я не подключал мышь к ардуино, я подключил мышь к компьютеру.
Это компьютер перестаёт слушаться мышки, которая подключёна к к компьютеру (а не к ардуино), когда ардуино, подключённая по USB к компьютеру в текстовом редакторе пишет "v".
Ну и что?
У меня был комп на котором 485 usb свисток гонял курсор мышки по экрану и при этом нажимая на кнопки мышки.
При этом на соседнем всё работало прекрасно.
Вот я и спрашиваю, почему у меня во время работы с Keyboard, настоящая мышка перестаёт работать?
"Потому что" ©
Откуда библиотека "Keyboard.h" ? как настроена ?возможно что она полностью перехватывает управление HID девайсами кампуктера
p.s. я в ардуино почти не лазию, что бы прям с головой (воу-воу палехче , с C-ным ARMщиком)
Не заметил Ваше сообщение.
И так, вот, ответы на Ваши вопросы:
Компьютер - ноутбук с Windows 7 с родной клавиатурой и обычной USB-мышкой.
Ардуино подключается при помощи USB-кабеля, но для компьютера он подключен через COM-порт.
В диспетчере устройств эмулируемая клавиатура видна, как обычная HID-клавиатура.
andrey18, попробуйте так
обычная клавиатура не зависает, как ваша ардуина с вашей программой. delay это полная остановка.
Курсор мышки вообще перестал двигаться.
P.S. Тут клуб delay-фобов или у Вас религия такая?
если попробовать так :
или ещё вот так :
каков результат ?
...вот так :
каков результат ?
Курсор мышки продолжает "замерзать" на секунду при выводе символов.
P.S. Тут клуб delay-фобов или у Вас религия такая?
я свидетель blink without delay
Не заметил Ваше сообщение.
И так, вот, ответы на Ваши вопросы:
Компьютер - ноутбук с Windows 7 с родной клавиатурой и обычной USB-мышкой.
Появляются все новые и новые подробности...
Я надеюсь, Вы догадались, что в случае с ноутбуком следует сравнивать работу мыши с клавишей, нажатой на внешней клавиатуре?
Конечно работает!
Судя по Вашим вопросам, Вы постоянно сталкиваетесь с людьми, которые работаю на компьютерах, которые сами и спаяли. Выражаю своё уважение. В следующий раз, чтобы не нарушать чистоту эксперимента, я даже одежду менять не буду.
P.S. А вы голую голову голубя ели?
А вы голую голову голубя ели?
Хватит LSD подключать!
Не заметил Ваше сообщение.
И так, вот, ответы на Ваши вопросы:
Компьютер - ноутбук с Windows 7 с родной клавиатурой и обычной USB-мышкой.
Ардуино подключается при помощи USB-кабеля, но для компьютера он подключен через COM-порт.
В диспетчере устройств эмулируемая клавиатура видна, как обычная HID-клавиатура.
По симптомам - проблема не в ардуинке, а в дровах. ИМХО - туда надо копать.