I'm attempting to use a TeensyLC to emulate an existing device on a Linux Mint system. I'm pretty new to USB HID communication so its likely that my questions will not be the smartest questions ever asked I have a lot of questions in making this device work, but I'll start with the following.
I have compiled a simple program using the Arudino IDE with the USB Type set to "Keyboard". The program is uploaded to the Teensy, and the teensy is plugged into the Linux system.
To see what is being published by the USB device, I use a program on linux called "evtest" this program lets you select a USB device that it sees plugged in, and it reports all of the events that device is capable of producing.
I have attached 3 files.
1 - evtest.txt - This file is what I see when I invoke evtest. It displays all of the USB devices that it finds, and allows you to pick one to query.
2 - evdev1.txt - This is the output of evtest when I select device 4
3 - evdev2.txt - This is the output of evtest when I select device 5.
Questions: (I have many, but I will start with these).
1) Why are 2 devices found when evtest is invoked? (I only have "keyboard" selected as the USB type)
2) Why are the resulting outputs different between the 2 devices?
3) Device 5 has a lot of ABS events that I would like to send, but it seems to me that the only way to send ABS events is using the Joystick USB type. None of these seem to be exposed in usb_keyboard.h. Is there a way that I can access these ABS events using the Keyboard USB type?
4)Why are the 2 devices reporting as the same name? "Teensyduino Keyboard". I dont see a way to distinguish between the 2 on the linux side when polling devices. Clearly they are each publishing a different list of events.
Thanks in advance for your response,
Scott...
I have compiled a simple program using the Arudino IDE with the USB Type set to "Keyboard". The program is uploaded to the Teensy, and the teensy is plugged into the Linux system.
To see what is being published by the USB device, I use a program on linux called "evtest" this program lets you select a USB device that it sees plugged in, and it reports all of the events that device is capable of producing.
I have attached 3 files.
1 - evtest.txt - This file is what I see when I invoke evtest. It displays all of the USB devices that it finds, and allows you to pick one to query.
2 - evdev1.txt - This is the output of evtest when I select device 4
3 - evdev2.txt - This is the output of evtest when I select device 5.
Questions: (I have many, but I will start with these).
1) Why are 2 devices found when evtest is invoked? (I only have "keyboard" selected as the USB type)
2) Why are the resulting outputs different between the 2 devices?
3) Device 5 has a lot of ABS events that I would like to send, but it seems to me that the only way to send ABS events is using the Joystick USB type. None of these seem to be exposed in usb_keyboard.h. Is there a way that I can access these ABS events using the Keyboard USB type?
4)Why are the 2 devices reporting as the same name? "Teensyduino Keyboard". I dont see a way to distinguish between the 2 on the linux side when polling devices. Clearly they are each publishing a different list of events.
Thanks in advance for your response,
Scott...