Hot answers tagged

3

I'm not sure for Arduino, but it has been done with ESP32. If you have not yet spent the money into a Bluetooth module for Arduino, you'll find that the ESP32 is not expensive either. You can find the code on Github. The author uses a TinyPico because it's pin compatible with one of his earlier projects. IMHO, any ESP32 should do as well. The key thing is to ...


2

Like Juraj and Majenko said. Arduino Keyboard library does emulate "Boot Keyboard". I use NicoHood HID library and now it works.


2

HID is a strange beast to get your head around. It operates by way of "Report Descriptors". These are "maps" that lay out what the values you send mean. It's these descriptors that make a keyboard a keyboard and a mouse a mouse. When you use Keyboard.h you attach a Keyboard report descriptor to the USB HID endpoint, and the computer knows ...


2

I am not sure I have the answer to your problem, just a collection of observations that hopefully steer you in the right direction. According to your nopaste link, when you send "ON", the first four keyboard events received by xev are: press(Shift_L), press(O), release(Shift_L), release(o). One may notice that there is no point in releasing the ...


1

The ESP32 doesn't have USB. You can't do USB communication. All it has is (like the UNO) a USB to UART interface chip. Unlike the UNO this is not programmable (more like a cheap Chinese knock-off UNO clone in that respect). You would need to couple it with a microcontroller that has USB and program hat to be your USB interface and communicate with it over ...


1

The problem with getting no response from the mouse was that the bluetooth did not auto reconnect to the computer after powering down. I solved this by sending the command SM,6 for auto reconnect and then R,1 to reboot.


1

For those that hit the same issue, here is how I solved it: Expose the USB_SendSpace() information in the HID interface by editing /usr/local/arduino-1.8.12/hardware/arduino/avr/libraries/HID/src/HID.cpp u8 HID_::SendSpace(void) { return USB_SendSpace(pluggedEndpoint); } And adding the interface to class HID_ in: /usr/local/arduino-1.8.12/...


1

Yes, but the configuration side of things will not be part of the gamepad HID. You will need to set up a second communication channel - be that serial or raw HID - to do the configuration.


1

Options for the Arduino you have: Get an Arduino supporting HID drivers (e.g. 32u4 based boards, Due /Zero/ Arduino Leonardo/ Micro or Pro Micro/ M0) You use this library it supports UNO/MEGA/Leonardo/(Pro)Micro/ any 8u2/16u2/at90usb8/162/32u2/32u4 compatible boards and some more Then you have to "just" code the communication between your programm and the ...


Only top voted, non community-wiki answers of a minimum length are eligible