You can't do it with zero kernel code for ISA devices, but if there was a pci busmouse, uio + uio_pci_generic would work for reading the mouse, and you'd use uinput to send the events to the input stack. If you're willing to make a little uio stub driver for the interrupt, you can do it for ISA. UIO is from 2006 or something.
tldr; it's there but nobody is interested in reinventing ancient pre-PCI drivers, so there's no generic ISA plumbing.
tldr; it's there but nobody is interested in reinventing ancient pre-PCI drivers, so there's no generic ISA plumbing.