Использование Qt / Embedded в качестве языка программирования для разработки GUI не позволяет переключиться на другую виртуальную консоль (TTY), пока сервер QWS работает на текущем терминале. Это вызывает много неудобств, например, люди перенаправляют вывод / лог сообщения программы на какой-то другой терминал & они очень часто видят эти журналы при выполнении программного обеспечения. Это особенно полезно для отладки больших проектов.
Интересно, есть ли способ заставить переключение между виртуальными консолями работать.
Re: я только что просматривал исходный код Qt / Embedded. Я нашел эту часть
QWSKeyboardHandler::KeycodeAction ka;
ka = m_handler->processKeycode(code, value != 0, value == 2);
switch (ka) {
case QWSKeyboardHandler::CapsLockOn:
case QWSKeyboardHandler::CapsLockOff:
switchLed(LED_CAPSL, ka == QWSKeyboardHandler::CapsLockOn);
break;
case QWSKeyboardHandler::NumLockOn:
case QWSKeyboardHandler::NumLockOff:
switchLed(LED_NUML, ka == QWSKeyboardHandler::NumLockOn);
break;
case QWSKeyboardHandler::ScrollLockOn:
case QWSKeyboardHandler::ScrollLockOff:
switchLed(LED_SCROLLL, ka == QWSKeyboardHandler::ScrollLockOn);
break;
default:
// ignore console switching and reboot
break;
}
Мысль, что будет модификация, чтобы получить желаемое поведение.
Задача ещё не решена.
Других решений пока нет …