@@ -77,63 +77,64 @@ void Setting::Start() {
7777 UI::Start ();
7878}
7979
80- // bool Setting::KeyEvent(uint16_t KeyID, KeyInfo* keyInfo) {
81- // Point xy = MatrixOS::KEYPAD::ID2XY(KeyID);
82-
83- // if (xy && keyInfo->state == RELEASED) // IF XY is vaild, means it's on the main grid
84- // {
85- // if ((konami == 0 || konami == 1) && (xy == origin + Point(0, -1) || xy == origin + Point(1, -1)))
86- // {
87- // konami++;
88- // MatrixOS::Logging::LogDebug("Konami", "Up prssed, %d", konami);
89- // return false;
90- // }
91- // else if ((konami == 2 || konami == 3) && (xy == origin + Point(0, 2) || xy == origin + Point(1, 2)))
92- // {
93- // konami++;
94- // MatrixOS::Logging::LogDebug("Konami", "Down prssed, %d", konami);
95- // return true;
96- // }
97- // else if ((konami == 4 || konami == 6) && (xy == origin + Point(-1, 0) || xy == origin + Point(-1, 1)))
98- // {
99- // konami++;
100- // MatrixOS::Logging::LogDebug("Konami", "Left prssed, %d", konami);
101- // return true;
102- // }
103- // else if ((konami == 5 || konami == 7) && (xy == origin + Point(2, 0) || xy == origin + Point(2, 1)))
104- // {
105- // konami++;
106- // MatrixOS::Logging::LogDebug("Konami", "Right prssed, %d", konami);
107- // if (konami == 8)
108- // {
109- // UI ab("A & B", Color(0xFF0000));
110-
111- // UIButtonLarge aBtn("A", Color(0xFF0000), Dimension(2, 2), [&]() -> void {
112- // if (konami == 9)
113- // MatrixOS::SYS::ExecuteAPP("203 Electronics", "REDACTED");
114- // else
115- // ab.Exit();
116- // });
117- // ab.AddUIComponent(aBtn, origin + Point(-2, 0));
118-
119- // UIButtonLarge bBtn("B", Color(0xFF0000), Dimension(2, 2), [&]() -> void {
120- // if (konami == 8)
121- // konami++;
122- // else
123- // ab.Exit();
124- // });
125- // ab.AddUIComponent(bBtn, origin + Point(2, 0));
126-
127- // ab.Start();
128- // }
129- // return true;
130- // }
131- // else
132- // {
133- // MatrixOS::Logging::LogDebug("Konami", "Cleared");
134- // konami = 0;
135- // return false;
136- // }
137- // }
138- // return false;
139- // }
80+ bool Setting::CustomKeyEvent (KeyEvent* keyEvent) {
81+ MatrixOS::Logging::LogDebug (" Konami" , " Custom key event" );
82+ Point xy = MatrixOS::KEYPAD::ID2XY (keyEvent->id );
83+
84+ if (xy && keyEvent->info .state == RELEASED) // IF XY is vaild, means it's on the main grid
85+ {
86+ if ((konami == 0 || konami == 1 ) && (xy == origin + Point (0 , -1 ) || xy == origin + Point (1 , -1 )))
87+ {
88+ konami++;
89+ MatrixOS::Logging::LogDebug (" Konami" , " Up prssed, %d" , konami);
90+ return false ;
91+ }
92+ else if ((konami == 2 || konami == 3 ) && (xy == origin + Point (0 , 2 ) || xy == origin + Point (1 , 2 )))
93+ {
94+ konami++;
95+ MatrixOS::Logging::LogDebug (" Konami" , " Down prssed, %d" , konami);
96+ return true ;
97+ }
98+ else if ((konami == 4 || konami == 6 ) && (xy == origin + Point (-1 , 0 ) || xy == origin + Point (-1 , 1 )))
99+ {
100+ konami++;
101+ MatrixOS::Logging::LogDebug (" Konami" , " Left prssed, %d" , konami);
102+ return true ;
103+ }
104+ else if ((konami == 5 || konami == 7 ) && (xy == origin + Point (2 , 0 ) || xy == origin + Point (2 , 1 )))
105+ {
106+ konami++;
107+ MatrixOS::Logging::LogDebug (" Konami" , " Right prssed, %d" , konami);
108+ if (konami == 8 )
109+ {
110+ UI ab (" A & B" , Color (0xFF0000 ));
111+
112+ UIButtonLarge aBtn (" A" , Color (0xFF0000 ), Dimension (2 , 2 ), [&]() -> void {
113+ if (konami == 9 )
114+ MatrixOS::SYS::ExecuteAPP (" 203 Electronics" , " REDACTED" );
115+ else
116+ ab.Exit ();
117+ });
118+ ab.AddUIComponent (aBtn, origin + Point (-2 , 0 ));
119+
120+ UIButtonLarge bBtn (" B" , Color (0xFF0000 ), Dimension (2 , 2 ), [&]() -> void {
121+ if (konami == 8 )
122+ konami++;
123+ else
124+ ab.Exit ();
125+ });
126+ ab.AddUIComponent (bBtn, origin + Point (2 , 0 ));
127+
128+ ab.Start ();
129+ }
130+ return true ;
131+ }
132+ else
133+ {
134+ MatrixOS::Logging::LogDebug (" Konami" , " Cleared" );
135+ konami = 0 ;
136+ return false ;
137+ }
138+ }
139+ return false ;
140+ }
0 commit comments