Exemplo n.º 1
0
static void
input_task(void *arg){
    unsigned char scode;
    unsigned ch;
	int tty_num=-1;

    while (true)
    {
	tty_num=-1;
        if ( !GetMsgQueue(scan_mq, &scode) )
            continue;

        /* Perform make/break processing. */
        if ( (ch = make_break(scode)) == NONE )
            continue;

        if (1 <= ch && ch <= 0xFF)
            /* A normal character. */
            PutMsgQueue(key_mq, &ch);
        else if (HOME <= ch && ch <= INSRT)
        {
            /* An ASCII escape sequence generated by the numeric pad. */
            unsigned c = ESC;
            PutMsgQueue(key_mq, &c);
            c = '[';
            PutMsgQueue(key_mq, &c);
            c = numpad_map[ch - HOME];
            PutMsgQueue(key_mq, &c);
        }else{
            // Aquí deberían procesarse teclas especiales de procesamiento
            // inmediato como Fn, Alt-Fn, etc.
            switch( ch ){
                case AF1:
                    tty_num = 0;
                    break;
                case AF2:
                    tty_num = 1;
                    break;
                case AF3:
                    tty_num = 2;
                    break;
                case AF4:
                    tty_num = 3;
                    break;
            }
            if(tty_num != -1){
                clearAllTabs();
                turnOnOFFTab(ON, tty_num+1);
                 turnOffMouse();
                switch_focus(tty_num);
                turnOnMouse();
            }
        }
    }
}
Exemplo n.º 2
0
void PluginGame5GenerateSituationDialog::generateModel() const
{
    rdo::gui::model::Model* pModel = getCurrentModel();
    if (pModel->getTab())
    {
        clearAllTabs();

        pModel->getTab()->getItemEdit(rdo::FileType::RTP)->appendText(modelRTP());
        pModel->getTab()->getItemEdit(rdo::FileType::RSS)->appendText(modelRSS());
        pModel->getTab()->getItemEdit(rdo::FileType::PAT)->appendText(modelPAT());
        pModel->getTab()->getItemEdit(rdo::FileType::DPT)->appendText(modelDPT());
    }
}
Exemplo n.º 3
0
PluginGame5GenerateSituationDialog::PluginGame5GenerateSituationDialog(QWidget* pParent)
    : QDialog(pParent, Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint)
{
    setupUi(this);

    MultiSelectCompleter* completer = new MultiSelectCompleter(QStringList(), this);
    lineEditCustom->setCompleter(completer);
    connect(lineEditCustom, &QLineEdit::selectionChanged, completer, &MultiSelectCompleter::onLineEditTextChanged);

    adjustSize();
    hiddenWidget->setFixedWidth(hiddenWidget->width());
    hiddenWidget->hide();

    buttonHide->setCheckable(true);
    buttonHide->setDefault(false);

    adjustSize();
    setFixedSize(width(), height());
    setSizeGripEnabled(false);

    rdo::gui::model::Model* pModel = getCurrentModel();
    clearAllTabs();
    pModel->getTab()->getItemEdit(rdo::FileType::FUN)->clearAll();
    pModel->getTab()->getItemEdit(rdo::FileType::FUN)->appendText(modelFUN());

    connect(buttonHide        , &QPushButton::toggled, this, &PluginGame5GenerateSituationDialog::onClickHide         );
    connect(buttonSetLineup   , &QPushButton::clicked, this, &PluginGame5GenerateSituationDialog::callTilesOrderDialog);
    connect(buttonRandomLineup, &QPushButton::clicked, this, &PluginGame5GenerateSituationDialog::emitSolvabilityCheck);
    connect(buttonOk          , &QPushButton::clicked, this, &PluginGame5GenerateSituationDialog::onClickOk           );

    connect(this     , &PluginGame5GenerateSituationDialog::buttonRandomClicked,
            gameBoard, &Board::buildRandomOrder);
    connect(buttonRightLineup, &QPushButton::clicked,
            gameBoard        , &Board::buildCorrectOrder);

    if (pParent)
    {
        move(pParent->frameGeometry().center() - frameGeometry().center());
    }
}