I always prefer a cable over all this magic-wireless (infra,bluetooth,wlan, etc.) stuff since years.
The only exception is a mouse. Until recently, I did not realize that I can even conveniently read the battery out. Again a problem solved.
Which device do i use?
~$: dmesg | grep uhidpp uhidpp0 at uhidev2 reportid 16 device 1 mouse "M525" serial 0d-4d-f6-aa
sysctl will serve the info:
~$: sysctl hw.sensors.uhidpp0 hw.sensors.uhidpp0.raw0=2 (number of battery levels) hw.sensors.uhidpp0.percent0=90.00% (battery level), OK