QString VirtualKeyPushButton::setDisplayString(QString xcodestring) { QString temp; if (knownAliases.contains(xcodestring)) { temp = knownAliases.value(xcodestring); } else { temp = keycodeToKey(X11KeySymToKeycode(xcodestring)); } if (temp.isEmpty() && !xcodestring.isEmpty()) { temp = xcodestring; } return temp.toUpper(); }
QString JoyButtonSlot::getSlotString() { QString newlabel; if (deviceCode > 0) { if (mode == JoyButtonSlot::JoyKeyboard) { newlabel = newlabel.append(keycodeToKey(deviceCode).toUpper()); } else if (mode == JoyButtonSlot::JoyMouseButton) { newlabel.append(tr("Mouse")).append(" "); switch (deviceCode) { case 1: newlabel.append(tr("LB")); break; case 2: newlabel.append(tr("MB")); break; case 3: newlabel.append(tr("RB")); break; default: newlabel.append(QString::number(deviceCode)); break; } } else if (mode == JoyButtonSlot::JoyMouseMovement) { newlabel.append(movementString()); } else if (mode == JoyButtonSlot::JoyPause) { newlabel.append(tr("Pause")).append(" ").append(QString::number(deviceCode / 1000.0, 'g', 3)); } else if (mode == JoyButtonSlot::JoyHold) { newlabel.append(tr("Hold")).append(" ").append(QString::number(deviceCode / 1000.0, 'g', 3)); } else if (mode == JoyButtonSlot::JoyCycle) { newlabel.append(tr("Cycle")); } else if (mode == JoyButtonSlot::JoyDistance) { QString temp(tr("Distance")); temp.append(" ").append(QString::number(deviceCode).append("%")); newlabel.append(temp); } else if (mode == JoyButtonSlot::JoyRelease) { newlabel.append(tr("Release")).append(" ").append(QString::number(deviceCode / 1000.0, 'g', 3)); } } else { newlabel = newlabel.append(tr("[NO KEY]")); } return newlabel; }
void Chip8Display::keyReleaseEvent(QKeyEvent *e) { int key = keycodeToKey(e->key()); if (key != -1) m_keys[key] = false; }
void Chip8Display::keyPressEvent(QKeyEvent *e) { int key = keycodeToKey(e->key()); if (key != -1) m_keys[key] = true; }