(C++) libcvautomation
January 17, 2018 · View on GitHub
(C++) libcvautomation
A libcvautomation is a GUI testing tool.
libcvautomation examples
- libcvautomation example 1: using an example
- libcvautomation example 2: Qt Creator project around example (using C)
- libcvautomation example 3: Qt Creator project around example
- libcvautomation example 4: Qt Creator project around adapted example
- libcvautomation example 5: basic Qt GUI
- libcvautomation example 6: test a simple Qt desktop application
- libcvautomation example 7: test a simple Qt desktop application, using keyboard
- Brainweaver: a project that uses libcvautomation for debugging its GUI
libcvautomation installation
Was easy for me, I typed at the command line:
git clone https://github.com/DjBushido/libcvautomation.git cd libcvautomation ./autogen.sh sudo apt-get install libopencv-dev sudo apt-get install libxtst-dev ./configure make sudo make install
Key list
Found the keylist in file /usr/include/X11/keysymdef.h:
0 1 2 3 4 5 6 7 8 9 3270_AltCursor 3270_Attn 3270_BackTab 3270_ChangeScreen 3270_Copy 3270_CursorBlink 3270_CursorSelect 3270_DeleteWord 3270_Duplicate 3270_Enter 3270_EraseEOF 3270_EraseInput 3270_ExSelect 3270_FieldMark 3270_Ident 3270_Jump 3270_KeyClick 3270_Left2 3270_PA1 3270_PA2 3270_PA3 3270_Play 3270_PrintScreen 3270_Quit 3270_Record 3270_Reset 3270_Right2 3270_Rule 3270_Setup 3270_Test A a Aacute aacute Abelowdot abelowdot abovedot Abreve abreve Abreveacute abreveacute Abrevebelowdot abrevebelowdot Abrevegrave abrevegrave Abrevehook abrevehook Abrevetilde abrevetilde AccessX_Enable AccessX_Feedback_Enable Acircumflex acircumflex Acircumflexacute acircumflexacute Acircumflexbelowdot acircumflexbelowdot Acircumflexgrave acircumflexgrave Acircumflexhook acircumflexhook Acircumflextilde acircumflextilde acute Adiaeresis adiaeresis AE ae Agrave agrave Ahook ahook Alt_L Alt_R Amacron amacron ampersand Aogonek aogonek APL apostrophe approxeq approximate Arabic_0 Arabic_1 Arabic_2 Arabic_3 Arabic_4 Arabic_5 Arabic_6 Arabic_7 Arabic_8 Arabic_9 Arabic_ain Arabic_alef Arabic_alefmaksura Arabic_beh Arabic_comma Arabic_dad Arabic_dal Arabic_damma Arabic_dammatan Arabic_ddal Arabic_farsi_yeh Arabic_fatha Arabic_fathatan Arabic_feh Arabic_fullstop Arabic_gaf Arabic_ghain Arabic_ha Arabic_hah Arabic_hamza Arabic_hamza_above Arabic_hamza_below Arabic_hamzaonalef Arabic_hamzaonwaw Arabic_hamzaonyeh Arabic_hamzaunderalef Arabic_heh Arabic_heh_doachashmee Arabic_heh_goal Arabic_jeem Arabic_jeh Arabic_kaf Arabic_kasra Arabic_kasratan Arabic_keheh Arabic_khah Arabic_lam Arabic_madda_above Arabic_maddaonalef Arabic_meem Arabic_noon Arabic_noon_ghunna Arabic_peh Arabic_percent Arabic_qaf Arabic_question_mark Arabic_ra Arabic_rreh Arabic_sad Arabic_seen Arabic_semicolon Arabic_shadda Arabic_sheen Arabic_sukun Arabic_superscript_alef Arabic_switch Arabic_tah Arabic_tatweel Arabic_tcheh Arabic_teh Arabic_tehmarbuta Arabic_thal Arabic_theh Arabic_tteh Arabic_veh Arabic_waw Arabic_yeh Arabic_yeh_baree Arabic_zah Arabic_zain Aring aring ARMENIAN Armenian_accent Armenian_amanak Armenian_apostrophe Armenian_AT Armenian_at Armenian_AYB Armenian_ayb Armenian_BEN Armenian_ben Armenian_but Armenian_CHA Armenian_cha Armenian_DA Armenian_da Armenian_DZA Armenian_dza Armenian_E Armenian_e Armenian_exclam Armenian_FE Armenian_fe Armenian_full_stop Armenian_GHAT Armenian_ghat Armenian_GIM Armenian_gim Armenian_HI Armenian_hi Armenian_HO Armenian_ho Armenian_hyphen Armenian_INI Armenian_ini Armenian_JE Armenian_je Armenian_KE Armenian_ke Armenian_KEN Armenian_ken Armenian_KHE Armenian_khe Armenian_ligature_ew Armenian_LYUN Armenian_lyun Armenian_MEN Armenian_men Armenian_NU Armenian_nu Armenian_O Armenian_o Armenian_paruyk Armenian_PE Armenian_pe Armenian_PYUR Armenian_pyur Armenian_question Armenian_RA Armenian_ra Armenian_RE Armenian_re Armenian_SE Armenian_se Armenian_separation_mark Armenian_SHA Armenian_sha Armenian_shesht Armenian_TCHE Armenian_tche Armenian_TO Armenian_to Armenian_TSA Armenian_tsa Armenian_TSO Armenian_tso Armenian_TYUN Armenian_tyun Armenian_verjaket Armenian_VEV Armenian_vev Armenian_VO Armenian_vo Armenian_VYUN Armenian_vyun Armenian_YECH Armenian_yech Armenian_yentamna Armenian_ZA Armenian_za Armenian_ZHE Armenian_zhe asciicircum asciitilde asterisk at Atilde atilde AudibleBell_Enable B b Babovedot babovedot backslash BackSpace ballotcross bar because Begin blank botintegral botleftparens botleftsqbracket botleftsummation botrightparens botrightsqbracket botrightsummation bott botvertsummationconnector BounceKeys_Enable braceleft braceright bracketleft bracketright BRAILLE braille_blank braille_dot_1 braille_dot_10 braille_dot_2 braille_dot_3 braille_dot_4 braille_dot_5 braille_dot_6 braille_dot_7 braille_dot_8 braille_dot_9 braille_dots_1 braille_dots_12 braille_dots_123 braille_dots_1234 braille_dots_12345 braille_dots_123456 braille_dots_1234567 braille_dots_12345678 braille_dots_1234568 braille_dots_123457 braille_dots_1234578 braille_dots_123458 braille_dots_12346 braille_dots_123467 braille_dots_1234678 braille_dots_123468 braille_dots_12347 braille_dots_123478 braille_dots_12348 braille_dots_1235 braille_dots_12356 braille_dots_123567 braille_dots_1235678 braille_dots_123568 braille_dots_12357 braille_dots_123578 braille_dots_12358 braille_dots_1236 braille_dots_12367 braille_dots_123678 braille_dots_12368 braille_dots_1237 braille_dots_12378 braille_dots_1238 braille_dots_124 braille_dots_1245 braille_dots_12456 braille_dots_124567 braille_dots_1245678 braille_dots_124568 braille_dots_12457 braille_dots_124578 braille_dots_12458 braille_dots_1246 braille_dots_12467 braille_dots_124678 braille_dots_12468 braille_dots_1247 braille_dots_12478 braille_dots_1248 braille_dots_125 braille_dots_1256 braille_dots_12567 braille_dots_125678 braille_dots_12568 braille_dots_1257 braille_dots_12578 braille_dots_1258 braille_dots_126 braille_dots_1267 braille_dots_12678 braille_dots_1268 braille_dots_127 braille_dots_1278 braille_dots_128 braille_dots_13 braille_dots_134 braille_dots_1345 braille_dots_13456 braille_dots_134567 braille_dots_1345678 braille_dots_134568 braille_dots_13457 braille_dots_134578 braille_dots_13458 braille_dots_1346 braille_dots_13467 braille_dots_134678 braille_dots_13468 braille_dots_1347 braille_dots_13478 braille_dots_1348 braille_dots_135 braille_dots_1356 braille_dots_13567 braille_dots_135678 braille_dots_13568 braille_dots_1357 braille_dots_13578 braille_dots_1358 braille_dots_136 braille_dots_1367 braille_dots_13678 braille_dots_1368 braille_dots_137 braille_dots_1378 braille_dots_138 braille_dots_14 braille_dots_145 braille_dots_1456 braille_dots_14567 braille_dots_145678 braille_dots_14568 braille_dots_1457 braille_dots_14578 braille_dots_1458 braille_dots_146 braille_dots_1467 braille_dots_14678 braille_dots_1468 braille_dots_147 braille_dots_1478 braille_dots_148 braille_dots_15 braille_dots_156 braille_dots_1567 braille_dots_15678 braille_dots_1568 braille_dots_157 braille_dots_1578 braille_dots_158 braille_dots_16 braille_dots_167 braille_dots_1678 braille_dots_168 braille_dots_17 braille_dots_178 braille_dots_18 braille_dots_2 braille_dots_23 braille_dots_234 braille_dots_2345 braille_dots_23456 braille_dots_234567 braille_dots_2345678 braille_dots_234568 braille_dots_23457 braille_dots_234578 braille_dots_23458 braille_dots_2346 braille_dots_23467 braille_dots_234678 braille_dots_23468 braille_dots_2347 braille_dots_23478 braille_dots_2348 braille_dots_235 braille_dots_2356 braille_dots_23567 braille_dots_235678 braille_dots_23568 braille_dots_2357 braille_dots_23578 braille_dots_2358 braille_dots_236 braille_dots_2367 braille_dots_23678 braille_dots_2368 braille_dots_237 braille_dots_2378 braille_dots_238 braille_dots_24 braille_dots_245 braille_dots_2456 braille_dots_24567 braille_dots_245678 braille_dots_24568 braille_dots_2457 braille_dots_24578 braille_dots_2458 braille_dots_246 braille_dots_2467 braille_dots_24678 braille_dots_2468 braille_dots_247 braille_dots_2478 braille_dots_248 braille_dots_25 braille_dots_256 braille_dots_2567 braille_dots_25678 braille_dots_2568 braille_dots_257 braille_dots_2578 braille_dots_258 braille_dots_26 braille_dots_267 braille_dots_2678 braille_dots_268 braille_dots_27 braille_dots_278 braille_dots_28 braille_dots_3 braille_dots_34 braille_dots_345 braille_dots_3456 braille_dots_34567 braille_dots_345678 braille_dots_34568 braille_dots_3457 braille_dots_34578 braille_dots_3458 braille_dots_346 braille_dots_3467 braille_dots_34678 braille_dots_3468 braille_dots_347 braille_dots_3478 braille_dots_348 braille_dots_35 braille_dots_356 braille_dots_3567 braille_dots_35678 braille_dots_3568 braille_dots_357 braille_dots_3578 braille_dots_358 braille_dots_36 braille_dots_367 braille_dots_3678 braille_dots_368 braille_dots_37 braille_dots_378 braille_dots_38 braille_dots_4 braille_dots_45 braille_dots_456 braille_dots_4567 braille_dots_45678 braille_dots_4568 braille_dots_457 braille_dots_4578 braille_dots_458 braille_dots_46 braille_dots_467 braille_dots_4678 braille_dots_468 braille_dots_47 braille_dots_478 braille_dots_48 braille_dots_5 braille_dots_56 braille_dots_567 braille_dots_5678 braille_dots_568 braille_dots_57 braille_dots_578 braille_dots_58 braille_dots_6 braille_dots_67 braille_dots_678 braille_dots_68 braille_dots_7 braille_dots_78 braille_dots_8 Break breve brokenbar Byelorussian_shortu Byelorussian_SHORTU C c Cabovedot cabovedot Cacute cacute Cancel Caps_Lock careof caret caron CAUCASUS Ccaron ccaron Ccedilla ccedilla Ccircumflex ccircumflex cedilla cent ch Ch CH c_h C_h C_H checkerboard checkmark circle Clear club Codeinput colon ColonSign comma containsas Control_L Control_R copyright cr crossinglines CruzeiroSign cuberoot currency CURRENCY cursor CYRILLIC Cyrillic_a Cyrillic_A Cyrillic_be Cyrillic_BE Cyrillic_che Cyrillic_CHE Cyrillic_CHE_descender Cyrillic_che_descender Cyrillic_CHE_vertstroke Cyrillic_che_vertstroke Cyrillic_de Cyrillic_DE Cyrillic_dzhe Cyrillic_DZHE Cyrillic_e Cyrillic_E Cyrillic_ef Cyrillic_EF Cyrillic_el Cyrillic_EL Cyrillic_em Cyrillic_EM Cyrillic_en Cyrillic_EN Cyrillic_EN_descender Cyrillic_en_descender Cyrillic_er Cyrillic_ER Cyrillic_es Cyrillic_ES Cyrillic_ghe Cyrillic_GHE Cyrillic_GHE_bar Cyrillic_ghe_bar Cyrillic_ha Cyrillic_HA Cyrillic_HA_descender Cyrillic_ha_descender Cyrillic_hardsign Cyrillic_HARDSIGN Cyrillic_i Cyrillic_I Cyrillic_ie Cyrillic_IE Cyrillic_I_macron Cyrillic_i_macron Cyrillic_io Cyrillic_IO Cyrillic_je Cyrillic_JE Cyrillic_ka Cyrillic_KA Cyrillic_KA_descender Cyrillic_ka_descender Cyrillic_KA_vertstroke Cyrillic_ka_vertstroke Cyrillic_lje Cyrillic_LJE Cyrillic_nje Cyrillic_NJE Cyrillic_o Cyrillic_O Cyrillic_O_bar Cyrillic_o_bar Cyrillic_pe Cyrillic_PE Cyrillic_SCHWA Cyrillic_schwa Cyrillic_sha Cyrillic_SHA Cyrillic_shcha Cyrillic_SHCHA Cyrillic_SHHA Cyrillic_shha Cyrillic_shorti Cyrillic_SHORTI Cyrillic_softsign Cyrillic_SOFTSIGN Cyrillic_te Cyrillic_TE Cyrillic_tse Cyrillic_TSE Cyrillic_u Cyrillic_U Cyrillic_U_macron Cyrillic_u_macron Cyrillic_U_straight Cyrillic_u_straight Cyrillic_U_straight_bar Cyrillic_u_straight_bar Cyrillic_ve Cyrillic_VE Cyrillic_ya Cyrillic_YA Cyrillic_yeru Cyrillic_YERU Cyrillic_yu Cyrillic_YU Cyrillic_ze Cyrillic_ZE Cyrillic_zhe Cyrillic_ZHE Cyrillic_ZHE_descender Cyrillic_zhe_descender D d Dabovedot dabovedot dagger Dcaron dcaron dead_a dead_A dead_abovecomma dead_abovedot dead_abovereversedcomma dead_abovering dead_acute dead_belowbreve dead_belowcircumflex dead_belowcomma dead_belowdiaeresis dead_belowdot dead_belowmacron dead_belowring dead_belowtilde dead_breve dead_capital_schwa dead_caron dead_cedilla dead_circumflex dead_currency dead_dasia dead_diaeresis dead_doubleacute dead_doublegrave dead_e dead_E dead_grave dead_greek dead_hook dead_horn dead_i dead_I dead_invertedbreve dead_iota dead_macron dead_o dead_O dead_ogonek dead_perispomeni dead_psili dead_semivoiced_sound dead_small_schwa dead_stroke dead_tilde dead_u dead_U dead_voiced_sound decimalpoint degree Delete diaeresis diamond digitspace dintegral division dollar DongSign doubbaselinedot doubleacute doubledagger doublelowquotemark Down downarrow downcaret downshoe downstile downtack Dstroke dstroke E e Eabovedot eabovedot Eacute eacute Ebelowdot ebelowdot Ecaron ecaron Ecircumflex ecircumflex Ecircumflexacute ecircumflexacute Ecircumflexbelowdot ecircumflexbelowdot Ecircumflexgrave ecircumflexgrave Ecircumflexhook ecircumflexhook Ecircumflextilde ecircumflextilde EcuSign Ediaeresis ediaeresis Egrave egrave Ehook ehook eightsubscript eightsuperior Eisu_Shift Eisu_toggle elementof ellipsis em3space em4space Emacron emacron emdash emfilledcircle emfilledrect emopencircle emopenrectangle emptyset emspace End endash enfilledcircbullet enfilledsqbullet ENG eng enopencircbullet enopensquarebullet enspace Eogonek eogonek equal Escape ETH Eth eth Etilde etilde EuroSign exclam exclamdown Execute EZH ezh F f F1 F10 F11 F12 F13 F14 F15 F16 F17 F18 F19 F2 F20 F21 F22 F23 F24 F25 F26 F27 F28 F29 F3 F30 F31 F32 F33 F34 F35 F4 F5 F6 F7 F8 F9 Fabovedot fabovedot Farsi_0 Farsi_1 Farsi_2 Farsi_3 Farsi_4 Farsi_5 Farsi_6 Farsi_7 Farsi_8 Farsi_9 Farsi_yeh femalesymbol ff FFrancSign figdash filledlefttribullet filledrectbullet filledrighttribullet filledtribulletdown filledtribulletup Find First_Virtual_Screen fiveeighths fivesixths fivesubscript fivesuperior fourfifths foursubscript foursuperior fourthroot function G g Gabovedot gabovedot Gbreve gbreve Gcaron gcaron Gcedilla gcedilla Gcircumflex gcircumflex GEORGIAN Georgian_an Georgian_ban Georgian_can Georgian_char Georgian_chin Georgian_cil Georgian_don Georgian_en Georgian_fi Georgian_gan Georgian_ghan Georgian_hae Georgian_har Georgian_he Georgian_hie Georgian_hoe Georgian_in Georgian_jhan Georgian_jil Georgian_kan Georgian_khar Georgian_las Georgian_man Georgian_nar Georgian_on Georgian_par Georgian_phar Georgian_qar Georgian_rae Georgian_san Georgian_shin Georgian_tan Georgian_tar Georgian_un Georgian_vin Georgian_we Georgian_xan Georgian_zen Georgian_zhar grave greater greaterthanequal GREEK Greek_accentdieresis Greek_ALPHA Greek_alpha Greek_ALPHAaccent Greek_alphaaccent Greek_BETA Greek_beta Greek_CHI Greek_chi Greek_DELTA Greek_delta Greek_EPSILON Greek_epsilon Greek_EPSILONaccent Greek_epsilonaccent Greek_ETA Greek_eta Greek_ETAaccent Greek_etaaccent Greek_finalsmallsigma Greek_GAMMA Greek_gamma Greek_horizbar Greek_IOTA Greek_iota Greek_IOTAaccent Greek_iotaaccent Greek_iotaaccentdieresis Greek_IOTAdiaeresis Greek_IOTAdieresis Greek_iotadieresis Greek_KAPPA Greek_kappa Greek_LAMBDA Greek_lambda Greek_LAMDA Greek_lamda Greek_MU Greek_mu Greek_NU Greek_nu Greek_OMEGA Greek_omega Greek_OMEGAaccent Greek_omegaaccent Greek_OMICRON Greek_omicron Greek_OMICRONaccent Greek_omicronaccent Greek_PHI Greek_phi Greek_PI Greek_pi Greek_PSI Greek_psi Greek_RHO Greek_rho Greek_SIGMA Greek_sigma Greek_switch Greek_TAU Greek_tau Greek_THETA Greek_theta Greek_UPSILON Greek_upsilon Greek_UPSILONaccent Greek_upsilonaccent Greek_upsilonaccentdieresis Greek_UPSILONdieresis Greek_upsilondieresis Greek_XI Greek_xi Greek_ZETA Greek_zeta guillemotleft guillemotright H h hairspace Hangul Hangul_A Hangul_AE Hangul_AraeA Hangul_AraeAE Hangul_Banja Hangul_Cieuc Hangul_Codeinput Hangul_Dikeud Hangul_E Hangul_End Hangul_EO Hangul_EU Hangul_Hanja Hangul_Hieuh Hangul_I Hangul_Ieung Hangul_Jamo Hangul_J_Cieuc Hangul_J_Dikeud Hangul_Jeonja Hangul_J_Hieuh Hangul_Jieuj Hangul_J_Ieung Hangul_J_Jieuj Hangul_J_Khieuq Hangul_J_Kiyeog Hangul_J_KiyeogSios Hangul_J_KkogjiDalrinIeung Hangul_J_Mieum Hangul_J_Nieun Hangul_J_NieunHieuh Hangul_J_NieunJieuj Hangul_J_PanSios Hangul_J_Phieuf Hangul_J_Pieub Hangul_J_PieubSios Hangul_J_Rieul Hangul_J_RieulHieuh Hangul_J_RieulKiyeog Hangul_J_RieulMieum Hangul_J_RieulPhieuf Hangul_J_RieulPieub Hangul_J_RieulSios Hangul_J_RieulTieut Hangul_J_Sios Hangul_J_SsangKiyeog Hangul_J_SsangSios Hangul_J_Tieut Hangul_J_YeorinHieuh Hangul_Khieuq Hangul_Kiyeog Hangul_KiyeogSios Hangul_KkogjiDalrinIeung Hangul_Mieum Hangul_MultipleCandidate Hangul_Nieun Hangul_NieunHieuh Hangul_NieunJieuj Hangul_O Hangul_OE Hangul_PanSios Hangul_Phieuf Hangul_Pieub Hangul_PieubSios Hangul_PostHanja Hangul_PreHanja Hangul_PreviousCandidate Hangul_Rieul Hangul_RieulHieuh Hangul_RieulKiyeog Hangul_RieulMieum Hangul_RieulPhieuf Hangul_RieulPieub Hangul_RieulSios Hangul_RieulTieut Hangul_RieulYeorinHieuh Hangul_Romaja Hangul_SingleCandidate Hangul_Sios Hangul_Special Hangul_SsangDikeud Hangul_SsangJieuj Hangul_SsangKiyeog Hangul_SsangPieub Hangul_SsangSios Hangul_Start Hangul_SunkyeongeumMieum Hangul_SunkyeongeumPhieuf Hangul_SunkyeongeumPieub Hangul_switch Hangul_Tieut Hangul_U Hangul_WA Hangul_WAE Hangul_WE Hangul_WEO Hangul_WI Hangul_YA Hangul_YAE Hangul_YE Hangul_YEO Hangul_YeorinHieuh Hangul_YI Hangul_YO Hangul_YU Hankaku Hcircumflex hcircumflex heart HEBREW hebrew_aleph hebrew_ayin hebrew_bet hebrew_beth hebrew_chet hebrew_dalet hebrew_daleth hebrew_doublelowline hebrew_finalkaph hebrew_finalmem hebrew_finalnun hebrew_finalpe hebrew_finalzade hebrew_finalzadi hebrew_gimel hebrew_gimmel hebrew_he hebrew_het hebrew_kaph hebrew_kuf hebrew_lamed hebrew_mem hebrew_nun hebrew_pe hebrew_qoph hebrew_resh hebrew_samech hebrew_samekh hebrew_shin Hebrew_switch hebrew_taf hebrew_taw hebrew_tet hebrew_teth hebrew_waw hebrew_yod hebrew_zade hebrew_zadi hebrew_zain hebrew_zayin Help Henkan Henkan_Mode hexagram Hiragana Hiragana_Katakana Home horizconnector horizlinescan1 horizlinescan3 horizlinescan5 horizlinescan7 horizlinescan9 Hstroke hstroke ht Hyper_L Hyper_R hyphen I i Iabovedot Iacute iacute Ibelowdot ibelowdot Ibreve ibreve Icircumflex icircumflex identical Idiaeresis idiaeresis idotless ifonlyif Igrave igrave Ihook ihook Imacron imacron implies includedin includes infinity Insert integral intersection Iogonek iogonek ISO_Center_Object ISO_Continuous_Underline ISO_Discontinuous_Underline ISO_Emphasize ISO_Enter ISO_Fast_Cursor_Down ISO_Fast_Cursor_Left ISO_Fast_Cursor_Right ISO_Fast_Cursor_Up ISO_First_Group ISO_First_Group_Lock ISO_Group_Latch ISO_Group_Lock ISO_Group_Shift ISO_Last_Group ISO_Last_Group_Lock ISO_Left_Tab ISO_Level2_Latch ISO_Level3_Latch ISO_Level3_Lock ISO_Level3_Shift ISO_Level5_Latch ISO_Level5_Lock ISO_Level5_Shift ISO_Lock ISO_Move_Line_Down ISO_Move_Line_Up ISO_Next_Group ISO_Next_Group_Lock ISO_Partial_Line_Down ISO_Partial_Line_Up ISO_Partial_Space_Left ISO_Partial_Space_Right ISO_Prev_Group ISO_Prev_Group_Lock ISO_Release_Both_Margins ISO_Release_Margin_Left ISO_Release_Margin_Right ISO_Set_Margin_Left ISO_Set_Margin_Right Itilde itilde J j Jcircumflex jcircumflex jot K k kana_a kana_A kana_CHI kana_closingbracket kana_comma kana_conjunctive kana_e kana_E kana_FU kana_fullstop kana_HA kana_HE kana_HI kana_HO kana_HU kana_i kana_I kana_KA kana_KE kana_KI kana_KO kana_KU Kana_Lock kana_MA kana_ME kana_MI kana_middledot kana_MO kana_MU kana_N kana_NA kana_NE kana_NI kana_NO kana_NU kana_o kana_O kana_openingbracket kana_RA kana_RE kana_RI kana_RO kana_RU kana_SA kana_SE kana_SHI Kana_Shift kana_SO kana_SU kana_switch kana_TA kana_TE kana_TI kana_TO kana_tsu kana_TSU kana_tu kana_TU kana_u kana_U kana_WA kana_WO kana_ya kana_YA kana_yo kana_YO kana_yu kana_YU Kanji Kanji_Bangou kappa Katakana Kcedilla kcedilla KOREAN Korean_Won KP_0 KP_1 KP_2 KP_3 KP_4 KP_5 KP_6 KP_7 KP_8 KP_9 KP_Add KP_Begin KP_Decimal KP_Delete KP_Divide KP_Down KP_End KP_Enter KP_Equal KP_F1 KP_F2 KP_F3 KP_F4 KP_Home KP_Insert KP_Left KP_Multiply KP_Next KP_Page_Down KP_Page_Up KP_Prior KP_Right KP_Separator KP_Space KP_Subtract KP_Tab KP_Up kra L l L1 L10 L2 L3 L4 L5 L6 L7 L8 L9 Lacute lacute Last_Virtual_Screen latincross Lbelowdot lbelowdot Lcaron lcaron Lcedilla lcedilla Left leftanglebracket leftarrow leftcaret leftdoublequotemark leftmiddlecurlybrace leftopentriangle leftpointer leftradical leftshoe leftsinglequotemark leftt lefttack less lessthanequal lf Linefeed LiraSign logicaland logicalor lowleftcorner lowrightcorner Lstroke lstroke M m Mabovedot mabovedot Macedonia_dse Macedonia_DSE Macedonia_gje Macedonia_GJE Macedonia_kje Macedonia_KJE macron Mae_Koho malesymbol maltesecross marker masculine Massyo MATHEMATICAL Menu Meta_L Meta_R MillSign minus minutes Mode_switch MouseKeys_Accel_Enable MouseKeys_Enable mu Muhenkan Multi_key MultipleCandidate multiply musicalflat musicalsharp N n nabla Nacute nacute NairaSign Ncaron ncaron Ncedilla ncedilla NewSheqelSign Next Next_Virtual_Screen ninesubscript ninesuperior nl nobreakspace notapproxeq notelementof notequal notidentical notsign Ntilde ntilde numbersign numerosign Num_Lock O o Oacute oacute Obarred obarred Obelowdot obelowdot Ocaron ocaron Ocircumflex ocircumflex Ocircumflexacute ocircumflexacute Ocircumflexbelowdot ocircumflexbelowdot Ocircumflexgrave ocircumflexgrave Ocircumflexhook ocircumflexhook Ocircumflextilde ocircumflextilde Odiaeresis odiaeresis Odoubleacute odoubleacute OE oe ogonek Ograve ograve Ohook ohook Ohorn ohorn Ohornacute ohornacute Ohornbelowdot ohornbelowdot Ohorngrave ohorngrave Ohornhook ohornhook Ohorntilde ohorntilde Omacron omacron oneeighth onefifth onehalf onequarter onesixth onesubscript onesuperior onethird Ooblique ooblique openrectbullet openstar opentribulletdown opentribulletup ordfeminine Oslash oslash Otilde otilde overbar Overlay1_Enable Overlay2_Enable overline P p Pabovedot pabovedot Page_Down Page_Up paragraph parenleft parenright partdifferential partialderivative Pause percent period periodcentered permille PesetaSign phonographcopyright plus plusminus Pointer_Accelerate Pointer_Button1 Pointer_Button2 Pointer_Button3 Pointer_Button4 Pointer_Button5 Pointer_Button_Dflt Pointer_DblClick1 Pointer_DblClick2 Pointer_DblClick3 Pointer_DblClick4 Pointer_DblClick5 Pointer_DblClick_Dflt Pointer_DfltBtnNext Pointer_DfltBtnPrev Pointer_Down Pointer_DownLeft Pointer_DownRight Pointer_Drag1 Pointer_Drag2 Pointer_Drag3 Pointer_Drag4 Pointer_Drag5 Pointer_Drag_Dflt Pointer_EnableKeys Pointer_Left Pointer_Right Pointer_Up Pointer_UpLeft Pointer_UpRight prescription PreviousCandidate Prev_Virtual_Screen Print Prior prolongedsound PUBLISHING punctspace Q q quad question questiondown quotedbl quoteleft quoteright R r R1 R10 R11 R12 R13 R14 R15 R2 R3 R4 R5 R6 R7 R8 R9 Racute racute radical Rcaron rcaron Rcedilla rcedilla Redo registered RepeatKeys_Enable Return Right rightanglebracket rightarrow rightcaret rightdoublequotemark rightmiddlecurlybrace rightmiddlesummation rightopentriangle rightpointer rightshoe rightsinglequotemark rightt righttack Romaji RupeeSign S s Sabovedot sabovedot Sacute sacute Scaron scaron Scedilla scedilla SCHWA schwa Scircumflex scircumflex script_switch Scroll_Lock seconds section Select semicolon semivoicedsound Serbian_dje Serbian_DJE Serbian_dze Serbian_DZE Serbian_je Serbian_JE Serbian_lje Serbian_LJE Serbian_nje Serbian_NJE Serbian_tshe Serbian_TSHE seveneighths sevensubscript sevensuperior Shift_L Shift_Lock Shift_R signaturemark signifblank similarequal SingleCandidate singlelowquotemark Sinh_a Sinh_aa Sinh_aa2 Sinh_ae Sinh_ae2 Sinh_aee Sinh_aee2 Sinh_ai Sinh_ai2 Sinh_al SINHALA Sinh_au Sinh_au2 Sinh_ba Sinh_bha Sinh_ca Sinh_cha Sinh_dda Sinh_ddha Sinh_dha Sinh_dhha Sinh_e Sinh_e2 Sinh_ee Sinh_ee2 Sinh_fa Sinh_ga Sinh_gha Sinh_h2 Sinh_ha Sinh_i Sinh_i2 Sinh_ii Sinh_ii2 Sinh_ja Sinh_jha Sinh_jnya Sinh_ka Sinh_kha Sinh_kunddaliya Sinh_la Sinh_lla Sinh_lu Sinh_lu2 Sinh_luu Sinh_luu2 Sinh_ma Sinh_mba Sinh_na Sinh_ndda Sinh_ndha Sinh_ng Sinh_ng2 Sinh_nga Sinh_nja Sinh_nna Sinh_nya Sinh_o Sinh_o2 Sinh_oo Sinh_oo2 Sinh_pa Sinh_pha Sinh_ra Sinh_ri Sinh_rii Sinh_ru2 Sinh_ruu2 Sinh_sa Sinh_sha Sinh_ssha Sinh_tha Sinh_thha Sinh_tta Sinh_ttha Sinh_u Sinh_u2 Sinh_uu Sinh_uu2 Sinh_va Sinh_ya sixsubscript sixsuperior slash SlowKeys_Enable soliddiamond space SPECIAL squareroot ssharp sterling StickyKeys_Enable stricteq Super_L Super_R Sys_Req T t Tab Tabovedot tabovedot Tcaron tcaron Tcedilla tcedilla TECHNICAL telephone telephonerecorder Terminate_Server THAI Thai_baht Thai_bobaimai Thai_chochan Thai_chochang Thai_choching Thai_chochoe Thai_dochada Thai_dodek Thai_fofa Thai_fofan Thai_hohip Thai_honokhuk Thai_khokhai Thai_khokhon Thai_khokhuat Thai_khokhwai Thai_khorakhang Thai_kokai Thai_lakkhangyao Thai_lekchet Thai_lekha Thai_lekhok Thai_lekkao Thai_leknung Thai_lekpaet Thai_leksam Thai_leksi Thai_leksong Thai_leksun Thai_lochula Thai_loling Thai_lu Thai_maichattawa Thai_maiek Thai_maihanakat Thai_maihanakat_maitho Thai_maitaikhu Thai_maitho Thai_maitri Thai_maiyamok Thai_moma Thai_ngongu Thai_nikhahit Thai_nonen Thai_nonu Thai_oang Thai_paiyannoi Thai_phinthu Thai_phophan Thai_phophung Thai_phosamphao Thai_popla Thai_rorua Thai_ru Thai_saraa Thai_saraaa Thai_saraae Thai_saraaimaimalai Thai_saraaimaimuan Thai_saraam Thai_sarae Thai_sarai Thai_saraii Thai_sarao Thai_sarau Thai_saraue Thai_sarauee Thai_sarauu Thai_sorusi Thai_sosala Thai_soso Thai_sosua Thai_thanthakhat Thai_thonangmontho Thai_thophuthao Thai_thothahan Thai_thothan Thai_thothong Thai_thothung Thai_topatak Thai_totao Thai_wowaen Thai_yoyak Thai_yoying therefore thinspace THORN Thorn thorn threeeighths threefifths threequarters threesubscript threesuperior tintegral topintegral topleftparens topleftradical topleftsqbracket topleftsummation toprightparens toprightsqbracket toprightsummation topt topvertsummationconnector Touroku trademark trademarkincircle Tslash tslash twofifths twosubscript twosuperior twothirds U u Uacute uacute Ubelowdot ubelowdot Ubreve ubreve Ucircumflex ucircumflex Udiaeresis udiaeresis Udoubleacute udoubleacute Ugrave ugrave Uhook uhook Uhorn uhorn Uhornacute uhornacute Uhornbelowdot uhornbelowdot Uhorngrave uhorngrave Uhornhook uhornhook Uhorntilde uhorntilde Ukrainian_ghe_with_upturn Ukrainian_GHE_WITH_UPTURN Ukrainian_i Ukrainian_I Ukrainian_ie Ukrainian_IE Ukrainian_yi Ukrainian_YI Ukranian_i Ukranian_I Ukranian_je Ukranian_JE Ukranian_yi Ukranian_YI Umacron umacron underbar underscore Undo union Uogonek uogonek Up uparrow upcaret upleftcorner uprightcorner upshoe upstile uptack Uring uring Utilde utilde V v variation vertbar vertconnector VIETNAMESE voicedsound vt W w Wacute wacute Wcircumflex wcircumflex Wdiaeresis wdiaeresis Wgrave wgrave WonSign X x Xabovedot xabovedot Y y Yacute yacute Ybelowdot ybelowdot Ycircumflex ycircumflex ydiaeresis Ydiaeresis yen Ygrave ygrave Yhook yhook Ytilde ytilde Z z Zabovedot zabovedot Zacute zacute Zcaron zcaron Zenkaku Zenkaku_Hankaku Zen_Koho zerosubscript zerosuperior Zstroke zstroke