Closed joelsernamoreno closed 1 year ago
On any class, before begin: https://github.com/chegewara/EspTinyUSB/blob/master/examples/device/basic_setup/basic_setup.ino#L36
Mm... I'm not referring to the serial class, I'm referring to the HID (keyboard) identification. I'm looking for this to identify as a Mac keyboard
And i am saying it is applicable to any USB class, keyboard too.
Just like you did, only it has to be called before begin()
Keyboard.deviceID(0x05AC, 0x0201);
keyboard.begin()
If I use the keyboard class the keyboard part does not work:
usb 1-2: new full-speed USB device number 84 using xhci_hcd [12031.764521] usb 1-2: config 1 has an invalid descriptor of length 120, skipping remainder of the config [12031.765947] usb 1-2: New USB device found, idVendor=dead, idProduct=beef, bcdDevice= 0.64 [12031.765949] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [12031.765950] usb 1-2: Product: Joel [12031.765951] usb 1-2: Manufacturer: Joel [12031.765952] usb 1-2: SerialNumber: 1234-567890 [12031.767552] usb 1-2: can't set config #1, error -32
This seems to work for me:
USBSerial.manufacturer("Joel"); USBSerial.serial("1234-567890"); USBSerial.product("Joel"); USBSerial.revision(100); USBSerial.deviceID(0xdead, 0xbeef); USBSerial.registerDeviceCallbacks(new MyUSBSallnbacks()); dev.setCallbacks(new MyHIDCallbacks()); dev.begin(); USBSerial.begin();
Well, is it possible to stop the USBSerial class, change VID/PID and restart it to continuously change the data?
An example would be the following:
USBSerial.manufacturer("Joel"); USBSerial.product("Joel"); Keyboard.begin(); USBSerial.begin();
USBSerial.stop(); USBSerial.manufacturer("EsptinyUSB"); USBSerial.product("EsptinyUSB"); Keyboard.begin(); USBSerial.begin();
No, its not possible to stop and restart any class. Without the code its hard to say why you are having this error:
[12031.767552] usb 1-2: can't set config 1, error -32
Thanks
Hi
A quick question
Some time ago I sent you a PR with multilayout, I have seen that now hidkeylayout.h has changed quite a bit. I have added a keymap here (Spanish layout) below the English layout:
/ ES keyboard (as HID standard) /
}
I have tried to define the layout with #define KEY_LAYOUT ES_LAYOUT in several places in the library and in my code, but I have not been able to get this to be applied correctly, the library still uses the English layout
Any hint?
I have already fixed the problem
I add this in hidkeylayout.h:
#define KEY_LAYOUT US_LAYOUT
#define KEY_LAYOUT ES_LAYOUT
#define KEY_LAYOUT UK_LAYOUT
And in my sketch:
I will send you PR again when I add several layouts
Thanks
Hello
Is there any way to change the keyboard VID/PID on the air?
I am using this, but with no results:
Keyboard.deviceID(0x05AC, 0x0201);
Thanks