Skip to content

Proxies Bluetooth keyboards and mouse as HID devices (eg. with Raspberry Zero Pi W)

License

Notifications You must be signed in to change notification settings

jhfry/go-hidproxy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This fork of rosmo's ealier work, with some contributions from fkahhaleh, will seek to add support for absolute mouse positioning. This is useful for my particular use case (Across Center).

#THIS IS INCOMPLETE AND WILL LIKELY NOT WORK AT THIS TIME

go-hidproxy

Proxies Bluetooth keyboards and mouse as HID devices (eg. with Raspberry Zero Pi W)

Build

Requires libudev-dev package (sudo apt install libudev-dev).

Build with Go 1.11+:

go get github.com/jhfry/go-hidproxy/cmd/go-hidproxy
sudo cp ~/go/bin/go-hidproxy /usr/sbin/go-hidproxy

Install

  • Build the binary
  • Copy binary to /usr/sbin/go-hidproxy
  • Install systemd unit file to /etc/systemd/system
  • Reload daemons: sudo systemctl daemon-reload
  • Enable hidproxy: sudo systemctl enable hidproxy
  • (Optionally) Start hidproxy: sudo systemctl start hidproxy

Raspberry Pi Zero W setup

I used a pretty standard Raspbian image:

Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

You'll need to setup /boot/config.txt with:

dtoverlay=dwc2

In /etc/modules you should have:

dwc2
libcomposite
evdev

Pair Bluetooth keyboard/mouse

One time pairing:

# sudo bluetoothctl
> discoverable on
> pairable on
> agent NoInputNoOutput
> default-agent
> scan on
> pair aa:bb:cc:dd:ee:ff
> connect aa:bb:cc:dd:ee:ff
> trust aa:bb:cc:dd:ee:ff

Tested with

  • TEX Shinobi keyboard / Trackpoint combo
  • Razer Deathadder V2 Pro
  • Microsoft Designer Compact Keyboard

About

Proxies Bluetooth keyboards and mouse as HID devices (eg. with Raspberry Zero Pi W)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%