LINUX.ORG.RU

В Qt нет этого. В linux раскладки переключаются через XKBlib XkbLockGroup(), в win ActivateKeyboardLayout(), или глобально рассылкой WM_INPUTLANGCHANGEREQUEST всем окнам.

summatus ()
Ответ на: комментарий от pozitiffcat

что значит нет?.. xkb же... Как правильно уже подсказали, команда setxkbmap

BattleCoder ★★★★★ ()
Ответ на: комментарий от pozitiffcat

в самом банальном варианте, setxkbmap <layout>. Но за такое можно и получить.

silw ★★★★★ ()
Ответ на: комментарий от pozitiffcat

как в c++ в linux программно переключить раскладку

Через XKBlib

#include <X11/XKBlib.h>

int main() {
    char name[ 1 ];
    int ev_rtrn;
    int err_rtrn;
    int major_rtrn = XkbMajorVersion;
    int minor_rtrn = XkbMinorVersion;
    int reason;
    
    XkbIgnoreExtension( False );
    Display* dpy = XkbOpenDisplay( name, &ev_rtrn, &err_rtrn, &major_rtrn, &minor_rtrn, &reason );
    
    if ( reason != XkbOD_Success ) {
        return 0;
    }
    
    XkbStateRec state;
    XkbGetState( dpy, XkbUseCoreKbd, &state );
    
    if ( !XkbLockGroup( dpy, XkbUseCoreKbd, state.group + 1 ) ) {
        return 0;
    }
    
    XkbGetState( dpy, XkbUseCoreKbd, &state );
}
summatus ()
Ответ на: комментарий от pozitiffcat

кому пригодится рабочий норм вариант setxkbmap -layout ru,us

pozitiffcat ★★★ ()

QDBus

org.kde.KXKB/kxkb [org.kde.Keyboard]

QStringList getLayoutsList();
QString getCurrentLayout();
void setLayout(QString);

arsi ★★★★★ ()
Ответ на: комментарий от pozitiffcat

>как переключить например при запуске моей программы с us на ru я хз

И после такого, ты рассчитываешь, что у твоей программы будут пользователи?… В любом случае мне их жалко.

fat_angel ★★★★★ ()
Ответ на: комментарий от pozitiffcat

Жду подробностей, зачем тебе смена раскладки программным уровнем ? юзвери дибилы и сменить сами не в состоянии ?

MikeDM ★★★★★ ()
Ответ на: комментарий от MikeDM

юзеры, 40 летние тетеньки, и они такие тупые, что вводят 10 предложений подряд в текстое поле, а потом обнаруживают что не переключили раскладку. Потом история повторяется. Вот и попросили автоматом чтб было.

pozitiffcat ★★★ ()
Ответ на: комментарий от pozitiffcat

будет еще веселее. рекомендую отказаться от идеи автопереключения.

лучше будет сделать кнопачку «ой мы ху***ню набрали, и набранный текст весь обрабатыть программно не меняя раскладки.

а еще лучше взять тиски и показательно паре тетек пальцы прикусить, остальные будут набирать нормально.

MikeDM ★★★★★ ()
Ответ на: комментарий от pozitiffcat

я тут своим теткам сменил политику парольную. на 14 символов. буквенноциферных.

ниче пережил. так что будь суровее.

MikeDM ★★★★★ ()
Ответ на: комментарий от MikeDM

представляю что будет если я им сделаю такие пароли.. можно вешаться

pozitiffcat ★★★ ()
Ответ на: комментарий от silw

у них и так в голове порядка 15 хоткеев лежит, а для 40 летних тетенек это мега тяжело! )))
З.Ы. на F1 есть хелп по хоткеям, но они не могут посмотреть если что то забывают.. потомучто тупые

pozitiffcat ★★★ ()
Ответ на: комментарий от pozitiffcat

ссаными тряпками надо тупых гнать от компов.

MikeDM ★★★★★ ()
Ответ на: комментарий от pozitiffcat

xneur

вводят 10 предложений подряд в текстое поле, а потом обнаруживают что не переключили раскладку

xneur

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.