gpt4 book ai didi

c++ - Qt/嵌入式 : Caps Lock is not working

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:33:52 24 4
gpt4 key购买 nike

我正在使用 Qt/Embedded 4.8.4(c++ 绑定(bind))开发应用程序。我发现启用大写锁定不会将大写字母中的字符放入编辑框中。这是一个简单的程序供您引用,它显示了相同的行为。

#include <QApplication>
#include <QMainWindow>
#include <QLineEdit>

int main(int argc, char **argv)
{
QApplication a(argc, argv);
QMainWindow *win = new QMainWindow(0);
win->move(50,50);
win->resize(500, 500);
win->show();

QLineEdit *edit = new QLineEdit(win);
edit->move(30, 30);
edit->resize(100, 30);
edit->show();

return a.exec();
}

在编辑框中,无论您是否设置了大写锁定状态,您正在输入的字符都会以小写形式显示

回复:关于你的信息,我正在使用 LinuxInput 作为键盘和鼠标的输入驱动程序

最佳答案

可能是 Qt Window Server (QWS) 使用的键映射对大写锁定键(键码 58)的设置有误。我遇到了这个问题,并且能够按如下方式解决它。

为了生成自定义键盘映射,我遵循了这篇文章中的方法:Qt Embedded for Linux. Keyboard layout switching

但是,在运行 kmap2qmap 之前,我编辑了 kmap 文件,使键码 58 使用 Caps_Lock 而不是 CtrlL_Lock

然后我将生成的 qmap 文件作为输入传递给键盘驱动程序:

export QWS_KEYBOARD="LinuxInput:keymap=/path/to/xx.qmap"
./myApp -qws

关于c++ - Qt/嵌入式 : Caps Lock is not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22961736/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com