Permalink
| # Animation Example Configuration | |
| Name = Animation Example; | |
| Version = 0.1; | |
| Author = "HaaTa (Jacob Alexander) 2017"; | |
| KLL = 0.5; | |
| # Modified Date | |
| Date = 2017-01-22; | |
| ### Animations ### | |
| # Pixel index 1 test | |
| A[testanimation] <= stop; # initially stopped | |
| A[testanimation, 1] <= P[1](30,70,120); | |
| A[testanimation, 2] <= P[1](0,0,0); | |
| A[testanimation, 3] <= P[1](60,90,140); | |
| # Pixel clear test (scancodes) | |
| A[clear_pixels] <= stop; # initially stopped | |
| A[clear_pixels, 1] <= | |
| S[18](0,0,0), | |
| S[19](0,0,0), | |
| S[20](0,0,0), | |
| S[29](0,0,0), | |
| S[38](0,0,0); | |
| # Rainbow, static interpolation test | |
| A[rainbow_static_fill_interp] <= start, interp:on; | |
| A[rainbow_static_fill_interp, 1] <= | |
| P[c:0%](0,255,0), | |
| P[c:25%](255,255,0), | |
| P[c:50%](255,0,0), | |
| P[c:75%](127,0,255), | |
| P[c:100%](0,0,255); | |
| #A[rainbow_static_fill_interp, 1] <= | |
| # P[c:0%](255,255,255), | |
| # P[c:100%](255,255,255); | |
| # Full fill example | |
| A[blue_fill_interp] <= interp:on; | |
| A[blue_fill_interp, 1] <= | |
| P[c:0%](0x00,0xAE,0xDA), | |
| P[c:100%](0x00,0xAE,0xDA); | |
| # Fade-in example | |
| # TODO - Use frame interpolation when ready | |
| A[z1_fade_in] <= start, interp:on; | |
| A[z1_fade_in, 1] <= P[c:0%](0,0,0), P[c:100%](0,0,0); | |
| A[z1_fade_in, 2] <= P[c:0%](5,5,5), P[c:100%](5,5,5); | |
| A[z1_fade_in, 3] <= P[c:0%](10,10,10), P[c:100%](10,10,10); | |
| A[z1_fade_in, 4] <= P[c:0%](20,20,20), P[c:100%](20,20,20); | |
| A[z1_fade_in, 5] <= P[c:0%](40,40,40), P[c:100%](40,40,40); | |
| A[z1_fade_in, 6] <= P[c:0%](60,60,60), P[c:100%](60,60,60); | |
| A[z1_fade_in, 7] <= P[c:0%](80,80,80), P[c:100%](80,80,80); | |
| A[z1_fade_in, 8] <= P[c:0%](100,100,100), P[c:100%](100,100,100); | |
| A[z1_fade_in, 9] <= P[c:0%](130,130,130), P[c:100%](130,130,130); | |
| A[z1_fade_in, 10] <= P[c:0%](160,160,160), P[c:100%](160,160,160); | |
| A[z1_fade_in, 11] <= P[c:0%](190,190,190), P[c:100%](190,190,190); | |
| A[z1_fade_in, 12] <= P[c:0%](220,220,220), P[c:100%](220,220,220); | |
| A[z1_fade_in, 13] <= P[c:0%](255,255,255), P[c:100%](255,255,255); | |
| A[z1_fade_in, 14] <= P[c:0%](200,200,200), P[c:100%](200,200,200); | |
| A[z1_fade_in, 15] <= P[c:0%](200,200,200), P[c:100%](200,200,200); | |
| A[z1_fade_in, 16] <= P[c:0%](200,200,200), P[c:100%](200,200,200); | |
| A[z1_fade_in, 17] <= P[c:0%](150,150,150), P[c:100%](150,150,150); | |
| A[z1_fade_in, 18] <= P[c:0%](150,150,150), P[c:100%](150,150,150); | |
| A[z1_fade_in, 19] <= P[c:0%](100,100,100), P[c:100%](100,100,100); | |
| A[z1_fade_in, 20] <= P[c:0%](100,100,100), P[c:100%](100,100,100); | |
| A[z1_fade_in, 21] <= P[c:0%](100,100,100), P[c:100%](100,100,100); | |
| A[z1_fade_in, 22] <= P[c:0%](75,75,75), P[c:75%](75,75,75); | |
| A[z1_fade_in, 23] <= P[c:0%](75,75,75), P[c:75%](75,75,75); | |
| A[z1_fade_in, 24] <= P[c:0%](75,75,75), P[c:75%](75,75,75); | |
| A[z1_fade_in, 25] <= P[c:0%](50,50,50), P[c:50%](50,50,50); | |
| A[z1_fade_in, 26] <= P[c:0%](50,50,50), P[c:50%](50,50,50); | |
| A[z1_fade_in, 27] <= P[c:0%](50,50,50), P[c:50%](50,50,50); | |
| #A[z1_fade_in, 22] <= P[c:0%](0,100,0), P[c:25%](100,100,0), P[c:50%](100,0,0), P[c:75%](75,0,100), P[c:100%](0,0,100); | |
| #A[z1_fade_in, 23] <= P[c:0%](0,200,0), P[c:25%](200,200,0), P[c:50%](200,0,0), P[c:75%](120,0,200), P[c:100%](0,0,200); | |
| #A[z1_fade_in, 24] <= P[c:0%](0,255,0), P[c:25%](255,255,0), P[c:50%](255,0,0), P[c:75%](127,0,255), P[c:100%](0,0,255); | |
| # Rainbow Animation example | |
| A[z2_rainbow_fill_interp] <= interp:on; | |
| A[z2_rainbow_fill_interp, 1] <= P[c:0%](0,255,0), P[c:25%](255,255,0), P[c:50%](255,0,0), P[c:75%](127,0,255), P[c:100%](0,0,255); | |
| #A[z2_rainbow_fill_interp, 1] <= P[c:0%](0,255,0), P[c:25%](255,255,0), P[c:50%](255,0,0), P[c:75%](127,0,255); | |
| A[z2_rainbow_fill_interp, 2] <= P[c:0%](0,255,0), P[c:27%](255,255,0), P[c:52%](255,0,0), P[c:77%](127,0,255), P[c:100%](0,0,255); | |
| #A[z2_rainbow_fill_interp, 2] <= P[c:0%](0,255,0), P[c:27%](255,255,0), P[c:52%](255,0,0), P[c:77%](127,0,255); | |
| A[z2_rainbow_fill_interp, 3] <= P[c:0%](0,255,0), P[c:29%](255,255,0), P[c:54%](255,0,0), P[c:79%](127,0,255), P[c:100%](0,0,255); | |
| #A[z2_rainbow_fill_interp, 3] <= P[c:0%](0,255,0), P[c:29%](255,255,0), P[c:54%](255,0,0), P[c:79%](127,0,255); | |
| A[z2_rainbow_fill_interp, 4] <= P[c:0%](0,255,0), P[c:31%](255,255,0), P[c:56%](255,0,0), P[c:81%](127,0,255), P[c:100%](0,0,255); | |
| #A[z2_rainbow_fill_interp, 4] <= P[c:0%](0,255,0), P[c:31%](255,255,0), P[c:56%](255,0,0), P[c:81%](127,0,255); | |
| #A[z2_rainbow_fill_interp, 4] <= P[c:56%](255,0,0), P[c:81%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 5] <= P[c:0%](0,255,0), P[c:33%](255,255,0), P[c:58%](255,0,0), P[c:83%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 6] <= P[c:0%](0,255,0), P[c:35%](255,255,0), P[c:60%](255,0,0), P[c:85%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 7] <= P[c:0%](0,255,0), P[c:37%](255,255,0), P[c:62%](255,0,0), P[c:87%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 8] <= P[c:0%](0,255,0), P[c:39%](255,255,0), P[c:64%](255,0,0), P[c:89%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 9] <= P[c:0%](0,255,0), P[c:41%](255,255,0), P[c:66%](255,0,0), P[c:91%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 10] <= P[c:0%](0,255,0), P[c:43%](255,255,0), P[c:68%](255,0,0), P[c:93%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 11] <= P[c:0%](0,255,0), P[c:45%](255,255,0), P[c:70%](255,0,0), P[c:95%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 12] <= P[c:0%](0,255,0), P[c:47%](255,255,0), P[c:72%](255,0,0), P[c:97%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 13] <= P[c:0%](0,255,0), P[c:45%](255,255,0), P[c:70%](255,0,0), P[c:95%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 14] <= P[c:0%](0,255,0), P[c:43%](255,255,0), P[c:68%](255,0,0), P[c:93%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 15] <= P[c:0%](0,255,0), P[c:41%](255,255,0), P[c:66%](255,0,0), P[c:91%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 16] <= P[c:0%](0,255,0), P[c:39%](255,255,0), P[c:64%](255,0,0), P[c:89%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 17] <= P[c:0%](0,255,0), P[c:37%](255,255,0), P[c:62%](255,0,0), P[c:87%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 18] <= P[c:0%](0,255,0), P[c:35%](255,255,0), P[c:60%](255,0,0), P[c:85%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 19] <= P[c:0%](0,255,0), P[c:33%](255,255,0), P[c:58%](255,0,0), P[c:83%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 20] <= P[c:0%](0,255,0), P[c:31%](255,255,0), P[c:56%](255,0,0), P[c:81%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 21] <= P[c:0%](0,255,0), P[c:29%](255,255,0), P[c:54%](255,0,0), P[c:79%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 22] <= P[c:0%](0,255,0), P[c:27%](255,255,0), P[c:52%](255,0,0), P[c:77%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 23] <= P[c:0%](0,255,0), P[c:25%](255,255,0), P[c:50%](255,0,0), P[c:75%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 24] <= P[c:0%](0,255,0), P[c:23%](255,255,0), P[c:47%](255,0,0), P[c:73%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 25] <= P[c:0%](0,255,0), P[c:21%](255,255,0), P[c:44%](255,0,0), P[c:71%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 26] <= P[c:0%](0,255,0), P[c:19%](255,255,0), P[c:41%](255,0,0), P[c:69%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 27] <= P[c:0%](0,255,0), P[c:17%](255,255,0), P[c:38%](255,0,0), P[c:67%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 28] <= P[c:0%](0,255,0), P[c:15%](255,255,0), P[c:35%](255,0,0), P[c:65%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 29] <= P[c:0%](0,255,0), P[c:13%](255,255,0), P[c:33%](255,0,0), P[c:63%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 30] <= P[c:0%](0,255,0), P[c:11%](255,255,0), P[c:30%](255,0,0), P[c:61%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 31] <= P[c:0%](0,255,0), P[c:9%](255,255,0), P[c:27%](255,0,0), P[c:59%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 32] <= P[c:0%](0,255,0), P[c:7%](255,255,0), P[c:24%](255,0,0), P[c:57%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 33] <= P[c:0%](0,255,0), P[c:5%](255,255,0), P[c:21%](255,0,0), P[c:55%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 34] <= P[c:0%](0,255,0), P[c:3%](255,255,0), P[c:18%](255,0,0), P[c:53%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 35] <= P[c:0%](0,255,0), P[c:3%](255,255,0), P[c:18%](255,0,0), P[c:53%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 36] <= P[c:0%](0,255,0), P[c:3%](255,255,0), P[c:18%](255,0,0), P[c:53%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 37] <= P[c:0%](0,255,0), P[c:10%](255,255,0), P[c:20%](255,0,0), P[c:60%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 38] <= P[c:0%](0,255,0), P[c:20%](255,255,0), P[c:40%](255,0,0), P[c:70%](127,0,255), P[c:100%](0,0,255); | |
| A[z2_rainbow_fill_interp, 39] <= P[c:0%](0,255,0), P[c:25%](255,255,0), P[c:50%](255,0,0), P[c:75%](127,0,255), P[c:100%](0,0,255); | |
| #A[z2_rainbow_fill_interp, 40] <= P[c:0%](100,100,100), P[c:100%](100,100,100); | |
| # Rainbow Top Row | |
| A[z3_rainbow_static_fill_interp_top_row] <= interp:on; | |
| A[z3_rainbow_static_fill_interp_top_row, 1] <= P[c:0%,r:1](0,255,0), P[c:25%,r:1](255,255,0), P[c:50%,r:1](255,0,0), P[c:75%,r:1](127,0,255), P[c:100%,r:1](0,0,255); | |
| # Fade-out example | |
| # TODO - Use frame interpolation when ready | |
| A[z4_fade_out] <= interp:on; | |
| A[z4_fade_out, 16] <= P[c:0%](0,0,0), P[c:100%](0,0,0); | |
| A[z4_fade_out, 15] <= P[c:0%](5,5,5), P[c:100%](5,5,5); | |
| A[z4_fade_out, 14] <= P[c:0%](10,10,10), P[c:100%](10,10,10); | |
| A[z4_fade_out, 13] <= P[c:0%](20,20,20), P[c:100%](20,20,20); | |
| A[z4_fade_out, 12] <= P[c:0%](40,40,40), P[c:100%](40,40,40); | |
| A[z4_fade_out, 11] <= P[c:0%](60,60,60), P[c:100%](60,60,60); | |
| A[z4_fade_out, 10] <= P[c:0%](80,80,80), P[c:100%](80,80,80); | |
| A[z4_fade_out, 9] <= P[c:0%](100,100,100), P[c:100%](100,100,100); | |
| A[z4_fade_out, 8] <= P[c:0%](130,130,130), P[c:100%](130,130,130); | |
| A[z4_fade_out, 7] <= P[c:0%](160,160,160), P[c:100%](160,160,160); | |
| A[z4_fade_out, 6] <= P[c:0%](190,190,190), P[c:100%](190,190,190); | |
| A[z4_fade_out, 5] <= P[c:0%](220,220,220), P[c:100%](220,220,220); | |
| A[z4_fade_out, 4] <= P[c:0%](255,255,255), P[c:100%](255,255,255); | |
| A[z4_fade_out, 3] <= P[c:0%](200,200,200), P[c:100%](200,200,200); | |
| A[z4_fade_out, 2] <= P[c:0%](150,150,150), P[c:100%](150,150,150); | |
| A[z4_fade_out, 1] <= P[c:0%](100,100,100), P[c:100%](100,100,100); | |
| #U"Esc" :+ animation(8, 2, 0, 1, 1, 1); # Index, loops, pfunc, divmask, divshift, replace | |
| #U"LCtrl" :+ animation(8, 2, 0, 1, 1, 1); | |
| U"Right" :+ animation(8, 2, 0, 1, 1, 1); | |
| U"ScrollLock" :+ animation(8, 2, 0, 1, 1, 1); | |
| U"Insert" :+ animation(4, 1, 1, 0, 0, 1); | |
| #U"F4" :+ animation(8, 2, 0, 1, 1, 0); | |
| #U"F6" :+ animation(8, 2, 0, 1, 1, 0); | |
| #U["A"-"Z"] :+ animation(5, 1, 1, 0, 0, 1); | |
| #U"Menu" + U"F1" : animation(8, 2, 0, 1, 1, 0); | |
| #U["1"-"9","0"] + U"F1" : animation(8, 2, 0, 1, 1, 0); | |
| #U"3" + U"F1" : animation(8, 2, 0, 1, 1, 0); | |
| #U["5"-"0"] + U"F1" : animation(8, 2, 0, 1, 1, 0); | |
| #U["5"-"6","8"] + U"F1" : animation(8, 2, 0, 1, 1, 0); | |
| # Relative animation test | |
| A[z5_relative_add] <= start; | |
| A[z5_relative_add, 1] <= P[r:i](+:10,+:10,+:10), P[c:i](+:10,+:10,+:10); | |
| A[z5_relative_add, 2] <= P[r:i](+:10,+:10,+:10), P[c:i](+:10,+:10,+:10); | |
| A[z5_relative_add, 3] <= P[r:i](+:10,+:10,+:10), P[c:i](+:10,+:10,+:10); | |
| A[z5_relative_add, 4] <= P[r:i](+:10,+:10,+:10), P[c:i](+:10,+:10,+:10); | |
| A[z5_relative_add, 5] <= P[r:i](+:10,+:10,+:10), P[c:i](+:10,+:10,+:10); | |
| A[z5_relative_add, 6] <= P[r:i](+:10,+:10,+:10), P[c:i](+:10,+:10,+:10); | |
| A[z5_relative_add, 7] <= P[r:i](+:10,+:10,+:10), P[c:i](+:10,+:10,+:10); | |
| A[z5_relative_add, 8] <= P[r:i](+:10,+:10,+:10), P[c:i](+:10,+:10,+:10); | |
| A[z5_relative_add, 9] <= P[r:i](+:10,+:10,+:10), P[c:i](+:10,+:10,+:10); | |
| A[z5_relative_add, 10] <= P[r:i](+:10,+:10,+:10), P[c:i](+:10,+:10,+:10); | |
| A[z5_relative_add, 11] <= P[r:i](-:10,-:10,-:10), P[c:i](-:10,-:10,-:10); | |
| A[z5_relative_add, 12] <= P[r:i](-:10,-:10,-:10), P[c:i](-:10,-:10,-:10); | |
| A[z5_relative_add, 13] <= P[r:i](-:10,-:10,-:10), P[c:i](-:10,-:10,-:10); | |
| A[z5_relative_add, 14] <= P[r:i](-:10,-:10,-:10), P[c:i](-:10,-:10,-:10); | |
| A[z5_relative_add, 15] <= P[r:i](-:10,-:10,-:10), P[c:i](-:10,-:10,-:10); | |
| A[z5_relative_add, 16] <= P[r:i](-:10,-:10,-:10), P[c:i](-:10,-:10,-:10); | |
| A[z5_relative_add, 17] <= P[r:i](-:10,-:10,-:10), P[c:i](-:10,-:10,-:10); | |
| A[z5_relative_add, 18] <= P[r:i](-:10,-:10,-:10), P[c:i](-:10,-:10,-:10); | |
| A[z5_relative_add, 19] <= P[r:i](-:10,-:10,-:10), P[c:i](-:10,-:10,-:10); | |
| A[z5_relative_add, 20] <= P[r:i](-:10,-:10,-:10), P[c:i](-:10,-:10,-:10); | |
| #A[z5_relative_add, 21] <= P[r:i,c:i](50,50,50); | |
| #A[z5_relative_add, 2] <= P[c:i](+100,+100,+100); | |
| #A[z5_relative_add, 3] <= P[r:i,c:i](+100,+100,+100); | |
| # TODO Move to U"CapsLock" when working | |
| A[z6_caps_lock] <= start; | |
| A[z6_caps_lock, 1] <= S[0x36](+:50,+:50,+:50); | |
| A[z6_caps_lock, 2] <= S[0x36](+:50,+:50,+:50); | |
| A[z6_caps_lock, 3] <= S[0x36](+:50,+:50,+:50); | |
| A[z6_caps_lock, 4] <= S[0x36](+:50,+:50,+:50); | |
| A[z6_caps_lock, 5] <= S[0x36](-:20,-:20,-:20); | |
| A[z6_caps_lock, 6] <= S[0x36](-:20,-:20,-:20); | |
| A[z6_caps_lock, 7] <= S[0x36](-:20,-:20,-:20); | |
| A[z6_caps_lock, 5] <= S[0x36](-:20,-:20,-:20); | |
| A[z6_caps_lock, 6] <= S[0x36](-:20,-:20,-:20); | |
| A[z6_caps_lock, 8] <= S[0x36](-:20,-:20,-:20); | |
| A[z6_caps_lock, 9] <= S[0x36](-:20,-:20,-:20); | |
| A[z6_caps_lock, 10] <= S[0x36](-:20,-:20,-:20); | |
| A[z6_caps_lock, 11] <= S[0x36](-:20,-:20,-:20); | |
| A[z6_caps_lock, 12] <= S[0x36](-:20,-:20,-:20); | |
| #U"CapsLock" :+ animation(9, 1, 0, 0, 0, 1); | |
| A[z7_fade] <= start; | |
| A[z7_fade, 1] <= P[c:0%](+:1,+:1,+:1), P[c:100%](+:1,+:1,+:1); | |
| #U"6" :+ animation(10, 1, 1, 1, 1, 0); | |
| A[z8_spot_up] <= start; | |
| A[z8_spot_up, 1] <= | |
| P[r:i, c:i ](+:2,+:2,+:2), | |
| P[r:i+1,c:i ](-:1,-:1,-:1), | |
| P[r:i-1,c:i ](-:1,-:1,-:1), | |
| P[r:i, c:i+1](-:1,-:1,-:1), | |
| P[r:i, c:i-1](-:1,-:1,-:1), | |
| P[r:i+1,c:i+1](-:1,-:1,-:1), | |
| P[r:i-1,c:i+1](-:1,-:1,-:1), | |
| P[r:i+1,c:i-1](-:1,-:1,-:1), | |
| P[r:i-1,c:i-1](-:1,-:1,-:1), | |
| P[r:i+2,c:i ](-:1,-:1,-:1), | |
| P[r:i-2,c:i ](-:1,-:1,-:1), | |
| P[r:i, c:i+2](-:1,-:1,-:1), | |
| P[r:i, c:i-2](-:1,-:1,-:1); | |
| #U[] :+ animation(11, 30, 0, 0, 0, 0); | |
| U[0x03-0x52,0xE0-0xE7] :+ animation(11, 16, 0, 0, 0, 0); | |
| # TODO Move to U"ScrollLock" when working | |
| A[z9_scroll_lock] <= start; | |
| A[z9_scroll_lock, 1] <= S[0xF](+:50,+:50,+:50); | |
| A[z9_scroll_lock, 2] <= S[0xF](+:50,+:50,+:50); | |
| A[z9_scroll_lock, 3] <= S[0xF](+:50,+:50,+:50); | |
| A[z9_scroll_lock, 4] <= S[0xF](+:50,+:50,+:50); | |
| A[z9_scroll_lock, 5] <= S[0xF](-:20,-:20,-:20); | |
| A[z9_scroll_lock, 6] <= S[0xF](-:20,-:20,-:20); | |
| A[z9_scroll_lock, 7] <= S[0xF](-:20,-:20,-:20); | |
| A[z9_scroll_lock, 5] <= S[0xF](-:20,-:20,-:20); | |
| A[z9_scroll_lock, 6] <= S[0xF](-:20,-:20,-:20); | |
| A[z9_scroll_lock, 8] <= S[0xF](-:20,-:20,-:20); | |
| A[z9_scroll_lock, 9] <= S[0xF](-:20,-:20,-:20); | |
| A[z9_scroll_lock, 10] <= S[0xF](-:20,-:20,-:20); | |
| A[z9_scroll_lock, 11] <= S[0xF](-:20,-:20,-:20); | |
| A[z9_scroll_lock, 12] <= S[0xF](-:20,-:20,-:20); | |
| # Lock Keys | |
| A[zz1_lock_event] <= start; | |
| A[zz1_lock_event, 1] <= P[r:i,c:i](+:100,+:100,+:100); | |
| A[zz1_lock_event, 2] <= P[r:i,c:i](+:100,+:100,+:100); | |
| A[zz1_lock_event, 3] <= P[r:i,c:i](+:100,+:100,+:100); | |
| A[zz1_lock_event, 4] <= P[r:i,c:i](+:0,+:0,+:0); | |
| A[zz1_lock_event, 5] <= P[r:i,c:i](+:0,+:0,+:0); | |
| A[zz1_lock_event, 6] <= P[r:i,c:i](+:0,+:0,+:0); | |
| A[zz1_lock_event, 7] <= P[r:i,c:i](+:0,+:0,+:0); | |
| A[zz1_lock_event, 8] <= P[r:i,c:i](+:0,+:0,+:0); | |
| A[zz1_lock_event, 9] <= P[r:i,c:i](+:0,+:0,+:0); | |
| A[zz1_lock_event, 10] <= P[r:i,c:i](+:0,+:0,+:0); | |
| A[zz1_lock_event, 11] <= P[r:i,c:i](+:0,+:0,+:0); | |
| A[zz1_lock_event, 12] <= P[r:i,c:i](+:0,+:0,+:0); | |
| A[zz1_lock_event, 13] <= P[r:i,c:i](-:10,-:10,-:10); | |
| A[zz1_lock_event, 14] <= P[r:i,c:i](-:10,-:10,-:10); | |
| A[zz1_lock_event, 15] <= P[r:i,c:i](-:10,-:10,-:10); | |
| A[zz1_lock_event, 16] <= P[r:i,c:i](-:10,-:10,-:10); | |
| A[zz1_lock_event, 17] <= P[r:i,c:i](-:10,-:10,-:10); | |
| A[zz1_lock_event, 18] <= P[r:i,c:i](-:10,-:10,-:10); | |
| A[zz1_lock_event, 19] <= P[r:i,c:i](-:10,-:10,-:10); | |
| A[zz1_lock_event, 20] <= P[r:i,c:i](-:10,-:10,-:10); | |
| A[zz1_lock_event, 21] <= P[r:i,c:i](-:10,-:10,-:10); | |
| A[zz1_lock_event, 22] <= P[r:i,c:i](-:10,-:10,-:10); | |
| A[zz1_lock_event, 23] <= P[r:i,c:i](-:10,-:10,-:10); | |
| A[zz1_lock_event, 24] <= P[r:i,c:i](-:10,-:10,-:10); | |
| A[zz1_lock_event, 25] <= P[r:i,c:i](-:10,-:10,-:10); | |
| A[zz1_lock_event, 26] <= P[r:i,c:i](-:10,-:10,-:10); | |
| A[zz1_lock_event, 27] <= P[r:i,c:i](-:10,-:10,-:10); | |
| A[zz1_lock_event, 28] <= P[r:i,c:i](-:10,-:10,-:10); | |
| A[zz1_lock_event, 29] <= P[r:i,c:i](-:10,-:10,-:10); | |
| U"RCtrl" :+ layerLock(1); | |
| #U"RCtrl" :+ animation(4, 1, 0, 0, 0, 1); | |
| U"Menu" :+ layerLock(2); | |
| #U"Menu" :+ animation(4, 1, 0, 0, 0, 1); | |
| # Underlighting streak | |
| A[zz2_under_streak] <= start; | |
| A[zz2_under_streak, 1] <= | |
| P[102](+:91,+:50,+:86), | |
| P[103](+:255,+:255,+:255), | |
| P[104](-:55,-:100,-:100), | |
| P[105](-:100,-:100,-:100), | |
| P[106](-:100,-:100,-:100); | |
| A[zz2_under_streak, 2] <= | |
| P[101](+:91,+:50,+:86), | |
| P[102](+:255,+:255,+:255), | |
| P[103](-:55,-:100,-:100), | |
| P[104](-:100,-:100,-:100), | |
| P[105](-:100,-:100,-:100); | |
| A[zz2_under_streak, 3] <= | |
| P[100](+:91,+:50,+:86), | |
| P[101](+:255,+:255,+:255), | |
| P[102](-:55,-:100,-:100), | |
| P[103](-:100,-:100,-:100), | |
| P[104](-:100,-:100,-:100); | |
| A[zz2_under_streak, 4] <= | |
| P[99](+:91,+:50,+:86), | |
| P[100](+:255,+:255,+:255), | |
| P[101](-:55,-:100,-:100), | |
| P[102](-:100,-:100,-:100), | |
| P[103](-:100,-:100,-:100); | |
| A[zz2_under_streak, 5] <= | |
| P[98](+:91,+:50,+:86), | |
| P[99](+:255,+:255,+:255), | |
| P[100](-:55,-:100,-:100), | |
| P[101](-:100,-:100,-:100), | |
| P[102](-:100,-:100,-:100); | |
| A[zz2_under_streak, 6] <= | |
| P[97](+:91,+:50,+:86), | |
| P[98](+:255,+:255,+:255), | |
| P[99](-:55,-:100,-:100), | |
| P[100](-:100,-:100,-:100), | |
| P[101](-:100,-:100,-:100); | |
| A[zz2_under_streak, 7] <= | |
| P[128](+:91,+:50,+:86), | |
| P[97](+:255,+:255,+:255), | |
| P[98](-:55,-:100,-:100), | |
| P[99](-:100,-:100,-:100), | |
| P[100](-:100,-:100,-:100); | |
| A[zz2_under_streak, 8] <= | |
| P[127](+:91,+:50,+:86), | |
| P[128](+:255,+:255,+:255), | |
| P[97](-:55,-:100,-:100), | |
| P[98](-:100,-:100,-:100), | |
| P[99](-:100,-:100,-:100); | |
| A[zz2_under_streak, 9] <= | |
| P[126](+:91,+:50,+:86), | |
| P[127](+:255,+:255,+:255), | |
| P[128](-:55,-:100,-:100), | |
| P[97](-:100,-:100,-:100), | |
| P[98](-:100,-:100,-:100); | |
| A[zz2_under_streak, 10] <= | |
| P[125](+:91,+:50,+:86), | |
| P[126](+:255,+:255,+:255), | |
| P[127](-:55,-:100,-:100), | |
| P[128](-:100,-:100,-:100), | |
| P[97](-:100,-:100,-:100); | |
| A[zz2_under_streak, 11] <= | |
| P[124](+:91,+:50,+:86), | |
| P[125](+:255,+:255,+:255), | |
| P[126](-:55,-:100,-:100), | |
| P[127](-:100,-:100,-:100), | |
| P[128](-:100,-:100,-:100); | |
| A[zz2_under_streak, 12] <= | |
| P[123](+:91,+:50,+:86), | |
| P[124](+:255,+:255,+:255), | |
| P[125](-:55,-:100,-:100), | |
| P[126](-:100,-:100,-:100), | |
| P[127](-:100,-:100,-:100); | |
| A[zz2_under_streak, 13] <= | |
| P[122](+:91,+:50,+:86), | |
| P[123](+:255,+:255,+:255), | |
| P[124](-:55,-:100,-:100), | |
| P[125](-:100,-:100,-:100), | |
| P[126](-:100,-:100,-:100); | |
| A[zz2_under_streak, 14] <= | |
| P[121](+:91,+:50,+:86), | |
| P[122](+:255,+:255,+:255), | |
| P[123](-:55,-:100,-:100), | |
| P[124](-:100,-:100,-:100), | |
| P[125](-:100,-:100,-:100); | |
| A[zz2_under_streak, 15] <= | |
| P[120](+:91,+:50,+:86), | |
| P[121](+:255,+:255,+:255), | |
| P[122](-:55,-:100,-:100), | |
| P[123](-:100,-:100,-:100), | |
| P[124](-:100,-:100,-:100); | |
| A[zz2_under_streak, 16] <= | |
| P[119](+:91,+:50,+:86), | |
| P[120](+:255,+:255,+:255), | |
| P[121](-:55,-:100,-:100), | |
| P[122](-:100,-:100,-:100), | |
| P[123](-:100,-:100,-:100); | |
| A[zz2_under_streak, 17] <= | |
| P[118](+:91,+:50,+:86), | |
| P[119](+:255,+:255,+:255), | |
| P[120](-:55,-:100,-:100), | |
| P[121](-:100,-:100,-:100), | |
| P[122](-:100,-:100,-:100); | |
| A[zz2_under_streak, 18] <= | |
| P[117](+:91,+:50,+:86), | |
| P[118](+:255,+:255,+:255), | |
| P[119](-:55,-:100,-:100), | |
| P[120](-:100,-:100,-:100), | |
| P[121](-:100,-:100,-:100); | |
| A[zz2_under_streak, 19] <= | |
| P[116](+:91,+:50,+:86), | |
| P[117](+:255,+:255,+:255), | |
| P[118](-:55,-:100,-:100), | |
| P[119](-:100,-:100,-:100), | |
| P[120](-:100,-:100,-:100); | |
| A[zz2_under_streak, 20] <= | |
| P[115](+:91,+:50,+:86), | |
| P[116](+:255,+:255,+:255), | |
| P[117](-:55,-:100,-:100), | |
| P[118](-:100,-:100,-:100), | |
| P[119](-:100,-:100,-:100); | |
| A[zz2_under_streak, 21] <= | |
| P[114](+:91,+:50,+:86), | |
| P[115](+:255,+:255,+:255), | |
| P[116](-:55,-:100,-:100), | |
| P[117](-:100,-:100,-:100), | |
| P[118](-:100,-:100,-:100); | |
| A[zz2_under_streak, 22] <= | |
| P[113](+:91,+:50,+:86), | |
| P[114](+:255,+:255,+:255), | |
| P[115](-:55,-:100,-:100), | |
| P[116](-:100,-:100,-:100), | |
| P[117](-:100,-:100,-:100); | |
| A[zz2_under_streak, 23] <= | |
| P[112](+:91,+:50,+:86), | |
| P[113](+:255,+:255,+:255), | |
| P[114](-:55,-:100,-:100), | |
| P[115](-:100,-:100,-:100), | |
| P[116](-:100,-:100,-:100); | |
| A[zz2_under_streak, 24] <= | |
| P[111](+:91,+:50,+:86), | |
| P[112](+:255,+:255,+:255), | |
| P[113](-:55,-:100,-:100), | |
| P[114](-:100,-:100,-:100), | |
| P[115](-:100,-:100,-:100); | |
| A[zz2_under_streak, 25] <= | |
| P[110](+:91,+:50,+:86), | |
| P[111](+:255,+:255,+:255), | |
| P[112](-:55,-:100,-:100), | |
| P[113](-:100,-:100,-:100), | |
| P[114](-:100,-:100,-:100); | |
| A[zz2_under_streak, 26] <= | |
| P[109](+:91,+:50,+:86), | |
| P[110](+:255,+:255,+:255), | |
| P[111](-:55,-:100,-:100), | |
| P[112](-:100,-:100,-:100), | |
| P[113](-:100,-:100,-:100); | |
| A[zz2_under_streak, 27] <= | |
| P[108](+:91,+:50,+:86), | |
| P[109](+:255,+:255,+:255), | |
| P[110](-:55,-:100,-:100), | |
| P[111](-:100,-:100,-:100), | |
| P[112](-:100,-:100,-:100); | |
| A[zz2_under_streak, 28] <= | |
| P[107](+:91,+:50,+:86), | |
| P[108](+:255,+:255,+:255), | |
| P[109](-:55,-:100,-:100), | |
| P[110](-:100,-:100,-:100), | |
| P[111](-:100,-:100,-:100); | |
| A[zz2_under_streak, 29] <= | |
| P[106](+:91,+:50,+:86), | |
| P[107](+:255,+:255,+:255), | |
| P[108](-:55,-:100,-:100), | |
| P[109](-:100,-:100,-:100), | |
| P[110](-:100,-:100,-:100); | |
| A[zz2_under_streak, 30] <= | |
| P[105](+:91,+:50,+:86), | |
| P[106](+:255,+:255,+:255), | |
| P[107](-:55,-:100,-:100), | |
| P[108](-:100,-:100,-:100), | |
| P[109](-:100,-:100,-:100); | |
| A[zz2_under_streak, 31] <= | |
| P[104](+:91,+:50,+:86), | |
| P[105](+:255,+:255,+:255), | |
| P[106](-:55,-:100,-:100), | |
| P[107](-:100,-:100,-:100), | |
| P[108](-:100,-:100,-:100); | |
| A[zz2_under_streak, 32] <= | |
| P[103](+:91,+:50,+:86), | |
| P[104](+:255,+:255,+:255), | |
| P[105](-:55,-:100,-:100), | |
| P[106](-:100,-:100,-:100), | |
| P[107](-:100,-:100,-:100); | |
| # Fade-out | |
| A[zz2_under_streak, 33] <= | |
| P[103](+:255,+:255,+:255), | |
| P[104](-:55,-:100,-:100), | |
| P[105](-:100,-:100,-:100), | |
| P[106](-:200,-:200,-:200); | |
| A[zz2_under_streak, 33] <= | |
| P[103](-:55,-:100,-:100), | |
| P[104](-:100,-:100,-:100), | |
| P[105](-:200,-:200,-:200); | |
| A[zz2_under_streak, 34] <= | |
| P[103](-:100,-:100,-:100), | |
| P[104](-:200,-:200,-:200); | |
| A[zz2_under_streak, 35] <= | |
| P[103](-:200,-:200,-:200); | |
| A[zz2_under_streak, 36] <= | |
| P[106](0,0,0); | |
| # Rainbow wave | |
| A[zz3_rainbow_wave] <= interp:on; | |
| A[zz3_rainbow_wave, 1] <= P[c:0%] (0,255,0), P[c:25%](255,255,0), P[c:50%](255,255,255), P[c:75%](127,0,255), P[c:100%](0,0,255); | |
| A[zz3_rainbow_wave, 2] <= P[c:-24%](0,0,255), P[c:2%] (0,255,0), P[c:27%](255,255,0), P[c:52%](255,255,255), P[c:77%](127,0,255), P[c:102%](0,0,255); | |
| A[zz3_rainbow_wave, 3] <= P[c:-22%](0,0,255), P[c:4%] (0,255,0), P[c:29%](255,255,0), P[c:54%](255,255,255), P[c:79%](127,0,255), P[c:104%](0,0,255); | |
| A[zz3_rainbow_wave, 4] <= P[c:-20%](0,0,255), P[c:6%] (0,255,0), P[c:31%](255,255,0), P[c:56%](255,255,255), P[c:81%](127,0,255), P[c:106%](0,0,255); | |
| A[zz3_rainbow_wave, 5] <= P[c:-18%](0,0,255), P[c:8%] (0,255,0), P[c:33%](255,255,0), P[c:58%](255,255,255), P[c:83%](127,0,255), P[c:108%](0,0,255); | |
| A[zz3_rainbow_wave, 6] <= P[c:-16%](0,0,255), P[c:10%](0,255,0), P[c:35%](255,255,0), P[c:60%](255,255,255), P[c:85%](127,0,255), P[c:110%](0,0,255); | |
| A[zz3_rainbow_wave, 7] <= P[c:-14%](0,0,255), P[c:12%](0,255,0), P[c:37%](255,255,0), P[c:62%](255,255,255), P[c:87%](127,0,255), P[c:112%](0,0,255); | |
| A[zz3_rainbow_wave, 8] <= P[c:-12%](0,0,255), P[c:14%](0,255,0), P[c:39%](255,255,0), P[c:64%](255,255,255), P[c:89%](127,0,255), P[c:114%](0,0,255); | |
| A[zz3_rainbow_wave, 9] <= P[c:-10%](0,0,255), P[c:16%](0,255,0), P[c:41%](255,255,0), P[c:66%](255,255,255), P[c:91%](127,0,255), P[c:116%](0,0,255); | |
| A[zz3_rainbow_wave, 10] <= P[c:-8%] (0,0,255), P[c:18%](0,255,0), P[c:43%](255,255,0), P[c:68%](255,255,255), P[c:93%](127,0,255), P[c:118%](0,0,255); | |
| A[zz3_rainbow_wave, 11] <= P[c:-6%] (0,0,255), P[c:20%](0,255,0), P[c:45%](255,255,0), P[c:70%](255,255,255), P[c:95%](127,0,255), P[c:120%](0,0,255); | |
| A[zz3_rainbow_wave, 12] <= P[c:-4%] (0,0,255), P[c:22%](0,255,0), P[c:47%](255,255,0), P[c:72%](255,255,255), P[c:97%](127,0,255), P[c:122%](0,0,255); | |
| A[zz3_rainbow_wave, 13] <= P[c:-2%] (0,0,255), P[c:24%](0,255,0), P[c:49%](255,255,0), P[c:74%](255,255,255), P[c:99%](127,0,255), P[c:124%](0,0,255); | |
| A[zz3_rainbow_wave, 14] <= P[c:0%] (0,0,255), P[c:25%](0,255,0), P[c:50%](255,255,0), P[c:75%](255,255,255), P[c:100%](127,0,255); | |
| A[zz3_rainbow_wave, 15] <= P[c:-24%](127,0,255), P[c:2%] (0,0,255), P[c:27%](0,255,0), P[c:52%](255,255,0), P[c:77%](255,255,255), P[c:102%](127,0,255); | |
| A[zz3_rainbow_wave, 16] <= P[c:-22%](127,0,255), P[c:4%] (0,0,255), P[c:29%](0,255,0), P[c:54%](255,255,0), P[c:79%](255,255,255), P[c:104%](127,0,255); | |
| A[zz3_rainbow_wave, 17] <= P[c:-20%](127,0,255), P[c:6%] (0,0,255), P[c:31%](0,255,0), P[c:56%](255,255,0), P[c:81%](255,255,255), P[c:106%](127,0,255); | |
| A[zz3_rainbow_wave, 18] <= P[c:-18%](127,0,255), P[c:8%] (0,0,255), P[c:33%](0,255,0), P[c:58%](255,255,0), P[c:83%](255,255,255), P[c:108%](127,0,255); | |
| A[zz3_rainbow_wave, 19] <= P[c:-16%](127,0,255), P[c:10%](0,0,255), P[c:35%](0,255,0), P[c:60%](255,255,0), P[c:85%](255,255,255), P[c:110%](127,0,255); | |
| A[zz3_rainbow_wave, 20] <= P[c:-14%](127,0,255), P[c:12%](0,0,255), P[c:37%](0,255,0), P[c:62%](255,255,0), P[c:87%](255,255,255), P[c:112%](127,0,255); | |
| A[zz3_rainbow_wave, 21] <= P[c:-12%](127,0,255), P[c:14%](0,0,255), P[c:39%](0,255,0), P[c:64%](255,255,0), P[c:89%](255,255,255), P[c:114%](127,0,255); | |
| A[zz3_rainbow_wave, 22] <= P[c:-10%](127,0,255), P[c:16%](0,0,255), P[c:41%](0,255,0), P[c:66%](255,255,0), P[c:91%](255,255,255), P[c:116%](127,0,255); | |
| A[zz3_rainbow_wave, 23] <= P[c:-8%] (127,0,255), P[c:18%](0,0,255), P[c:43%](0,255,0), P[c:68%](255,255,0), P[c:93%](255,255,255), P[c:118%](127,0,255); | |
| A[zz3_rainbow_wave, 24] <= P[c:-6%] (127,0,255), P[c:20%](0,0,255), P[c:45%](0,255,0), P[c:70%](255,255,0), P[c:95%](255,255,255), P[c:120%](127,0,255); | |
| A[zz3_rainbow_wave, 25] <= P[c:-4%] (127,0,255), P[c:22%](0,0,255), P[c:47%](0,255,0), P[c:72%](255,255,0), P[c:97%](255,255,255), P[c:122%](127,0,255); | |
| A[zz3_rainbow_wave, 26] <= P[c:-2%] (127,0,255), P[c:24%](0,0,255), P[c:49%](0,255,0), P[c:74%](255,255,0), P[c:99%](255,255,255), P[c:124%](127,0,255); | |
| A[zz3_rainbow_wave, 28] <= P[c:0%] (127,0,255), P[c:25%](0,0,255), P[c:50%](0,255,0), P[c:75%](255,255,0), P[c:100%](255,255,255); | |
| A[zz3_rainbow_wave, 29] <= P[c:-24%](255,255,255), P[c:2%] (127,0,255), P[c:27%](0,0,255), P[c:52%](0,255,0), P[c:77%](255,255,0), P[c:102%](255,255,255); | |
| A[zz3_rainbow_wave, 30] <= P[c:-22%](255,255,255), P[c:4%] (127,0,255), P[c:29%](0,0,255), P[c:54%](0,255,0), P[c:79%](255,255,0), P[c:104%](255,255,255); | |
| A[zz3_rainbow_wave, 31] <= P[c:-20%](255,255,255), P[c:6%] (127,0,255), P[c:31%](0,0,255), P[c:56%](0,255,0), P[c:81%](255,255,0), P[c:106%](255,255,255); | |
| A[zz3_rainbow_wave, 32] <= P[c:-18%](255,255,255), P[c:8%] (127,0,255), P[c:33%](0,0,255), P[c:58%](0,255,0), P[c:83%](255,255,0), P[c:108%](255,255,255); | |
| A[zz3_rainbow_wave, 33] <= P[c:-16%](255,255,255), P[c:10%](127,0,255), P[c:35%](0,0,255), P[c:60%](0,255,0), P[c:85%](255,255,0), P[c:110%](255,255,255); | |
| A[zz3_rainbow_wave, 34] <= P[c:-14%](255,255,255), P[c:12%](127,0,255), P[c:37%](0,0,255), P[c:62%](0,255,0), P[c:87%](255,255,0), P[c:112%](255,255,255); | |
| A[zz3_rainbow_wave, 35] <= P[c:-12%](255,255,255), P[c:14%](127,0,255), P[c:39%](0,0,255), P[c:64%](0,255,0), P[c:89%](255,255,0), P[c:114%](255,255,255); | |
| A[zz3_rainbow_wave, 36] <= P[c:-10%](255,255,255), P[c:16%](127,0,255), P[c:41%](0,0,255), P[c:66%](0,255,0), P[c:91%](255,255,0), P[c:116%](255,255,255); | |
| A[zz3_rainbow_wave, 37] <= P[c:-8%] (255,255,255), P[c:18%](127,0,255), P[c:43%](0,0,255), P[c:68%](0,255,0), P[c:93%](255,255,0), P[c:118%](255,255,255); | |
| A[zz3_rainbow_wave, 38] <= P[c:-6%] (255,255,255), P[c:20%](127,0,255), P[c:45%](0,0,255), P[c:70%](0,255,0), P[c:95%](255,255,0), P[c:120%](255,255,255); | |
| A[zz3_rainbow_wave, 39] <= P[c:-4%] (255,255,255), P[c:22%](127,0,255), P[c:47%](0,0,255), P[c:72%](0,255,0), P[c:97%](255,255,0), P[c:122%](255,255,255); | |
| A[zz3_rainbow_wave, 40] <= P[c:-2%] (255,255,255), P[c:24%](127,0,255), P[c:49%](0,0,255), P[c:74%](0,255,0), P[c:99%](255,255,0), P[c:124%](255,255,255); | |
| A[zz3_rainbow_wave, 41] <= P[c:0%] (255,255,255), P[c:25%](127,0,255), P[c:50%](0,0,255), P[c:75%](0,255,0), P[c:100%](255,255,0); | |
| A[zz3_rainbow_wave, 42] <= P[c:-24%](255,255,0), P[c:2%] (255,255,255), P[c:27%](127,0,255), P[c:52%](0,0,255), P[c:77%](0,255,0), P[c:102%](255,255,0); | |
| A[zz3_rainbow_wave, 43] <= P[c:-22%](255,255,0), P[c:4%] (255,255,255), P[c:29%](127,0,255), P[c:54%](0,0,255), P[c:79%](0,255,0), P[c:104%](255,255,0); | |
| A[zz3_rainbow_wave, 44] <= P[c:-20%](255,255,0), P[c:6%] (255,255,255), P[c:31%](127,0,255), P[c:56%](0,0,255), P[c:81%](0,255,0), P[c:106%](255,255,0); | |
| A[zz3_rainbow_wave, 45] <= P[c:-18%](255,255,0), P[c:8%] (255,255,255), P[c:33%](127,0,255), P[c:58%](0,0,255), P[c:83%](0,255,0), P[c:108%](255,255,0); | |
| A[zz3_rainbow_wave, 46] <= P[c:-16%](255,255,0), P[c:10%](255,255,255), P[c:35%](127,0,255), P[c:60%](0,0,255), P[c:85%](0,255,0), P[c:110%](255,255,0); | |
| A[zz3_rainbow_wave, 47] <= P[c:-14%](255,255,0), P[c:12%](255,255,255), P[c:37%](127,0,255), P[c:62%](0,0,255), P[c:87%](0,255,0), P[c:112%](255,255,0); | |
| A[zz3_rainbow_wave, 48] <= P[c:-12%](255,255,0), P[c:14%](255,255,255), P[c:39%](127,0,255), P[c:64%](0,0,255), P[c:89%](0,255,0), P[c:114%](255,255,0); | |
| A[zz3_rainbow_wave, 49] <= P[c:-10%](255,255,0), P[c:16%](255,255,255), P[c:41%](127,0,255), P[c:66%](0,0,255), P[c:91%](0,255,0), P[c:116%](255,255,0); | |
| A[zz3_rainbow_wave, 50] <= P[c:-8%] (255,255,0), P[c:18%](255,255,255), P[c:43%](127,0,255), P[c:68%](0,0,255), P[c:93%](0,255,0), P[c:118%](255,255,0); | |
| A[zz3_rainbow_wave, 51] <= P[c:-6%] (255,255,0), P[c:20%](255,255,255), P[c:45%](127,0,255), P[c:70%](0,0,255), P[c:95%](0,255,0), P[c:120%](255,255,0); | |
| A[zz3_rainbow_wave, 52] <= P[c:-4%] (255,255,0), P[c:22%](255,255,255), P[c:47%](127,0,255), P[c:72%](0,0,255), P[c:97%](0,255,0), P[c:122%](255,255,0); | |
| A[zz3_rainbow_wave, 53] <= P[c:-2%] (255,255,0), P[c:24%](255,255,255), P[c:49%](127,0,255), P[c:74%](0,0,255), P[c:99%](0,255,0), P[c:124%](255,255,0); | |
| A[zz3_rainbow_wave, 54] <= P[c:0%] (255,255,0), P[c:25%](255,255,255), P[c:50%](127,0,255), P[c:75%](0,0,255), P[c:100%](0,255,0); | |
| A[zz3_rainbow_wave, 55] <= P[c:-24%](0,255,0), P[c:2%] (255,255,0), P[c:27%](255,255,255), P[c:52%](127,0,255), P[c:77%](0,0,255), P[c:102%](0,255,0); | |
| A[zz3_rainbow_wave, 56] <= P[c:-22%](0,255,0), P[c:4%] (255,255,0), P[c:29%](255,255,255), P[c:54%](127,0,255), P[c:79%](0,0,255), P[c:104%](0,255,0); | |
| A[zz3_rainbow_wave, 57] <= P[c:-20%](0,255,0), P[c:6%] (255,255,0), P[c:31%](255,255,255), P[c:56%](127,0,255), P[c:81%](0,0,255), P[c:106%](0,255,0); | |
| A[zz3_rainbow_wave, 58] <= P[c:-18%](0,255,0), P[c:8%] (255,255,0), P[c:33%](255,255,255), P[c:58%](127,0,255), P[c:83%](0,0,255), P[c:108%](0,255,0); | |
| A[zz3_rainbow_wave, 59] <= P[c:-16%](0,255,0), P[c:10%](255,255,0), P[c:35%](255,255,255), P[c:60%](127,0,255), P[c:85%](0,0,255), P[c:110%](0,255,0); | |
| A[zz3_rainbow_wave, 60] <= P[c:-14%](0,255,0), P[c:12%](255,255,0), P[c:37%](255,255,255), P[c:62%](127,0,255), P[c:87%](0,0,255), P[c:112%](0,255,0); | |
| A[zz3_rainbow_wave, 61] <= P[c:-12%](0,255,0), P[c:14%](255,255,0), P[c:39%](255,255,255), P[c:64%](127,0,255), P[c:89%](0,0,255), P[c:114%](0,255,0); | |
| A[zz3_rainbow_wave, 62] <= P[c:-10%](0,255,0), P[c:16%](255,255,0), P[c:41%](255,255,255), P[c:66%](127,0,255), P[c:91%](0,0,255), P[c:116%](0,255,0); | |
| A[zz3_rainbow_wave, 63] <= P[c:-8%] (0,255,0), P[c:18%](255,255,0), P[c:43%](255,255,255), P[c:68%](127,0,255), P[c:93%](0,0,255), P[c:118%](0,255,0); | |
| A[zz3_rainbow_wave, 64] <= P[c:-6%] (0,255,0), P[c:20%](255,255,0), P[c:45%](255,255,255), P[c:70%](127,0,255), P[c:95%](0,0,255), P[c:120%](0,255,0); | |
| A[zz3_rainbow_wave, 65] <= P[c:-4%] (0,255,0), P[c:22%](255,255,0), P[c:47%](255,255,255), P[c:72%](127,0,255), P[c:97%](0,0,255), P[c:122%](0,255,0); | |
| A[zz3_rainbow_wave, 66] <= P[c:-2%] (0,255,0), P[c:24%](255,255,0), P[c:49%](255,255,255), P[c:74%](127,0,255), P[c:99%](0,0,255), P[c:124%](0,255,0); | |
| # Start/stop wave | |
| U["Print"] :+ animation(15, 0, 1, 1, 2, 2); | |
| U["Pause"] :+ animation(15, 1, 1, 0, 0, 2); | |
| # Full-brightness white | |
| A[zz4_all_white] <= interp:on; | |
| A[zz4_all_white, 1] <= P[c:0%](255,255,255), P[c:100%](255,255,255); | |
| #U["F1"] :+ animation(16, 1, 1, 0, 0, 0); | |
| #U["F2"] :+ animation(17 , 1, 1, 1, 0, 0); | |
| #U["F3"] :+ animation(0 , 1, 1, 1, 0, 0); | |
| #U["Space"] :+ animation_control(0); | |
| #U["Right"] :+ animation_control(1); | |
| # Massdrop blue to pink (miami) | |
| A[zz5_blue_to_pink] <= interp:on; | |
| A[zz5_blue_to_pink, 1] <= P[c:0%](0,0xAE,0xDA), P[c:100%](0xFF,0x14,0x93); # FF1493 | |
| # Color wheel | |
| A[zz6_color_wheel] <= interp:on; | |
| A[zz6_color_wheel, 1] <= P[c:0%](0,0xAE,0xDA), P[c:100%](0xFF,0xDA,0xE9); | |