我正在使用QT为嵌入式linux设备制作应用程序。当我开始我的应用程序,鼠标&键盘不工作。从搜索这个问题开始,我开始知道在启动应用程序之前我们需要运行以下命令:
export QWS_MOUSE_PROTO="USB:/dev/input/event-mouse"
export QWS_KEYBOARD="USB:/dev/input/event-keyboard"
运行上述命令后,我可以在我的应用程序中使用鼠标和键盘。但这看起来有点奇怪,因为无论何时我需要运行我的应用程序,我都必须运行这些命令。此外,我将在启动后将我的应用程序设置为自动运行,因此在这种情况下,我将无法运行这些命令。所以我想知道我是否可以在我的代码中的某处包含这些命令,以便它们自动运行然后应用程序启动。任何人都可以在这里指导我。请帮忙。感谢。
答案 0 :(得分:1)
您可以运行脚本,而不是运行您的应用程序:
IsBodyHtml = false,
BodyEncoding = Encoding.UTF8,
BodyTransferEncoding = System.Net.Mime.TransferEncoding.EightBit
您还可以在启动Qt之前在应用程序内部设置环境变量。使用setenv
:
#! /usr/bin/env bash
export QWS_MOUSE_PROTO="USB:/dev/input/event-mouse"
export QWS_KEYBOARD="USB:/dev/input/event-keyboard"
my_application
外部#include <cstdlib>
int main(int argc, char ** argv) {
// Set default values if none are set.
setenv("QWS_MOUSE_PROTO", "USB:/dev/input/event-mouse", 0);
setenv("QWS_KEYBOARD", "USB:/dev/input/event-keyboard", 0);
QApplication app(argc, argv);
...
return app.exec();
}
和QWS_MOUSE_PROTO
将覆盖内部默认值,因为QWS_KEYBOARD
参数设置为零。这是理想的行为。