LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Смог всё сделать с помощью Xkb. Если интересно, как именно, то см. этот файл - https://github.com/KivApple/qvkbd/blob/master/src/x11support.cpp.

Разве что я не понял, как узнать общее количество доступных раскладок клавиатуры, чтобы после последней перейти к первой. Сейчас делаю так:

if (!XkbLockGroup(QX11Info::display(), XkbUseCoreKbd, m_privateData->cur_layout + 1)) {
	XkbLockGroup(QX11Info::display(), XkbUseCoreKbd, 0);
}

То есть пытаюсь переключиться на раскладку с номером на 1 больше, чем текущая, а если получаю ошибку, то на 0-ую раскладку.

Исходная версия KivApple, :

Смог всё сделать с помощью Xkb. Если интересно, как именно, то см. этот файл - https://github.com/KivApple/qvkbd/blob/master/src/x11support.cpp.