2014-04-09 13 views
1

Qt/Embedded 4.8.4 (C++ 바인딩)로 응용 프로그램을 개발 중입니다. 대문자 잠금을 사용하면 대문자로 된 글자를 편집 상자 안에 넣지 않습니다. 다음은 동일한 동작을 보여주는 참조 용 간단한 프로그램입니다. 편집 상자에서 Qt/Embedded : Caps Lock이 작동하지 않습니다.

#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를 사용하고 들어 키보드 및 마우스 모두

+0

Shift를 눌러도 작동합니까? – sashoalm

+0

아니요 작동하지 않습니다. – Crain008

답변

0

Qt Window Server (QWS)에서 사용하는 키 맵의 잠금 키 (keycode 58) 설정이 잘못되었을 수 있습니다. 나는이 문제가 있었고 다음과 같이 그것을 고칠 수 있었다. CAPS_LOCK보다는 CtrlL_Lock

사용되는 키 코드 (58) 내가 다음을 통과 그래서 내가 만든 kmap 파일을 편집 kmap2qmap 실행하기 전에, 그러나 Qt Embedded for Linux. Keyboard layout switching

:

내가이 게시물의 방법을 따라 사용자 정의 키보드 매핑을 생성하려면 생성 된 qmap 파일을 키보드 드라이버의 입력으로 사용하십시오.

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