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);
}
Bookmarks