亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        空管系統(tǒng)中鍵盤快捷功能的研究與實現(xiàn)

        2012-09-17 09:43:46白紅利
        關(guān)鍵詞:鍵值空管區(qū)分

        白紅利

        中國電子科技集團公司第二十八研究所 江蘇 210007

        0 引言

        在空管系統(tǒng)當中管制員對人機界面的操作要求形象、簡潔、實用,在界面設(shè)計中,鍵盤的快捷鍵功能可以很好的滿足管制這方面的需求。當前空管系統(tǒng)的操作系統(tǒng)主要有UNIX、LINUX等幾種,最常用的是UNIX系統(tǒng),包括引進的雷神系統(tǒng)、馬丁系統(tǒng)、THALES系統(tǒng)、TELEPHONICS系統(tǒng)、SkyLine系統(tǒng)使用的都是Solaris UNIX系統(tǒng)。LINUX操作系統(tǒng)在空管系統(tǒng)的應用也在逐步增加當中,而不同的操作系統(tǒng)對鍵盤快捷功能的開發(fā)都會產(chǎn)生影響。因此,設(shè)計一種在多個平臺公用的鍵盤快捷功能的應用就很有必要。

        1 鍵盤快捷功能使用的現(xiàn)狀

        現(xiàn)有國內(nèi)外空管系統(tǒng)在鍵盤快捷功能方面各有不同。

        雷神系統(tǒng)使用定制鍵盤,功能快捷鍵包括雙排鍵盤支持,且鍵盤支持二級菜單、三級菜單鍵盤功能。因為雷神系統(tǒng)使用的鼠標是軌跡球,定位沒有鼠標方便,所以主要依賴鍵盤的快捷功能。

        馬丁系統(tǒng)使用的是普通鍵盤,在功能設(shè)置使用人機界面代替,在管制操作和命令輸入時依賴鍵盤。

        TELEPHONICS系統(tǒng)使用的硬件平臺是 SUN公司的工作站,配置的是 SUN鍵盤,與普通鍵盤存在差異。該系統(tǒng)主要依賴鼠標操作,鍵盤只提供文本輸入功能,涉及鍵盤快捷功能少。

        THALES系統(tǒng)使用定制鍵盤,比普通鍵盤多六個鍵,使用的是定制的鍵盤驅(qū)動。管制操作必須依賴鍵盤和鼠標配合操作才能完成功能。因此THALES系統(tǒng)在使用時不能脫離鍵盤的操作。

        國產(chǎn)系統(tǒng)主要采用通用鍵盤,鍵盤快捷按照用戶需求設(shè)置,有各地的風格。

        2 鍵盤事件的加載

        目前空管系統(tǒng)中,在UNIX平臺上的人機界面是基于Xt開發(fā)的應用程序。Xt開發(fā)的應用程序是由事件驅(qū)動進行的,需要給目標組件注冊回調(diào)函數(shù)或者給目標組件注冊動作函數(shù),執(zhí)行用戶定義的函數(shù)功能。注冊回調(diào)函數(shù)一般用XtAddCallbacks將做好的功能函數(shù)注冊到目標組件上,但注冊回調(diào)函數(shù)局限于目標組件本身支持的特定的組件事件,不能滿足鍵盤快捷功能,如果采用注冊動作函數(shù),則可以定義事件類型和修飾,實現(xiàn)鍵盤的快捷功能。

        注冊動作函數(shù)首先定義翻譯表和動作函數(shù),翻譯表是一個對象元資源的值,指出當某一事件或者一系列事件發(fā)生時調(diào)用什么動作函數(shù),它是一個由多個翻譯項組成的字符串,翻譯項把一個事件序列映射為一個或多個動作函數(shù)名,由于翻譯表是一個字符串,所以 Xt需要將它轉(zhuǎn)換成為自己的內(nèi)部形式。翻譯表的第一行可以有三種指令,它告訴轉(zhuǎn)換函數(shù)如何處理現(xiàn)有的翻譯表,三個指令是:#replace、#augment和#override。#replace指示用當前的翻譯表代替舊的翻譯表。#augment是合并新舊兩個翻譯表,當如何處理同時出現(xiàn)在兩個翻譯表中的事件時舊的翻譯項優(yōu)先。#override也是合并新舊兩個翻譯表,當如何處理同時出現(xiàn)在兩個翻譯表中的事件時新的翻譯項優(yōu)先。

        翻譯項的語法:

        <修飾詞表><事件>[,<事件>…]<記數(shù)>[<細節(jié)>]:<動作函數(shù)名>(<參數(shù)>)[<動作函數(shù)名>…]每個翻譯表項中至少有一個<事件>,一個冒號分隔符和至少一個<動作函數(shù)名>。翻譯項語法格式可以應用到資源文件、程序定義中。表1列出主要使用的鍵盤修飾狀態(tài)。

        表1 翻譯表中使用的修飾詞

        在翻譯項中還可以使用幾種對事件起修飾作用的符號,表2列出修飾符號。

        表2 修飾符號

        翻譯項中事件可以用實際名字描述,也可以使用縮寫描述。表3列出與鍵盤快捷功能有關(guān)的事件類型。

        表3 鍵盤事件類型

        Xt沒有專門提供事件縮寫描述鍵盤哪個鍵按下或釋放,但可以使用翻譯項中<細節(jié)>描述鍵盤事件,鍵符號用來描述鍵盤事件<細節(jié)>,在系統(tǒng)頭文件中定義。

        3 分析多種鍵盤事件加載方法

        鍵盤事件加載可以根據(jù)使用資源文件和程序控制分成四種。

        使用資源文件和編程配合加載:

        (1) 一類鍵盤符號使用一個函數(shù)接口;

        (2) 一個鍵盤鍵使用一個函數(shù)接口。

        完全程序控制:

        (3) 所有鍵盤鍵使用一個函數(shù)接口;

        (4) 一個鍵盤鍵使用一個函數(shù)接口。

        3.1 使用資源文件和編程配合加載鍵盤事件方法

        (1) 定義一個函數(shù)接口方法

        在資源文件中配置:

        在程序中定義3個函數(shù):onekey(),shiftkey(),Cakey()。要在定義的函數(shù)中區(qū)分點擊的鍵盤是哪個鍵??梢允褂面I值區(qū)分,也可以使用鍵符值區(qū)分。

        定義的函數(shù)需要4個參數(shù),例如:onekey(widget,event,string,cardinal)。

        使用鍵值區(qū)分方法:在定義的函數(shù)參數(shù)中使用 event參數(shù)。Event參數(shù)是XKeyEvent結(jié)構(gòu),該結(jié)構(gòu)中的keycode可以區(qū)分事件驅(qū)動的鍵盤鍵。

        使用鍵符值區(qū)分方法:使用函數(shù)參數(shù) event參數(shù)和XlookupKeysym函數(shù)獲取驅(qū)動鍵盤事件的鍵盤鍵的鍵符值。

        (2) 定義多個函數(shù)接口方法

        在資源文件中配置

        在程序中定義多個函數(shù),在定義的函數(shù)中不需要區(qū)分點擊的鍵盤是哪個鍵。關(guān)鍵字后必須是系統(tǒng)定義的字符。

        3.2 完全程序控制加載鍵盤事件方法

        (1) 定義一個函數(shù)接口方法

        在需要加載鍵盤事件的組建上加載:

        應用程序?qū)Ψg表進行解析,解析過程由資源類型轉(zhuǎn)換函數(shù)完成:

        為目標組件增加翻譯表項:

        XtAppAddActions(app,keypress,XtNumber(keypress));

        4 鍵盤事件加載的區(qū)別

        當程序區(qū)別鍵盤鍵時在不同的平臺或環(huán)境時需要特定處理。因為在不同的平臺和環(huán)境表現(xiàn)出不同的鍵值,在表 4列表顯示。

        表4 鍵盤鍵值的比較

        在不同的系統(tǒng)中keycode是不同的,根據(jù)不同的keycode處理快捷事件。因此這種鍵盤事件處理具有局限性,是針對固定的操作系統(tǒng)。

        鍵符值在不同的平臺表現(xiàn)相同,表5舉例列出鍵盤對應的鍵符值。

        表5 鍵盤鍵符值對應關(guān)系

        在所有系統(tǒng)平臺上鍵符值是固定的。可以使用不同的系統(tǒng)版本。

        鍵盤加載最終目的是鍵盤事件盡可能少或不依賴平臺和環(huán)境,增加程序的可移植性和適應性。在資源文件中設(shè)置目標對象的翻譯表資源,與設(shè)置其他資源類似,但是一旦資源文件中翻譯表或被刪除或發(fā)生錯誤,應用程序就不能使用,導致程序無法運行。上一節(jié)討論的鍵盤快捷加載方法特點如下:

        (1) 使用資源文件和程序定義單個函數(shù)入口方法:必須依賴資源文件,單個函數(shù)入口決定了程序需要控制鍵盤事件的分支;

        (2) 使用資源文件和程序定義多個函數(shù)入口方法:必須依賴資源文件,多個函數(shù)入口需要增加代碼,不需要區(qū)分鍵盤鍵。但是配置靈活;

        (3) 完全程序控制定義單個函數(shù)入口方法:單個函數(shù)入口決定了程序需要控制鍵盤事件的分支;

        (4) 完全程序控制定義多個函數(shù)入口方法:函數(shù)入口決定了程序需要控制鍵盤事件不需要區(qū)分鍵盤鍵,需要增加部分代碼。

        在區(qū)分鍵盤鍵時就要選擇使用鍵符值的方法區(qū)分,可以解決操作系統(tǒng)和軟件環(huán)境的變化。

        5 結(jié)論

        空管自動化系統(tǒng)在正式運行后,基本不會調(diào)整鍵盤的快捷鍵操作功能,但隨著系統(tǒng)的硬件和操作系統(tǒng)版本的升級,會出現(xiàn)鍵盤鍵值不一致的情況,從而引起界面軟件版本的不同。本文提供的鍵盤快捷功能的實現(xiàn)方法,解決了鍵盤鍵值的不同引起的界面軟件版本不一致的情況,該技術(shù)在現(xiàn)有國產(chǎn)空管自動化系統(tǒng)中得到了很好的應用。

        [1]張倪,莫斌.Motif與圖形用戶界面開發(fā)工具.清華大學出版社.1995.

        [2]張軍.現(xiàn)代空中交通管理.北京航空航天大學出版社.2005.

        猜你喜歡
        鍵值空管區(qū)分
        區(qū)分“旁”“榜”“傍”
        你能區(qū)分平衡力與相互作用力嗎
        非請勿進 為注冊表的重要鍵值上把“鎖”
        民航空管2018年運行統(tǒng)計公報
        民航管理(2019年2期)2019-06-04 03:50:22
        乙醇蒸氣放空管設(shè)置室內(nèi)引發(fā)爆炸
        勞動保護(2019年3期)2019-05-16 02:38:00
        教你區(qū)分功和功率
        一鍵直達 Windows 10注冊表編輯高招
        電腦愛好者(2017年9期)2017-06-01 21:38:08
        罪數(shù)區(qū)分的實踐判定
        如何做好空管質(zhì)量安全管理體系(QSMS)內(nèi)部審核的幾點思考
        河南科技(2014年22期)2014-02-27 14:18:31
        空管自動化系統(tǒng)GPS時鐘同步方式
        河南科技(2014年10期)2014-02-27 14:09:23
        一本一道久久a久久精品综合| 亚洲第一女优在线观看| 成人大片免费视频播放一级 | 国产一区二区不卡老阿姨| 久久婷婷色香五月综合激情| 午夜亚洲精品一区二区| 男女av一区二区三区| 激性欧美激情在线| 国产白丝在线| av免费看网站在线观看| 19款日产奇骏车怎么样| 国产尤物av尤物在线观看| 91视频免费国产成人| 日本国主产一区二区三区在线观看| 日本a级一级淫片免费观看| 国产狂喷潮在线观看 | 在线看片国产免费不卡| 这里有精品可以观看| 国产午夜精品久久久久| 国产一品二品三区在线观看| 九九在线中文字幕无码| 久久精品娱乐亚洲领先| 福利视频一二区| 极品少妇一区二区三区四区视频| 91九色最新国产在线观看| 正在播放国产多p交换视频 | AV人人操| 亚洲国产一区一区毛片a| 色哟哟最新在线观看入口| 老湿机香蕉久久久久久| 亚洲va欧美va人人爽夜夜嗨| 自拍视频在线观看国产| 亚洲av日韩av天堂久久| 精品手机在线视频| 亚洲大尺度动作在线观看一区| 久亚洲精品不子伦一区| 极品少妇小泬50pthepon| 香蕉视频一级| 美腿丝袜网址亚洲av| 久久婷婷色香五月综合缴缴情| 最近中文字幕完整版|