Implement Default In-Key Keyboard Layout optimizations. #3303
+65
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
My favorite keyboard is the In-Key layout for its muted monotonic color composition. I find it easier to visualize and comprehend relative notes in a scale without the wash of color. I have made this keyboard layout my default.
Problem with this default is that there is no chromatic equivalent. Pressing the SCALE button to change between diatonic and chromatic layouts does nothing. What I want displayed is the Isomorphic keyboard lit with the same muted color composition. This layout makes obvious which notes are diatonic and which notes lie outside of scale. Diatonic notes are lit and notes outside the scale are black. When changing from a major to a minor scale, the shifting diatonic notes are visually identifiable.
This design language should also be used by the synth kit's audition pads. Currently audition pads show a colored root note and a stack of either 6 or 10 black notes depending on SCALE before the next root. Lighting the diatonic notes and having the Perfect 5th degree slightly brighter helps visual comprehension by dividing the lower three diatonic notes from the upper two. Note rows become identifiable at a glance. No more pressing buttons to see popups.
The KEYBOARD and SCALE buttons should operate independent of each other. Pressing the KEYBOARD button shouldn't affect the state of SCALE. There are 4 states that the layout could be in:
These optimizations are implemented strictly when the In-Key keyboard layout is set as the System Default. The other layout options available, Isomorphic and Piano, continue to function unchanged. The method for choosing keyboard layouts using KEYBOARD--SELECT-ENC continues to function unchanged.