Пример #1
0
    // NOOP
    Q_UNUSED(desktop);
}

#define KEYBTDECL(s1, s2, clSwitch, code) KEYBT(s1, s2, clSwitch, 0, 0, KEYCODE(s1, code, 0), KEYCODE(s2, code, 1))

#define KEYBTDECLEX1(s1, s2, clSwitch, code, cs1, cs2) KEYBT(s1, s2, clSwitch, 0, 0, KEYCODE(cs1, code, 0), KEYCODE(cs2, code, 1))
#define KEYBTDECLEX2(s1, s2, clSwitch, code, cs1, cs2) KEYBT(s1, s2, clSwitch, 0, 0, KEYCODE(cs1, code, 2), KEYCODE(cs2, code, 3))

#define KEYBTDECLEX6(s1, s2, clSwitch, code, cs1, cs2, cs3, cs4, cs5, cs6) KEYBT(s1, s2, clSwitch, 0, 0, KEYCODE(cs1, code, 0), KEYCODE(cs2, code, 1), KEYCODE(cs3, code, 2), KEYCODE(cs4, code, 3), KEYCODE(cs5, code, 4), KEYCODE(cs6, code, 5))

#define KEYBTDECLEX8(s1, s2, clSwitch, code, cs1, cs2, cs3, cs4, cs5, cs6, cs7, cs8) KEYBT(s1, s2, clSwitch, 0, 0, KEYCODE(cs1, code, 0), KEYCODE(cs2, code, 1), KEYCODE(cs3, code, 2), KEYCODE(cs4, code, 3), KEYCODE(cs5, code, 4), KEYCODE(cs6, code, 5), KEYCODE(cs7, code, 6), KEYCODE(cs8, code, 7))


KEYBT ENGLISH_LOCALE[] = {
        /* ` ~ */ KEYBTDECL(0x60, 0x7e, false, 41),
        /* 1 ! */ KEYBTDECL(0x31, 0x21, false, 2),
        /* 2 @ */ KEYBTDECL(0x32, 0x40, false, 3),
        /* 3 # */ KEYBTDECL(0x33, 0x23, false, 4),
        /* 4 $ */ KEYBTDECL(0x34, 0x24, false, 5),
        /* 5 % */ KEYBTDECL(0x35, 0x25, false, 6),
        /* 6 ^ */ KEYBTDECL(0x36, 0x88, false, 7),
        /* 7 & */ KEYBTDECL(0x37, 0x26, false, 8),
        /* 8 * */ KEYBTDECL(0x38, 0x2a, false, 9),
        /* 9 ( */ KEYBTDECL(0x39, 0x28, false, 10),
        /* 0 ) */ KEYBTDECL(0x30, 0x29, false, 11),
        /* - _ */ KEYBTDECL(0x2d, 0x5f, false, 12),
        /* = + */ KEYBTDECL(0x3d, 0x2b, false, 13),

        /* q Q */ KEYBTDECL(0x71, 0x51, true, 16),
        /* w W */ KEYBTDECL(0x77, 0x57, true, 17),
    Q_UNUSED(desktop);
}

void UBPlatformUtils::setWindowNonActivableFlag(QWidget* widget, bool nonAcivable)
{
    long exStyle = (nonAcivable) ? GetWindowLong(widget->winId(), GWL_EXSTYLE) | WS_EX_NOACTIVATE
                   : GetWindowLong(widget->winId(), GWL_EXSTYLE) & ~WS_EX_NOACTIVATE;

    SetWindowLong(widget->winId(), GWL_EXSTYLE, exStyle);
}

#define KEYBTDECL(s1, s2, clSwitch) KEYBT(s1, s2, clSwitch, 0, 0, KEYCODE(s1), KEYCODE(s2))

KEYBT RUSSIAN_LOCALE [] =
{
    /* Ј і */ KEYBTDECL(0x451, 0x401, true),
    /* 1 ! */ KEYBTDECL(0x31, 0x21, false),
    /* 2 " */ KEYBTDECL(0x32, 0x5c, false),
    /* 3 ? */ KEYBTDECL(0x33, 0x2116, false),
    /* 4 ; */ KEYBTDECL(0x34, 0x3b, false),
    /* 5 % */ KEYBTDECL(0x35, 0x25, false),
    /* 6 : */ KEYBTDECL(0x36, 0x3a, false),
    /* 7 ? */ KEYBTDECL(0x37, 0x3f, false),
    /* 8 * */ KEYBTDECL(0x38, 0x2a, false),
    /* 9 ( */ KEYBTDECL(0x39, 0x28, false),
    /* 0 ) */ KEYBTDECL(0x30, 0x29, false),
    /* - _ */ KEYBTDECL(0x2d, 0x4f, false),
    /* = + */ KEYBTDECL(0x3d, 0x2b, false),

    /* К к */ KEYBTDECL(0x439, 0x419, true),
    /* Г г */ KEYBTDECL(0x446, 0x426, true),