• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種多功能軟鍵盤的設(shè)計(jì)

      2018-07-23 08:09:38中船重工第七一六研究所陳國(guó)華
      電子世界 2018年13期
      關(guān)鍵詞:輸入法按鍵鍵盤

      中船重工第七一六研究所 陳國(guó)華

      引言

      隨著電子計(jì)算機(jī)技術(shù)的飛速發(fā)展,人們對(duì)人機(jī)交互的方式也提出了更高的要求。人機(jī)交互方式已經(jīng)不再局限于傳統(tǒng)的鍵盤、鼠標(biāo)、手寫板、語(yǔ)音輸入等,人機(jī)交互方式將變得越來(lái)越多樣化[1]。目前,觸摸屏技術(shù)已廣泛應(yīng)用于各種個(gè)人便攜式電子產(chǎn)品、公共信息查詢?cè)O(shè)備、電子游戲、通訊設(shè)備、自動(dòng)化辦公等,已成為最受歡迎的人機(jī)交互方式。軟件盤是應(yīng)用于觸摸屏上的重要信息輸入工具,它可以代替?zhèn)鹘y(tǒng)物理鍵盤,通過(guò)點(diǎn)擊顯示在屏幕上的按鍵完成字母、數(shù)字、符號(hào)、漢字等不同內(nèi)容的輸入以及其他操作[2]。JARI-Works操作系統(tǒng)是中船重工第716研究所自主研發(fā)的實(shí)時(shí)嵌入式操作系統(tǒng),具備強(qiáng)實(shí)時(shí)內(nèi)核與高效人機(jī)交互跨界融合支撐能力、多核實(shí)時(shí)任務(wù)管理與并行計(jì)算支撐能力、可快速安裝與部署等特點(diǎn),特別適合輕量級(jí)的人機(jī)交互設(shè)備。Qt是挪威的Trolltech公司開(kāi)發(fā)的一款跨平臺(tái)的基于C++的圖形界面開(kāi)發(fā)軟件,它提供給應(yīng)用程序開(kāi)發(fā)者建立藝術(shù)級(jí)的圖形用戶界面所需的所有功能[3]。Qt完全面向?qū)ο螅苋菀走M(jìn)行擴(kuò)展,并且允許真正的組件編程。本文介紹在JARI-Works操作系統(tǒng)下基于Qt的軟件盤的設(shè)計(jì)和實(shí)現(xiàn)方法,該鍵盤功能全面,界面美觀、操作簡(jiǎn)單,可以實(shí)現(xiàn)字母、符號(hào)、拼音、手寫、語(yǔ)音等多種輸入方式,可以應(yīng)用于基于JARI-Works操作系統(tǒng)的觸摸屏設(shè)備。

      1.Qt的設(shè)計(jì)方法

      Qt擁有一系列窗體,可提供標(biāo)準(zhǔn)的GUI功能。Qt也提供事件模型用來(lái)處理鼠標(biāo)、按鍵等用戶操作[4]。另外,Qt有3中特殊的通信機(jī)制:QCOP協(xié)議、信號(hào)-槽機(jī)制和FIFO機(jī)制等,其中信號(hào)-槽機(jī)制是Qt的核心機(jī)制。信號(hào)和槽是一種高級(jí)接口,應(yīng)用于對(duì)象之間的通信,取代了傳統(tǒng)的回調(diào)函數(shù)方式,具有更好的安全性。當(dāng)某個(gè)信號(hào)對(duì)其客戶或所有者的內(nèi)部狀態(tài)發(fā)生改變,信號(hào)被一個(gè)對(duì)象發(fā)射[5]。只有定于過(guò)這個(gè)信號(hào)的類及其派生類能夠發(fā)射這個(gè)信息。通過(guò)調(diào)用QObject對(duì)象的connect函數(shù)來(lái)將某個(gè)對(duì)象的信號(hào)與另外一個(gè)對(duì)象的槽函數(shù)相關(guān)聯(lián),這樣當(dāng)一個(gè)信號(hào)被發(fā)射時(shí),與其相關(guān)聯(lián)的槽將被立刻執(zhí)行,就像一個(gè)正常的函數(shù)調(diào)用一樣。如圖1所示,信號(hào)和槽之間可以一對(duì)一,一對(duì)多,多對(duì)一,多對(duì)多,還可以信號(hào)觸發(fā)信號(hào),非常靈活易用。

      圖1 Qt信號(hào)與槽的關(guān)系圖

      2.多功能軟鍵盤的設(shè)計(jì)

      多功能軟鍵盤包含了字母、數(shù)字、符號(hào)、拼音、手寫、語(yǔ)音等多種人機(jī)交互方式,具有美觀、簡(jiǎn)潔、易用等特點(diǎn),因此,軟鍵盤的按鍵設(shè)計(jì)和布局顯得尤為重要。鍵盤總體布局沿用傳統(tǒng)的鍵盤布局模式,由于鍵盤兼顧多種輸入方法,需要將輸入鍵和功能鍵區(qū)分出來(lái)。其中,功能鍵包括回車鍵、退格鍵、空白鍵、輸入法切換鍵和符號(hào)/數(shù)字切換鍵,這5個(gè)鍵作為公共鍵,每種輸入方式都需要配置。輸入法切換鍵采用簡(jiǎn)單的輪詢的方式,每按一次,切換一種輸入法。在每種輸入法使用過(guò)程可以按符號(hào)/數(shù)字切換鍵后將進(jìn)入符號(hào)/數(shù)字界面,再按一次則返回到原輸入法界面。下面將對(duì)各種輸入方式進(jìn)行分析:

      英文字母輸入法:英文字母輸入比較簡(jiǎn)單,主要包括26個(gè)英文字母鍵,通過(guò)Caps切換字母大小寫。

      拼音輸入法:拼音輸入法包括輸入?yún)^(qū)和漢字候選區(qū),輸入?yún)^(qū)為26個(gè)字母鍵,候選區(qū)在沒(méi)有任何輸入時(shí)不可見(jiàn),當(dāng)有輸入時(shí)才顯示。拼音輸入法具有聯(lián)想功能,輸入若干個(gè)拼音首字母,候選區(qū)則排列出符合條件的多個(gè)詞組??梢园匆苿?dòng)鍵進(jìn)行瀏覽選擇,若按空白鍵則默認(rèn)選第一個(gè)漢字詞組,若按回車鍵則默認(rèn)字母直接輸入。

      手寫輸入法:手寫輸入法主要包括手寫區(qū)、文字候選區(qū)和一些簡(jiǎn)單的功能鍵。手寫區(qū)用于用戶在該區(qū)域書(shū)寫要輸入的內(nèi)容,通過(guò)系統(tǒng)識(shí)別后在文字候選區(qū)顯示出來(lái),候選區(qū)類似拼音的候選區(qū),用戶可以瀏覽并選擇滿足要求的內(nèi)容。另外,在手寫輸入的過(guò)程,用戶可以通過(guò)回撤鍵撤除最后一個(gè)筆畫輸入,通過(guò)清除鍵清除當(dāng)前手寫區(qū)。手寫具有默認(rèn)選擇功能,在用戶書(shū)寫過(guò)程停頓一秒中以上,系統(tǒng)將認(rèn)為書(shū)寫已經(jīng)結(jié)束,用戶再次書(shū)寫時(shí),系統(tǒng)默認(rèn)選擇候選區(qū)的第一個(gè)內(nèi)容作為上次的輸入結(jié)果。

      語(yǔ)音輸入法:語(yǔ)音輸入法也比較簡(jiǎn)單,主要包括輸入按鈕和候選區(qū),用戶通過(guò)按住輸入按鈕后進(jìn)行語(yǔ)音輸入,系統(tǒng)在候選區(qū)顯示用戶輸入的文字,用戶可以選擇滿足要求的輸入內(nèi)容。

      符號(hào)/數(shù)字輸入:用戶進(jìn)行符號(hào)/數(shù)字輸入界面時(shí),可以輸入符號(hào)和數(shù)字,其中符號(hào)分為中英文符號(hào),通過(guò)中英文切換鍵進(jìn)行切換。

      下面圖2為軟鍵盤英文字母輸入法界面,圖3為軟鍵盤拼音輸入法界面:

      圖2 軟鍵盤英文字母輸入法界面

      圖3 軟鍵盤拼音輸入法界面

      3.多功能軟鍵盤的實(shí)現(xiàn)

      3.1 塊的劃分與實(shí)現(xiàn)

      多功能軟鍵盤的主要采用Qt來(lái)編程實(shí)現(xiàn),根據(jù)前面對(duì)軟鍵盤主要功能特點(diǎn)的分析以及Qt編程的優(yōu)勢(shì),采用模塊化的方法來(lái)實(shí)現(xiàn)。定義BaseKeyBorad類為基礎(chǔ)類,主要功能包括鍵盤的基本框架和公共按鍵的定義,其他模塊包括LetterKeyBoard類、PinyinKeyBoard類、HandKeyBoard類、SoundKeyBoard類、SignKeyBoard類都繼承BaseKeyBorad類,除了實(shí)現(xiàn)公共按鍵的功能外,還需要實(shí)現(xiàn)自身特有的按鍵功能。主要功能模塊之間的類關(guān)系圖如下圖4所示。

      圖4 主要功能模塊之間的類關(guān)系圖

      3.2 按鍵事件的實(shí)現(xiàn)

      軟鍵盤要實(shí)現(xiàn)的接口函數(shù)最多的是按鍵的按下與釋放事件,在某個(gè)按鍵被按下或釋放的時(shí)候發(fā)送信號(hào)通知鍵盤自己被按下或釋放。通過(guò)重寫QPushButton類為MyButton類的槽函數(shù)void mousePressEvent(QMouseEvent*e)函數(shù)和void mouseReleaseEvent(QMouseEvent *e),在mousePressEvent函數(shù)中發(fā)送keyClick信號(hào),在mouseReleaseEvent函數(shù)中發(fā)送keyRelease信號(hào)。在每個(gè)輸入法類中定義該鍵盤的按鍵,并將按鍵的keyClick信號(hào)與輸入法類中的KeyPress槽函數(shù)關(guān)聯(lián)起來(lái)。當(dāng)按鍵被按下的時(shí)候就發(fā)送key-Click信號(hào),keyClick信號(hào)觸發(fā)keyPress槽函數(shù),在keyPress函數(shù)中通過(guò)調(diào)用sendEvent發(fā)送正確的鍵值,從而實(shí)現(xiàn)字符輸入。

      3.3 長(zhǎng)按事件和默認(rèn)選擇事件的實(shí)現(xiàn)

      在按鍵輸入的過(guò)程中,存在連續(xù)輸入的情況,當(dāng)按下某個(gè)鍵時(shí)間大于1秒中的時(shí)候,將視為有連續(xù)輸入。通過(guò)QTimer定時(shí)器模擬長(zhǎng)按事件,當(dāng)有長(zhǎng)按事件時(shí),啟動(dòng)一個(gè)0.1秒的定時(shí)器,這樣每間隔0.1秒將模擬一個(gè)按鍵輸入一次,直到該按鍵被釋放,定時(shí)器將停止。

      在手寫輸入的過(guò)程中,當(dāng)用戶輸入停止1秒鐘以上將被默認(rèn)為停止輸入,軟件將默認(rèn)將第一個(gè)備選項(xiàng)作為輸入,在用戶再次輸入時(shí)清除輸入?yún)^(qū),并選擇上次輸入的第一個(gè)備選項(xiàng)作為用戶輸入。通過(guò)QTimer定義一個(gè)一次性定時(shí)器,用戶每次手寫輸入都會(huì)關(guān)閉之前定時(shí)器,觸發(fā)一個(gè)新定時(shí)器,當(dāng)輸入結(jié)束時(shí)間大于1秒鐘以上觸發(fā)keyPress的sendEvent事件。

      4.結(jié)束語(yǔ)

      本文通過(guò)一種多功能軟鍵盤軟件的設(shè)計(jì)與實(shí)現(xiàn),并在觸摸屏輸入終端上進(jìn)行測(cè)試,能夠方便、快捷、有效的代替?zhèn)鹘y(tǒng)的物理鍵盤,為多功能顯控設(shè)備提供更加方便、多樣化的系統(tǒng)訪問(wèn)與服務(wù)。

      猜你喜歡
      輸入法按鍵鍵盤
      你知道手機(jī)撥號(hào)鍵盤上為什么要有*和#嗎?
      要命的輸入法
      鍵盤貓
      基于有限狀態(tài)機(jī)的按鍵檢測(cè)程序設(shè)計(jì)
      電子制作(2021年3期)2021-06-16 03:14:26
      Cлово месяца
      ikbc R300機(jī)械鍵盤
      百度被訴侵犯商標(biāo)權(quán)和不正當(dāng)競(jìng)爭(zhēng)
      一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計(jì)
      電子制作(2016年1期)2016-11-07 08:43:05
      按鍵的多種狀態(tài)檢測(cè)及消抖處理方法
      家電科技(2013年4期)2013-07-09 10:55:08
      iOS中為什么找不到安裝的第三方輸入法
      電腦迷(2012年22期)2012-04-29 23:34:02
      互助| 长海县| 修文县| 麟游县| 车致| 娱乐| 子长县| 图木舒克市| 苍南县| 廊坊市| 富裕县| 富锦市| 五常市| 磐石市| 牡丹江市| 宜兰市| 扶沟县| 临沭县| 临桂县| 米林县| 平武县| 东平县| 红原县| 通山县| 监利县| 慈利县| 新化县| 云梦县| 临沂市| 金门县| 清原| 内乡县| 广昌县| 报价| 丹江口市| 菏泽市| 丹东市| 莱阳市| 安康市| 宁安市| 十堰市|