Possible, but fairly complex and labor intensive. Also it might require a mouse-over to trigger button swapping. Basicly here's what you'd have to do...
1) Complie a list of every event name EXACTLY as it appears.
2) Complie a list of every crafting skill name.
3) Figure out what skills map to what events.
4) Create button bars for each set of buttons, all overlapped in the TS window. Each button has an OnPress="doability='ability name' doability='ability name'" script.
5) Script if statements to test everyone of the event names against the LocalText in the crafting window. If there's a match, have it hide all buttonbars, then show the related bar.
The thing I'm not sure about is if any object in the window reliably hides and shows between every event. If something does, you can use that as a trigger for your text test. Otherwise the user will have to trigger the test some other way (mouse-over, button press, etc).
Another pitfall to this setup is that the buttons wont indicate refresh like a normal hotkey.
I thought of this a long time ago, but frankly don't think its worth the effort and would make crafting even more boring