First of all, sorry for my bad english, I'm italian. This is the first GUI abstraction I share so hope you'll enjoy it. I've been using Pd for a little more than one year, so maybe this is not the most optimized piece of work you'll find around, but it surely does it's job.
I created a piano layout with 88 (piano keyboard) or 128 keys (midi range) that shows the notes played by a midi keyboard or something similar. You just need to input messages to one of its 4 inlets containing one or more couples <note velocity> e.g. you can pack the 2 outlet of [makenote] or [notein] or just simply a message such as |60 40, 64 30, 67 60( to show a C major chord and then |60 0, 64 0, 67 0( to switch it off (more examples in the help file).
Each of the 4 inlets has a different color to show the note played so you can monitor up to 4 instrument simultaneously.
88keys and 128keys use only canvases to work so they are perfectly compatible with Pd Vanilla, but they are a bit heavy while moving around so please be careful if you're using a low spec machine. They use white.pd and black.pd as building blocks so if you need to build a smaller one you can simply modify the original layout to make a 2 octave keyboard or else, or modify the single key abstraction if you don't like the original colors.
Hope this can be useful for someone, feel free to use and abuse as you wish and please share your own improvement so everyone can enjoy!