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);
}



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

	/* Ê ê */ KEYBT(0x439, 0x419),
	/* Ã ã */ KEYBT(0x446, 0x426),
    /* ? 9 */ KEYBTDECL(0xe7, 0x39, true, 10),
    /* ? 0 */ KEYBTDECL(0xe0, 0x30, true, 11),
    /* ) ? */ KEYBTDECL(0x29, 0xb0, true, 12),
    /* = + */ KEYBTDECL(0x3d, 0x2b, true, 13),

    /* a A */ KEYBTDECLEX6(0x61, 0x41, true, 16, 0x61, 0x41, 0xe2, 0xc2, 0xe4, 0xc4),
    /* z Z */ KEYBTDECL(0x7a, 0x5a, true, 17),
    /* e E */ KEYBTDECLEX6(0x65, 0x45, true, 18, 0x65, 0x45, 0xea, 0xca, 0xeb, 0xcb),
    /* r R */ KEYBTDECL(0x72, 0x52, true, 19),
    /* t T */ KEYBTDECL(0x74, 0x54, true, 20),
    /* y Y */ KEYBTDECLEX6(0x79, 0x59, true, 21, 0x79, 0x59, 0, 0, 0xff, 0),
    /* u U */ KEYBTDECLEX6(0x75, 0x55, true, 22, 0x75, 0x55, 0xfb, 0xdb, 0xfc, 0xdc),
    /* i I */ KEYBTDECLEX6(0x69, 0x49, true, 23, 0x69, 0x49, 0xee, 0xce, 0xef, 0xcf),
    /* o O */ KEYBTDECLEX6(0x6f, 0x4f, true, 24, 0x6f, 0x4f, 0xf4, 0xd4, 0xf6, 0xd6),
    /* p P */ KEYBTDECL(0x70, 0x50, true, 25),
    /* ^ ? */ KEYBT(0x5e, 0xa8, true, 1, 2, KEYCODE(0x5e, 26, 0), KEYCODE(0xa8, 26, 1)),
    /* $ ? } */ KEYBTDECL(0x24, 0xa3, true, 27),

    /* q Q */ KEYBTDECL(0x71, 0x51, true, 30),
    /* s S */ KEYBTDECL(0x73, 0x53, true, 31),
    /* d D */ KEYBTDECL(0x64, 0x44, true, 32),
    /* f F */ KEYBTDECL(0x66, 0x46, true, 33),
    /* g G */ KEYBTDECL(0x67, 0x47, true, 34),
    /* h H */ KEYBTDECL(0x68, 0x48, true, 35),
    /* j J */ KEYBTDECL(0x6a, 0x4a, true, 36),
    /* k K */ KEYBTDECL(0x6b, 0x4b, true, 37),
    /* l L */ KEYBTDECL(0x6c, 0x4c, true, 38),
    /* m M */ KEYBTDECL(0x6d, 0x4d, true, 39),
    /* ? % */ KEYBTDECL(0xf9, 0x25, true, 40),
    /* * ? */ KEYBTDECL(0x2a, 0xb5, true, 43),
KEYBT FRENCH_LOCALE[] = {
    /* ? ? */ KEYBTDECL(0xb2, 0xb2, true),
    /* & 1 */ KEYBTDECL(0x26, 0x31, true),
    /* ? 2 */ KEYBTDECL(0xe9, 0x32, true),
    /* " 3 */ KEYBTDECL(0x22, 0x33, true),
    /* ' 4 */ KEYBTDECL(0x27, 0x34, true),
    /* ( 5 */ KEYBTDECL(0x28, 0x35, true),
    /* - 6 */ KEYBTDECL(0x2d, 0x36, true),
    /* ? 7 */ KEYBTDECL(0xe8, 0x37, true),
    /* _ 8 */ KEYBTDECL(0x5f, 0x38, true),
    /* ? 9 */ KEYBTDECL(0xe7, 0x39, true),
    /* ? 0 */ KEYBTDECL(0xe0, 0x30, true),
    /* ) ? */ KEYBTDECL(0x29, 0xb0, true),
    /* = + */ KEYBTDECL(0x3d, 0x2b, true),

    /* a A */ KEYBT(0x61, 0x41, true, 0, 0, 0x61, 0x41, 0xe2, 0xc2, 0xe4, 0xc4),
    /* z Z */ KEYBTDECL(0x7a, 0x5a, true),
    /* e E */ KEYBT(0x65, 0x45, true, 0, 0, 0x65, 0x45, 0xea, 0xca, 0xeb, 0xcb),
    /* r R */ KEYBTDECL(0x72, 0x52, true),
    /* t T */ KEYBTDECL(0x74, 0x54, true),
    /* y Y */ KEYBT(0x79, 0x59, true, 0, 0, 0x79, 0x59, 0, 0, 0xff),
    /* u U */ KEYBT(0x75, 0x55, true, 0, 0, 0x75, 0x55, 0xfb, 0xdb, 0xfc, 0xdc),
    /* i I */ KEYBT(0x69, 0x49, true, 0, 0, 0x69, 0x49, 0xee, 0xce, 0xef, 0xcf),
    /* o O */ KEYBT(0x6f, 0x4f, true, 0, 0, 0x6f, 0x4f, 0xf4, 0xd4, 0xf6, 0xd6),
    /* p P */ KEYBTDECL(0x70, 0x50, true),
    /* ^ ? */ KEYBT(0x5e, 0xa8, true, 1, 2, 0x5e, 0xa8),
    /* $ ? } */ KEYBTDECL(0x24, 0xa3, true),

    /* q Q */ KEYBTDECL(0x71, 0x51, true),
    /* s S */ KEYBTDECL(0x73, 0x53, true),
    /* d D */ KEYBTDECL(0x64, 0x44, true),