I'm using a ItsyBitsy 32u4, Adafruit says it can act as a USB HID keyboard. The mc is based on the 32u4 which the Keyboard docs say are supported.
I have a simple sketch that prints "A" every second and should press "A". When I upload the sketch and connect to the serial port I see the print output but I don't get any key presses.
Any ideas? I'm on linux, I suspect that the controller doesn't register as a HID device, maybe I need UDEV rules or drivers?
EDIT: the keyboard works on a different computer.
#include <Keyboard.h>
void setup() {
Serial.begin(9600);
Keyboard.begin();
Serial.println("Start");
}
void loop() {
Serial.println("a");
Keyboard.write('a');
delay(1000);
}
-
you shoukd read the reference and study the examplesJuraj– Juraj ♦07/05/2019 06:42:12Commented Jul 5, 2019 at 6:42
-
@Juraj I have, what do you think I missed?everett1992– everett199207/05/2019 17:42:47Commented Jul 5, 2019 at 17:42
-
it seemed you missed what is in the Answer. do you have a text editor open in foreground?Juraj– Juraj ♦07/05/2019 20:18:03Commented Jul 5, 2019 at 20:18
-
Yeah, I have a window focused that accepts and displays keyboard input. Typing on my actual keyboard displays the keys.everett1992– everett199207/05/2019 22:32:41Commented Jul 5, 2019 at 22:32
-
next I would try removing Serial from the sketchJuraj– Juraj ♦07/06/2019 05:18:55Commented Jul 6, 2019 at 5:18
2 Answers 2
Keyboard.press() expects a character, but you are passing a character array. Also Keyboard.press() only presses but does not release the key. Keyboard.releaseAll() can be used to release all keys.
I would try:
Keyboard.press('A') ; //note the ' instead of "
Keyboard.releaseAll();
or preferably:
Keyboard.write('A'); //handles press and release of basic keys
-
I made an error when I created my simple repo sketch, but I have tried
Keyboard.press('A')
andKeyboard.write('A')
. Neither work.everett1992– everett199207/05/2019 17:31:56Commented Jul 5, 2019 at 17:31 -
I also tried
Keyboard.write('a')
after reading keyboard.cpp and realizing that writing 'A' sends keypesses fora
and the shift modifier.everett1992– everett199207/05/2019 17:44:15Commented Jul 5, 2019 at 17:44
There was some issue with my laptop, not controller or the sketch.
I tried the my board with another computer and it worked. I tried a commercial keyboard on my first computer it also didn't work.
Both keyboards work after a reboot.