kopia lustrzana https://gitlab.com/eliggett/wfview
start to support analogue
rodzic
d753315c55
commit
75aab75b46
|
@ -107,27 +107,27 @@ void usbController::run()
|
|||
});
|
||||
connect(gamepad, &QGamepad::buttonAChanged, this, [this](bool pressed) {
|
||||
qInfo(logUsbControl()) << "Button A" << pressed;
|
||||
this->buttonState(5, pressed);
|
||||
this->buttonState("A", pressed);
|
||||
});
|
||||
connect(gamepad, &QGamepad::buttonBChanged, this, [this](bool pressed) {
|
||||
qInfo(logUsbControl()) << "Button B" << pressed;
|
||||
this->buttonState(4, pressed);
|
||||
this->buttonState("B", pressed);
|
||||
});
|
||||
connect(gamepad, &QGamepad::buttonXChanged, this, [this](bool pressed) {
|
||||
qInfo(logUsbControl()) << "Button X" << pressed;
|
||||
this->buttonState(3, pressed);
|
||||
this->buttonState("X", pressed);
|
||||
});
|
||||
connect(gamepad, &QGamepad::buttonYChanged, this, [this](bool pressed) {
|
||||
qInfo(logUsbControl()) << "Button Y" << pressed;
|
||||
this->buttonState(2, pressed);
|
||||
this->buttonState("Y", pressed);
|
||||
});
|
||||
connect(gamepad, &QGamepad::buttonL1Changed, this, [this](bool pressed) {
|
||||
qInfo(logUsbControl()) << "Button L1" << pressed;
|
||||
this->buttonState(6, pressed);
|
||||
this->buttonState("L1", pressed);
|
||||
});
|
||||
connect(gamepad, &QGamepad::buttonR1Changed, this, [this](bool pressed) {
|
||||
qInfo(logUsbControl()) << "Button R1" << pressed;
|
||||
this->buttonState(7, pressed);
|
||||
this->buttonState("R1", pressed);
|
||||
});
|
||||
connect(gamepad, &QGamepad::buttonL2Changed, this, [](double value) {
|
||||
qInfo(logUsbControl()) << "Button L2: " << value;
|
||||
|
@ -137,11 +137,11 @@ void usbController::run()
|
|||
});
|
||||
connect(gamepad, &QGamepad::buttonSelectChanged, this, [this](bool pressed) {
|
||||
qInfo(logUsbControl()) << "Button Select" << pressed;
|
||||
this->buttonState(0, pressed);
|
||||
this->buttonState("SELECT", pressed);
|
||||
});
|
||||
connect(gamepad, &QGamepad::buttonStartChanged, this, [this](bool pressed) {
|
||||
qInfo(logUsbControl()) << "Button Start" << pressed;
|
||||
this->buttonState(1, pressed);
|
||||
this->buttonState("START", pressed);
|
||||
});
|
||||
connect(gamepad, &QGamepad::buttonGuideChanged, this, [this](bool pressed) {
|
||||
qInfo(logUsbControl()) << "Button Guide" << pressed;
|
||||
|
@ -409,10 +409,10 @@ void usbController::ledControl(bool on, unsigned char num)
|
|||
}
|
||||
}
|
||||
|
||||
void usbController::buttonState(char num, bool val)
|
||||
void usbController::buttonState(QString name, bool val)
|
||||
{
|
||||
for (BUTTON* but = buttonList->begin(); but != buttonList->end(); but++) {
|
||||
if (but->dev == usbDevice && but->num == num) {
|
||||
if (but->dev == usbDevice && but->name == name) {
|
||||
|
||||
if (val && but->onCommand->index > 0) {
|
||||
qInfo(logUsbControl()) << "On Button event:" << but->onCommand->text;
|
||||
|
|
|
@ -57,10 +57,13 @@ struct BUTTON {
|
|||
BUTTON() {}
|
||||
|
||||
BUTTON(quint8 dev, int num, QRect pos, const QColor textColour, COMMAND* on, COMMAND* off) :
|
||||
dev(dev), num(num), pos(pos), textColour(textColour), onCommand(on),offCommand(off) {}
|
||||
dev(dev), name(""), num(num), pos(pos), textColour(textColour), onCommand(on), offCommand(off) {}
|
||||
BUTTON(quint8 dev, QString name, QRect pos, const QColor textColour, COMMAND* on, COMMAND* off) :
|
||||
dev(dev), num(-1),name(name), pos(pos), textColour(textColour), onCommand(on), offCommand(off) {}
|
||||
|
||||
quint8 dev;
|
||||
int num;
|
||||
QString name;
|
||||
QRect pos;
|
||||
QColor textColour;
|
||||
int onEvent = 0;
|
||||
|
@ -116,7 +119,7 @@ private:
|
|||
QString manufacturer="";
|
||||
QString serial="<none>";
|
||||
QGamepad* gamepad=Q_NULLPTR;
|
||||
void buttonState(char but, bool val);
|
||||
void buttonState(QString but, bool val);
|
||||
|
||||
protected:
|
||||
};
|
||||
|
|
26
wfmain.cpp
26
wfmain.cpp
|
@ -2146,18 +2146,18 @@ void wfmain::loadSettings()
|
|||
usbButtons.append(BUTTON(2, 14, QRect(280, 195, 25, 80), Qt::red, &usbCommands[0], &usbCommands[0]));
|
||||
|
||||
// Xbox Gamepad
|
||||
usbButtons.append(BUTTON(4, 0, QRect(302, 160, 40, 40), Qt::red, &usbCommands[0], &usbCommands[0])); // select
|
||||
usbButtons.append(BUTTON(4, 1, QRect(412,163, 40, 40), Qt::red, &usbCommands[0], &usbCommands[0])); // start
|
||||
usbButtons.append(BUTTON(4, 2, QRect(534, 104, 53, 53), Qt::red, &usbCommands[0], &usbCommands[0])); //y
|
||||
usbButtons.append(BUTTON(4, 3, QRect(485, 152, 53, 53), Qt::red, &usbCommands[0], &usbCommands[0])); //x
|
||||
usbButtons.append(BUTTON(4, 4, QRect(590, 152, 53, 53), Qt::red, &usbCommands[0], &usbCommands[0])); //b
|
||||
usbButtons.append(BUTTON(4, 5, QRect(534, 202, 53, 53), Qt::red, &usbCommands[0], &usbCommands[0])); //a
|
||||
usbButtons.append(BUTTON(4, 6, QRect(123, 40, 70, 45), Qt::red, &usbCommands[0], &usbCommands[0])); //L1
|
||||
usbButtons.append(BUTTON(4, 7, QRect(562, 40, 70, 45), Qt::red, &usbCommands[0], &usbCommands[0])); // R1
|
||||
//usbButtons.append(BUTTON(4, 10, QRect(210, 270, 70, 55), Qt::red, &usbCommands[0], &usbCommands[0]));
|
||||
//usbButtons.append(BUTTON(4, 11, QRect(50, 335, 70, 55), Qt::red, &usbCommands[0], &usbCommands[0]));
|
||||
//usbButtons.append(BUTTON(4, 12, QRect(210, 335, 70, 55), Qt::red, &usbCommands[0], &usbCommands[0]));
|
||||
//usbButtons.append(BUTTON(4, 13, QRect(30, 195, 25, 80), Qt::red, &usbCommands[0], &usbCommands[0]));
|
||||
usbButtons.append(BUTTON(4, "SELECT", QRect(302, 160, 40, 40), Qt::red, &usbCommands[0], &usbCommands[0])); // select
|
||||
usbButtons.append(BUTTON(4, "START", QRect(412, 163, 40, 40), Qt::red, &usbCommands[0], &usbCommands[0])); // start
|
||||
usbButtons.append(BUTTON(4, "Y", QRect(534, 104, 53, 53), Qt::red, &usbCommands[0], &usbCommands[0])); //y
|
||||
usbButtons.append(BUTTON(4, "X", QRect(485, 152, 53, 53), Qt::red, &usbCommands[0], &usbCommands[0])); //x
|
||||
usbButtons.append(BUTTON(4, "B", QRect(590, 152, 53, 53), Qt::red, &usbCommands[0], &usbCommands[0])); //b
|
||||
usbButtons.append(BUTTON(4, "A", QRect(534, 202, 53, 53), Qt::red, &usbCommands[0], &usbCommands[0])); //a
|
||||
usbButtons.append(BUTTON(4, "L1", QRect(123, 40, 70, 45), Qt::red, &usbCommands[0], &usbCommands[0])); //L1
|
||||
usbButtons.append(BUTTON(4, "R1", QRect(562, 40, 70, 45), Qt::red, &usbCommands[0], &usbCommands[0])); // R1
|
||||
usbButtons.append(BUTTON(4, "LEFTX", QRect(143, 119, 83, 35), Qt::red, &usbCommands[0], &usbCommands[0]));
|
||||
usbButtons.append(BUTTON(4, "LEFTY", QRect(162, 132, 50, 57), Qt::red, &usbCommands[0], &usbCommands[0]));
|
||||
usbButtons.append(BUTTON(4, "RIGHTX", QRect(430, 298, 83, 35), Qt::red, &usbCommands[0], &usbCommands[0]));
|
||||
usbButtons.append(BUTTON(4, "RIGHTY", QRect(453, 233, 50, 57), Qt::red, &usbCommands[0], &usbCommands[0]));
|
||||
//usbButtons.append(BUTTON(4, 14, QRect(280, 195, 25, 80), Qt::red, &usbCommands[0], &usbCommands[0]));
|
||||
|
||||
}
|
||||
|
@ -2169,6 +2169,7 @@ void wfmain::loadSettings()
|
|||
BUTTON butt;
|
||||
butt.dev = settings->value("Dev", 0).toInt();
|
||||
butt.num = settings->value("Num", 0).toInt();
|
||||
butt.name = settings->value("Name", "").toString();
|
||||
butt.pos = QRect(settings->value("Left", 0).toInt(),
|
||||
settings->value("Top", 0).toInt(),
|
||||
settings->value("Width", 0).toInt(),
|
||||
|
@ -2564,6 +2565,7 @@ void wfmain::saveSettings()
|
|||
settings->setArrayIndex(nb);
|
||||
settings->setValue("Dev", usbButtons[nb].dev);
|
||||
settings->setValue("Num", usbButtons[nb].num);
|
||||
settings->setValue("Name", usbButtons[nb].name);
|
||||
settings->setValue("Left", usbButtons[nb].pos.left());
|
||||
settings->setValue("Top", usbButtons[nb].pos.top());
|
||||
settings->setValue("Width", usbButtons[nb].pos.width());
|
||||
|
|
Ładowanie…
Reference in New Issue