First I tried the various forwarding types of adb other than TCP. None of them seemed to work at all. Therefore I needed to use TCP, since that worked. Thanks to a co-worker at Collabora, I found out that busybox has a netcat tool I could use on Android. Laptop of course has the original netcat. Nethid is a quick & dirty program for creating a fake evdev device node using uinput, so I fixed that to work on Android.
First on the host, set up TCP forwarding (port number just made up):
On the Android device, start uinput:$ adb forward tcp:7776 tcp:7776
Then on the host start feeding input events:$ busybox nc -l -p 7776 | uinput-pipe
And Weston now finds my forwarded evdev input device and receives input from it!$ cat /dev/input/event10 | nc localhost 7776
But there are some minor problems with this. Something in this pipe spaghetti is caching data, so input events arrive in bursts, not as soon as possible. Also, something is eating over 99% of the REL_X events, so it is quite impossible to move the cursor horizontally. REL_Y events seem go through fine. Strange...
Anyway, this fills its purpose: I was able to test that pointer devices work on my Weston android backend, and I also got mouse cursors to show up after some fixes. The video below is the proof.