c++ - 如果没有 sudo,则无法在 Qt 应用程序中使用键盘

标签 c++ linux qt keyboard beagleboneblack

我有一个交叉编译的嵌入式 Qt 应用程序,可以在 BeagleBone Black 上运行。它工作正常,但有一件事 - 如果我不直接在 BeagleBone Black 上运行(前面带有 sudo),它不接受键盘输入。这是一个问题,因为:

  • 我无法远程调试应用程序并使用连接的键盘,因为它不起作用,
  • 当应用位于 rc.local 文件中以便在启动时启动时,我无法使用键盘(即使其中使用了 sudo)。

接下来我可以尝试什么?

我的/etc/enviroment内容在这里:

QWS_MOUSE_PROTO=IntelliMouse:/dev/input/mouse0
QWS_KEYBOARD=LinuxInput:/dev/tty
TSLIB_CONFFILE=/etc/ts.conf
TSLIB_PLUGINDIR=/usr/lib/ts

尽管我已经为QWS_KEYBOARD尝试了许多不同的配置。我想使用的键盘是 /dev/input/event1

最佳答案

我也面临这个问题。但在我的情况下,我使用从 Windows 操作系统到 raspberry/beaglebone 的远程桌面。

我的解决方案(确保至少你知道如何在树莓派中配置 ssh):

  1. 在 raspberry/beaglebone/其他嵌入式 Linux 上安装 xrdp(sudo apt-get install xrdp)
  2. 在PC上安装xming(搜索sourceforge)
  3. 打开 XLaunch,选择多个窗口 > 不启动客户端 > 剪贴板 > 完成
  4. 打开putty>> session ,输入主机名/IP地址, putty >> SSH >> X11 >> 选中“启用 X11 转发” putty>>单击“打开”按钮
  5. 登录 ssh,然后输入 qcreator

现在键盘应该没问题了

关于c++ - 如果没有 sudo,则无法在 Qt 应用程序中使用键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31161989/

相关文章:

c++ - 指针:在 C++ 中不可赋值的表达式

linux - 如何进入每个子目录并列出文件并将目录名称提供给输出

python - ipython qt 控制台 : change the default working directory

linux - 如何在 Linux 中打印处理器的一个特定核心上列出的所有进程?

linux - 为什么 make savedefconfig 删除条目?

c++ - QTabWidget 增加选项卡滚动条箭头按钮的宽度

qt - QML:MessageDialog,standardButtons 的排序和设置默认按钮

c++ - vcpkg:回想起安装软件包后显示的 CMake 说明?

c++ - 使用 "and"运算符与 && 运算符有什么缺点吗?

c++ - 术语的含义 - Resource Acquisition Is Initialization