Can I append <data> /dev/mouse ?
Sharing {open,read,write,close} interface, but with exception and different semantics leads to a weird flavour of genericity.