Hi,
I don't know, if that has been implemented by someone already. Just in case it hasn't, the attachment contains a display of standard midi keyboard highlighting pressed keys.
It contains global sends and receives so only one instance of it can be used in a session. If someone has an idea how to implement this with localized sends and receives without using makesymbol or other non-native pd objects, let me know.
Nice extensions would be to reflect velocities with shade and display different midi channels with different colors, but I could never figure out pd's coloring scheme. Maybe a nice exercise for the reader?
-- Orm