I'm wondering what reasonable alternatives there are for implementing a unit that functions as a USB keyboard filter or USB mouse filter. That is, the unit would have two USB ports, one that attaches to a host PC and looks like a USB keyboard or mouse (as Teensy can do easily), and the other attaches to an actual keyboard or mouse.

The goal is to implement various "filtering" features (eg: key mappings, or mouse behavior adjustments).

I've read various other threads that talk about USB shields, and/or possibly two Teensy's back-to-back via serial or whatever, but I could use clarification of the current state of the landscape in this area, such as:

-- What shield or Teensy-to-Teensy (or even Teensy-Arduino) approaches work well (in general, not just this application)?
-- What libraries are available that allow Teensy to host a USB keyboard or mouse?
-- Performance gotchas to watch for (eg: when implementing a mouse acceleration curve).

Any comments welcome! Thanks,

-- Graham