Raspberry Pi 500+
Hi,
The good news is that:
- the Raspberry Pi 500+ can be powered from a "powered USB hub" attached to a PC without a power warning.
- the mouse works and is passed through to the PC successfully.
The bad news is that:
- even though the keystrokes appear in the Pi's terminal, they don't get passed through to the PC.
The keyboard device has changed so the cmake line now needs to be:
cmake .. -DKEYBOARD_VID=0x2e8a -DKEYBOARD_PID=0x0010 -DKEYBOARD_DEV=/dev/input/by-id/usb-Raspberry_Pi_Ltd_Pi_500+Keyboard__ISO-event-kbd
So is this a USB VIDs and PIDs problem now?
Does anyone have an suggestions how I could find the correct KEYBOARD VID / PID values?
Thanks
N
I believe this would be a duplicate of
- #50
Thank you for your suggestion.
If you look at the "cmake" line above, I'm using the VID and PID from the solution for that issue, being that I would have thought that a RPi 500+ presents itself to the outside world as a RPi 5, but it didn't work.
I then noticed that the keyboard device name for the 500+ keyboard as its slightly different. So I've used the correct device name, but it still doesn't work.
This is why I've created a new issue, rather than it being a duplicate.
I have managed to get the RPi 500+ working as an emulated Bluetooth keyboard, but I'd much prefer a single USB cable USB keyboard solution so that it works with my KVM.
Thanks again for your suggestion though.
Hi, I was able to compile the binary to work with RPi 500+ using the PID 0x0011:
cmake .. -DKEYBOARD_VID=0x2e8a -DKEYBOARD_PID=0x0011 -DKEYBOARD_DEV=/dev/input/by-id/usb-Raspberry_Pi_Ltd_Pi_500+Keyboard__ISO-event-kbd
I found this value with the command:
~ $ lsusb
Bus 004 Device 002: ID 2e8a:0011 Raspberry Pi Ltd Pi 500+ Keyboard (ANSI)
After compiling the binary I ran it per README instructions and all keystrokes were forwarded to my ipad which was powering the pi via usb c.
Hope this helps!
lsusb
Bus 003 Device 002: ID 04f3:0635 Elan Microelectronics Corp.
Bus 003 Device 002: ID 2e8a:0011 Raspberry Pi Ltd Pi 500+ Keyboard (ANSI)
Bus 001 Device 003: ID 046d:c07e Logitech, Inc. G402 Gaming Mouse
Bus 001 Device 002: ID 1050:0010 Yubico.com Yubikey (v1 or v2)
A numpad and a yubikey - so, essentially I have two keyboards that won't be passed through. It should be possible to detect keyboards by capabilities rather than id, might have time to look into this later.
cmake .. -DKEYBOARD_VID=0x2e8a -DKEYBOARD_PID=0x0011 -DKEYBOARD_DEV=/dev/input/by-id/usb-Raspberry_Pi_Ltd_Pi_500+_Keyboard__ANSI_-event-kbd -DHOOK_PATH=/usr/local/hook.sh -DMOUSE_DEV=/dev/input/by-id/usb-Logitech_Gaming_Mouse_G402_497E27713132-mouse -DMOUSE_VID=0x046d -DMOUSE_PID=0xc07e
make
make install
chmod a+x /usr/local/hook.sh
/usr/local/hook.sh
#!/bin/bash
# Basic example pi400kb hook
# This script is given the argument 1 for grabbed, 0 for ungrabbed.
rpi-keyboard-config leds set --colour "0,0,64"
case $1 in
0) # Ungrabbed
;;
1) # Grabbed
rpi-keyboard-config led set 75 --colour "170,255,64"
;;
esac
/dev/hidg0 missing - do I need to start up already connected to the host? testing.
/boot/firmware/config.txt line seems to be
dtoverlay=dwc2,dr_mode=peripheral
keyboard is working.... sort of. Input isn't caputured, boith devices are getting it. Mouse is not tracking correctly in os x "host", USB descriptor hard coded?
Input is being processed on the pi desktop when running. Very bad behavior. EVIOCGRAB not grabbing?