Results 1 to 2 of 2

Thread: The CapsLock key of virtual keyboard doesn't work on QTE4.5

  1. #1
    Join Date
    Sep 2010
    Posts
    4
    Qt products
    Qt4 Qt/Embedded
    Platforms
    Unix/X11

    Unhappy The CapsLock key of virtual keyboard doesn't work on QTE4.5

    Hi, U guys.
    my app needs to support English and Chinese input by both hardware keyboard and virtual keyboard on QTE 4.5,so i used the QWSInputMethod class for my input method and inputwidget.ui and inputwidget.cpp for my virtual keyboard.
    But when i run the app,i find if i press the capslock key of virtual keyboard ,it doesn't work .otherwise I press this key on hardware keyboard ,everything is ok!
    i don't know if i use QWSServer::sendKeyEvent ( int unicode, int keycode, Qt::KeyboardModifiers modifiers, bool isPress, bool autoRepeat ) function to CapsLock key,what unicode should it be?
    ps:i got CapsLock's unicode is 65535 when i pressed it on hardware keyboard!
    more infomation ,plz see my attachment!
    any help will be appreciated! sorry for my poor english!
    here is part of code!

    void QPinyinFrame::sendKeyContent(const QString& newcontent)
    {
    if(newcontent=="0")
    QWSServer::sendKeyEvent(48,Qt::Key_0,Qt::NoModifie r,true,false);
    else if(newcontent=="1")
    QWSServer::sendKeyEvent(49,Qt::Key_1,Qt::NoModifie r,true,false);
    else if(newcontent=="2")
    QWSServer::sendKeyEvent(50,Qt::Key_2,Qt::NoModifie r,true,false);
    else if(newcontent=="3")
    QWSServer::sendKeyEvent(51,Qt::Key_3,Qt::NoModifie r,true,false);
    else if(newcontent=="4")
    QWSServer::sendKeyEvent(52,Qt::Key_4,Qt::NoModifie r,true,false);
    else if(newcontent=="5")
    QWSServer::sendKeyEvent(53,Qt::Key_5,Qt::NoModifie r,true,false);
    else if(newcontent=="6")
    QWSServer::sendKeyEvent(54,Qt::Key_6,Qt::NoModifie r,true,false);
    else if(newcontent=="7")
    QWSServer::sendKeyEvent(55,Qt::Key_7,Qt::NoModifie r,true,false);
    else if(newcontent=="8")
    QWSServer::sendKeyEvent(56,Qt::Key_8,Qt::NoModifie r,true,false);
    else if(newcontent=="9")
    QWSServer::sendKeyEvent(57,Qt::Key_9,Qt::NoModifie r,true,false);
    else if(newcontent=="a")
    QWSServer::sendKeyEvent(97,Qt::Key_A,Qt::NoModifie r,true,false);
    else if(newcontent=="b")
    QWSServer::sendKeyEvent(98,Qt::Key_B,Qt::NoModifie r,true,false);
    else if(newcontent=="c")
    QWSServer::sendKeyEvent(99,Qt::Key_C,Qt::NoModifie r,true,false);
    else if(newcontent=="d")
    QWSServer::sendKeyEvent(100,Qt::Key_D,Qt::NoModifi er,true,false);
    else if(newcontent=="e")
    QWSServer::sendKeyEvent(101,Qt::Key_E,Qt::NoModifi er,true,false);
    else if(newcontent=="f")
    QWSServer::sendKeyEvent(102,Qt::Key_F,Qt::NoModifi er,true,false);
    else if(newcontent=="g")
    QWSServer::sendKeyEvent(103,Qt::Key_G,Qt::NoModifi er,true,false);
    else if(newcontent=="h")
    QWSServer::sendKeyEvent(104,Qt::Key_H,Qt::NoModifi er,true,false);
    else if(newcontent=="i")
    QWSServer::sendKeyEvent(105,Qt::Key_I,Qt::NoModifi er,true,false);
    else if(newcontent=="j")
    QWSServer::sendKeyEvent(106,Qt::Key_J,Qt::NoModifi er,true,false);
    else if(newcontent=="k")
    QWSServer::sendKeyEvent(107,Qt::Key_K,Qt::NoModifi er,true,false);
    else if(newcontent=="l")
    QWSServer::sendKeyEvent(108,Qt::Key_L,Qt::NoModifi er,true,false);
    else if(newcontent=="m")
    QWSServer::sendKeyEvent(109,Qt::Key_M,Qt::NoModifi er,true,false);
    else if(newcontent=="n")
    QWSServer::sendKeyEvent(110,Qt::Key_N,Qt::NoModifi er,true,false);
    else if(newcontent=="o")
    QWSServer::sendKeyEvent(111,Qt::Key_O,Qt::NoModifi er,true,false);
    else if(newcontent=="p")
    QWSServer::sendKeyEvent(112,Qt::Key_P,Qt::NoModifi er,true,false);
    else if(newcontent=="q")
    QWSServer::sendKeyEvent(113,Qt::Key_Q,Qt::NoModifi er,true,false);
    else if(newcontent=="r")
    QWSServer::sendKeyEvent(114,Qt::Key_R,Qt::NoModifi er,true,false);
    else if(newcontent=="s")
    QWSServer::sendKeyEvent(115,Qt::Key_S,Qt::NoModifi er,true,false);
    else if(newcontent=="t")
    QWSServer::sendKeyEvent(116,Qt::Key_T,Qt::NoModifi er,true,false);
    else if(newcontent=="u")
    QWSServer::sendKeyEvent(117,Qt::Key_U,Qt::NoModifi er,true,false);
    else if(newcontent=="v")
    QWSServer::sendKeyEvent(118,Qt::Key_V,Qt::NoModifi er,true,false);
    else if(newcontent=="w")
    QWSServer::sendKeyEvent(119,Qt::Key_W,Qt::NoModifi er,true,false);
    else if(newcontent=="x")
    QWSServer::sendKeyEvent(120,Qt::Key_X,Qt::NoModifi er,true,false);
    else if(newcontent=="y")
    QWSServer::sendKeyEvent(121,Qt::Key_Y,Qt::NoModifi er,true,false);
    else if(newcontent=="z")
    QWSServer::sendKeyEvent(122,Qt::Key_Z,Qt::NoModifi er,true,false);
    else if(newcontent=="space")
    QWSServer::sendKeyEvent(32,Qt::Key_Space,Qt::NoMod ifier,true,false);
    else if(newcontent=="enter")
    QWSServer::sendKeyEvent(13,Qt::Key_Return,Qt::NoMo difier,true,false);
    else if(newcontent=="switchLang")
    QWSServer::sendKeyEvent(9,Qt::Key_Tab,Qt::NoModifi er,true,false);
    else if(newcontent=="cap")
    QWSServer::sendKeyEvent(65535,Qt::Key_CapsLock,Qt: :NoModifier,true,false);//i got the hard keyboard's CapsLock unicode value is 65535
    else if(newcontent=="backspace")
    QWSServer::sendKeyEvent(8,Qt::Key_Backspace,Qt::No Modifier,true,false);
    else if(newcontent=="?")
    QWSServer::sendKeyEvent(63,Qt::Key_Question,Qt::No Modifier,true,false);
    else if(newcontent=="#")
    QWSServer::sendKeyEvent(35,Qt::Key_NumberSign,Qt:: NoModifier,true,false);
    else if(newcontent=="!")
    QWSServer::sendKeyEvent(33,Qt::Key_exclamdown,Qt:: NoModifier,true,false);
    else if(newcontent=="@")
    QWSServer::sendKeyEvent(64,Qt::Key_At,Qt::NoModifi er,true,false);
    else if(newcontent==".")
    QWSServer::sendKeyEvent(46,Qt::Key_periodcentered, Qt::NoModifier,true,false);
    else if(newcontent==",")
    QWSServer::sendKeyEvent(44,Qt::Key_Comma,Qt::NoMod ifier,true,false);
    else if(newcontent=="+")
    QWSServer::sendKeyEvent(43,Qt::Key_Plus,Qt::NoModi fier,true,false);
    else if(newcontent=="-")
    QWSServer::sendKeyEvent(45,Qt::Key_Underscore,Qt:: NoModifier,true,false);
    else if(newcontent=="*")
    QWSServer::sendKeyEvent(42,Qt::Key_multiply,Qt::No Modifier,true,false);
    else if(newcontent=="%")
    QWSServer::sendKeyEvent(37,Qt::Key_Percent,Qt::NoM odifier,true,false);
    else if(newcontent==":")
    QWSServer::sendKeyEvent(58,Qt::Key_Colon,Qt::NoMod ifier,true,false);
    else if(newcontent==";")
    QWSServer::sendKeyEvent(59,Qt::Key_Semicolon,Qt::N oModifier,true,false);

    }
    Attached Files Attached Files

  2. #2
    Join Date
    Sep 2010
    Posts
    4
    Qt products
    Qt4 Qt/Embedded
    Platforms
    Unix/X11

    Default Re: The CapsLock key of virtual keyboard doesn't work on QTE4.5

    I have resolved this problem~

Similar Threads

  1. Virtual Keyboard
    By NoRulez in forum Qt Programming
    Replies: 9
    Last Post: 5th August 2010, 07:02
  2. How to get the virtual keyboard?
    By ramesh.bs in forum Qt for Embedded and Mobile
    Replies: 0
    Last Post: 2nd June 2010, 11:58
  3. Virtual Keyboard?
    By augusbas in forum Qt for Embedded and Mobile
    Replies: 3
    Last Post: 14th July 2009, 08:55
  4. like virtual keyboard?
    By triperzonak in forum Qt Programming
    Replies: 4
    Last Post: 10th July 2008, 16:42
  5. virtual keyboard
    By sar_van81 in forum Qt Programming
    Replies: 5
    Last Post: 22nd December 2006, 13:40

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Qt is a trademark of The Qt Company.