I've made some changes to the preset layer format. Hopefully, this should simplify things.
0: MIDI Channel (0..15)
1: Transpose (By note) (-11..11)
2: Octave (0..8)
3: Keyboard Split Start (Byte)
4: Keyboard Split End (Byte)
5: Velocity fixed value (0: Variable, 1..127: Fixed)
6: Pitch Bend scale (Upper 4 bits: Left end value,Lower 4 bits: Right end value)
7: Modulation scale value (0..127)
Here's a rough sketch of the display / data entry console. It's not to scale.
The button marked 'E' is the entry button. The one marked 'X' is the escape or cancel button.
I offset it slightly so that it won't accidentally be pressed during data entry.
The other 4 buttons are arrow keys. When not in data entry mode, the arrow keys will move the cursor around the screen.
Once the 'E' button is pressed, you can use the up / down arrows to change the data.
Pressing the 'E' button will save the users' changes. If the 'X' button is pressed, the original value is restored, and edit mode is cancelled.
Since I'm using Timer #1 to scan the keybed, I'm also using it to scan the buttons. So, I plan on adding a button repeat and button repeat delay.
I'm also planning on adding a digital resistor to control the contrast, so I'll need to add a "System" page, and an easy way to invoke it..
As soon as I get it built, I'll post some pictures.