Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/najmajmal-old/pi400kb
Raspberry pi 400 as a Keyboard
https://github.com/najmajmal-old/pi400kb
400 keyboard pi400 pi400kb raspberry raspberry-pi raspberry-pi-400 raspberrypi
Last synced: about 2 months ago
JSON representation
Raspberry pi 400 as a Keyboard
- Host: GitHub
- URL: https://github.com/najmajmal-old/pi400kb
- Owner: NajmAjmal-old
- Created: 2023-05-06T18:42:24.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-05-22T06:39:29.000Z (over 1 year ago)
- Last Synced: 2024-04-13T14:55:21.358Z (9 months ago)
- Topics: 400, keyboard, pi400, pi400kb, raspberry, raspberry-pi, raspberry-pi-400, raspberrypi
- Language: Shell
- Homepage:
- Size: 45.9 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Raspberry Pi 400 as a USB HID Keyboard & Mouse
Hook your Pi 400 up to your PC somehow, using a USB Type-C cable into the *power* port.
Anker make good ones- I used a 3m white one for my tests.Our USB-C to USB-A is great if you're using a USB-A port (but make sure it's a *high power* one): https://shop.pimoroni.com/products/usb-c-to-usb-a-cable-1m-black
A Raspberry Pi Mouse is also supported if plugged in, eg: https://shop.pimoroni.com/products/raspberry-pi-mouse?variant=29390982119507
This project started out life as a gist - https://gist.github.com/Gadgetoid/5a8ceb714de8e630059d30612503653f
Thank you to all the people who dropped by with kind words, suggestions and improvements.
- [Quickstart (Ish)](#quickstart-ish)
- [Mouse Support](#mouse-support)
- [Building & Contributing](#building--contributing)
- [Building](#building)
- [Custom Mouse/Keyboard Devices](#custom-mousekeyboard-devices)## Quickstart (Ish)
Add `dtoverlay=dwc2` to `/boot/config.txt`
Reboot!
`sudo modprobe libcomposite`
`wget https://github.com/NajmAjmal/pi400kb/blob/main/pi400kb`
`chmod +x pi400kb`
`sudo ./pi400kb`
:sparkles: YOUR PI 400 IS NOW A FREAKING KEYBOARD & MOUSE FOR YOUR PC WHAAAAT!? :sparkles:
Your keyboard input will be detached from your Pi while it's forwarded to your host computer.
Press `Ctrl + Raspberry` to grab/release your keyboard and mouse, switching between local use and USB.
Press `Ctrl + Shift + Raspberry` (on the grabbed keyboard) to exit.
### Mouse Support
Pi 400 KB supports the official Raspberry Pi Mouse VID:PID = 093a:2510 by default, but other mice should work.
### Autostart
```
sudo cp pi400kb /usr/sbin/pi400kb
sudo systemctl edit --force --full pi400kb.service
```Add the contents of the `pi400kb.service` file.
Start the service and check its status:
```
sudo systemctl start pi400kb.service
sudo systemctl status pi400kb.service
```Enable start on boot if it's okay:
```
sudo systemctl enable pi400kb.service
```## Building & Contributing
### Building
```
sudo apt install libconfig-dev
git clone https://github.com/NajmAjmal/pi400kb
cd pi400kb
git submodule update --init
mkdir build
cd build
cmake ..
make
```### Custom Mouse/Keyboard Devices
CMake accepts the following build arguments to customise the VID/PID and device path for the mouse/keyboard:
* `KEYBOARD_VID` - Keyboard Vendor ID, default: 0x04d9
* `KEYBOARD_PID` - Keyboard Product ID, default: 0x0007
* `KEYBOARD_DEV` - Keyboard device path, default: /dev/input/by-id/usb-_Raspberry_Pi_Internal_Keyboard-event-kbd
* `MOUSE_VID` - Mouse Vendor ID, default: 0x093a
* `MOUSE_PID` - Mouse Product ID, default: 0x2510
* `MOUSE_DEV` - Mouse device path, default: /dev/input/by-id/usb-PixArt_USB_Optical_Mouse-event-mouseSupply these arguments when configuring with CMake, eg:
```
cmake .. -DMOUSE_DEV="/dev/input/by-id/usb-EndGameGear_XM1_Gaming_Mouse_0000000000000000-event-mouse" -DMOUSE_VID=0x3367 -DMOUSE_PID=0x1903
```Credits: Gadgetoid