I haven't even put in any real thought into what the event structure for that would look like
It shouldn't be that hard. With the exception of PC keyboards, everything reports a combination of buttons, a relative axes, and absolute axes. Keyboards could be mapped to serial character output from a "104-button joystick," but that's kind of overkill.
Velocity sensitive musical keyboards are a bit of an issue. But then again, if you allow a button to have a value tagged with it (in addition to pressed), then that covers velocity/pressure/etc.
I'm not aware of any input device that needs more than one value attached per button press (pressure + velocity), but that could either be explicitly handled or reserved for macro DEFINEs for the few people who would actually use them.
Mouse gestures complicate things. I'm not sure how those work, whether they're a layer on top of the mouse x/y, or they get sent separately. Personally, I hate them.
Mouse button presses can include a pressure value as well to cover drawing tablets. I've long wanted to use those for an RTS game (I've got one, again, no time at the moment.)
What would be fun would be to have Lua (or whatever) script support to define generic "controllers" and the data they need so we can literally just plug an Arduino in, write HID_ARDUINO in the script type, and start defining "if(axis0 == 100)send_event(KEYBOARD_CHAR_A);".
What I mean is, an Allegro game expresses "things to be controlled" and their type. Then we use Lua to bind our input from our joystick/etc to event calls to those exposed functions. That way, people could literally add their own controllers to a new game without having to recompile it or have access to the code. They could also technically "abuse it" to write key pressing AI if we expose data outputs from the game.
Lastly, of course we'd have to define outputs as well for force feedback, audio to Wii controller speakers, LED flashing, and so on.
I'd be willing to work on such a library extension if other people are interested. Haptic Feedback / User Interfaces have always been a strong interest of mine.