LINUX.ORG.RU

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

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

досихпор не нашел ни одного решения как в c++ в linux программно переключить раскладку. Даже нету команды для консоли

pozitiffcat ★★★
() автор топика
Ответ на: комментарий от 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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.