diff --git a/HBC/META.XML b/HBC/META.XML index 0ddca3c6..df7ac9b6 100644 --- a/HBC/META.XML +++ b/HBC/META.XML @@ -2,8 +2,8 @@ USB Loader GX USB Loader GX Team - 2.2 r1113 - 201109102010 + 2.2 r1114 + 201109102014 kbtextmaxlen means with terminating '\0' - { - kbtextstr[strlen(kbtextstr)] = ' '; - SetDisplayText(kbtextstr); - } - keySpace->SetState(STATE_SELECTED, t->chan); - } - else if (keyBack->GetState() == STATE_CLICKED) - { - if (strlen(kbtextstr) > min) - { - kbtextstr[strlen(kbtextstr) - 1] = 0; - SetDisplayText(kbtextstr); - } - keyBack->SetState(STATE_SELECTED, t->chan); - } - else if (keyClear->GetState() == STATE_CLICKED) - { - while (strlen(kbtextstr) > min) - { - kbtextstr[strlen(kbtextstr) - 1] = 0; - } - SetDisplayText(kbtextstr); - keyClear->SetState(STATE_SELECTED, t->chan); - } - else if (keyShift->GetState() == STATE_CLICKED) - { - changedShiftKey = true; - shift ^= 1; - if (alt) alt ^= 1; - if (alt2) alt2 ^= 1; - keyShift->SetState(STATE_SELECTED, t->chan); - } - else if (keyAlt->GetState() == STATE_CLICKED) - { - changedShiftKey = true; - alt ^= 1; - if (shift) shift ^= 1; - if (alt2) alt2 ^= 1; - keyAlt->SetState(STATE_SELECTED, t->chan); - } - else if (keyAlt2->GetState() == STATE_CLICKED) - { - changedShiftKey = true; - alt2 ^= 1; - if (shift) shift ^= 1; - if (alt) alt ^= 1; - keyAlt2->SetState(STATE_SELECTED, t->chan); - } - else if (keyCaps->GetState() == STATE_CLICKED) - { - changedShiftKey = true; - caps ^= 1; - keyCaps->SetState(STATE_SELECTED, t->chan); - } - - bool update = false; - - char txt[2] = { 0, 0 }; - - do - { - update = false; - for (int i = 0; i < 4; i++) - { - for (int j = 0; j < 11; j++) - { - if (keys[i][j].ch != '\0') - { - if (shift || caps) - txt[0] = keys[i][j].chShift; - else if (alt) - txt[0] = keys[i][j].chalt; - else if (alt2) - txt[0] = keys[i][j].chalt2; - else txt[0] = keys[i][j].ch; - - if (changedShiftKey) // change text only if needed - keyTxt[i][j]->SetText(txt); - - if (keyBtn[i][j]->GetState() == STATE_CLICKED) - { - if (strlen(kbtextstr) < kbtextmaxlen - 1) // -1 --> kbtextmaxlen means with term. '\0' - { - kbtextstr[strlen(kbtextstr)] = txt[0]; - SetDisplayText(kbtextstr); - } - keyBtn[i][j]->SetState(STATE_SELECTED, t->chan); - - if (shift || alt || alt2) - { - if (shift) shift ^= 1; - if (alt) alt ^= 1; - if (alt2) alt2 ^= 1; - update = true; - changedShiftKey = true; - } - } - } - } - } - } while (update); - - this->ToggleFocus(t); - - if (focus) // only send actions to this window if it's in focus - { - // pad/joystick navigation - if (t->Right()) - this->MoveSelectionHor(1); - else if (t->Left()) - this->MoveSelectionHor(-1); - else if (t->Down()) - this->MoveSelectionVert(1); - else if (t->Up()) this->MoveSelectionVert(-1); - } -}