The basic design of the key editor is quite old. As far as I know it didn’t change substancially since Atari times. Here is my suggestion for a complete revision:
A freely definable division of the key editor into 3 vertical zones:
a) A central zone for entering and editing the notes to be played (as already).
b) One zone below and one above for key switches and other special MIDI events. The pitches of these zones should not be symbolized by keyboard keys on the left, but should be freely labeled, e.g. with the names of the key switches. The zone layout should be saved as a map (similar to drum maps). The upper and lower zone should be excluded from note transposition. And if the objection comes up that all this could be realized with expression maps: No, expression maps are unfortunately not suitable for every virtual instrument.
Edit: The key editor allways shows all 127 notes. Most instruments use a much smaller range (e.g. the piano 88 keys). So most of the vertikal space is unused. Nowerdays, there are a lot of virtual instruments who have key switches below and above the playable note range to change articulations or switch special functions (e.g.pick ups in a virtual electric guitar). If you record or program the key switches, they are shown as notes in the editor which isn’t quite usefull.
Editing velocity data: If notes lay close together on the time grid, their velocity bars overlap, making it difficult to impossible to change the velocity of a single note with the mouse without influencing the other. Unfortunately, selecting the note beforehand is of no use. You only can change them individually in the status bar by entering a numerical value. This is very cumbersome. I suggest that when notes are selected, only their velocity bars should be effected by dragging with the mouse.
If you click on a “key” in the the vertikal keyboard zone on the left, the corresponding note is played back with the highest velocity, which can be very irritating especially for instruments with velocity switching. It would be better if the velocity depends on where you click on the keyboard (far left: quiet, far right: loud).
As desired many times: Bezier curves for MIDI controllers.
Edit: I forgot this:
An option to have the editor window always in front (all editors).
If you open a MIDI-Part in the editor, sometimes the part is not fully visible, sometimes it fills only a small portion of the window - depending on the last zoom factor setting. There should be an option to show the part in full width within the editor window.
Did I express myself clearly? English is not my native language.