From 71f067a60ef01df6a58c086a939a58e40ab7e972 Mon Sep 17 00:00:00 2001 From: Takeshi Nishio Date: Wed, 20 Jan 2021 11:08:06 +0900 Subject: Fix wrong key when "Music Map" is used with MAJOR_MODE. (#11234) With MAJOR_MODE (= major scale), keys in one octave is not 12 but 7. To solve this problem, change divisor number from 12 to 7 at %(Modulo) and /(Division). NOTE: The last 12 represents half step keys in one octave for pitch calculation. --- quantum/process_keycode/process_music.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quantum/process_keycode/process_music.c b/quantum/process_keycode/process_music.c index b61a16e878..eb06be96c2 100644 --- a/quantum/process_keycode/process_music.c +++ b/quantum/process_keycode/process_music.c @@ -191,7 +191,7 @@ bool process_music(uint16_t keycode, keyrecord_t *record) { note = music_starting_note + music_offset + 36 + music_map[record->event.key.row][record->event.key.col]; } else { uint8_t position = music_map[record->event.key.row][record->event.key.col]; - note = music_starting_note + music_offset + 36 + SCALE[position % 12] + (position / 12) * 12; + note = music_starting_note + music_offset + 36 + SCALE[position % 7] + (position / 7) * 12; } # else if (music_mode == MUSIC_MODE_CHROMATIC) -- cgit v1.2.3