国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

一種PC鍵盤的革命性設計

發布時間:2010-9-25 11:32    發布者:eetech
關鍵詞: 鍵盤
1 引言

當電腦上別的配件都跟著摩爾定律越來越時髦的時候,鍵盤總是顯得比較落寞,而“掌心鍵”的問世則將傳統PC鍵盤的設計引領至一個全新的領域。掌心鍵,是放在單手掌中使用,對應于五個手指各有一個多功能按鍵,并通過五指同時組合操作,從而實現字符的輸入;自帶有點陣顯示屏,通過其指示各種操作狀態,考慮到用戶使用習慣和人體特征,掌心鍵的外形設計大小適中,適合大眾人群的手形,不論男女,皆可輕松的一手掌握,獨特的按鍵凹槽設計將使手指的放位倍感舒適,而且降低了對坐姿的要求,同時支持左右手互換使用,且保證長時間使用也不易感到疲勞。

2 系統結構及工作原理

掌心鍵是通過五指組合方式進行輸入,共有25=32種組合,其中包括一種無任何鍵按下的組合,實際可用組合則為31種。為了設計中描述、編程方便,將五指對應一個5位二進制數的5個位,D4D3D2D1D0,母指對應D4位,食指對應D3位,中指對應D2位,無名指對應D1位,小指對應D0位,按下手指的位值為1,不按的位值為0,這樣每次組合按鍵時產生了一個按鍵值n,將32種組合定義為Km(m=0…31)。

為了單手能方便輸入PC鍵盤的所有按鍵,首先要將PC按鍵分集,分為數字集、小寫字母集、大寫字母集、標點符集、編輯鍵集、功能鍵集等,表2-1列出了部分鍵集詳細說明;輸入時先選鍵集,再輸入字符。在任何狀態下都將K31定義為集切換,然后按Kn(n=1…30)可選30種鍵集,再按鍵集下相應字符對應的Kn即可完成一個字符的輸入。如果接下來的字符是同一個鍵集的,就不必再切換鍵集,直接輸入即可,這樣可提高輸入速度。輸入任一個字符最多按3次鍵,即先按集轉換,再選子集,然后輸入指定字符,大部分時間都只需一次按鍵即可。

子集中以字母集用鍵值KN最多,從K1到K26,所有子集中的K27、K28、K29、K30很少用到,當前統一定義成最常用的全局通用功能鍵,就如集切換K31;分別定義為K27:空格,K28:回刪,K29:后移,K30:回車。為了方便使用,用戶可以自己配置,重新定義以上鍵值的功能。

對于PC鍵上多個鍵組合操作的情況,這里設置一個本地KeepLock狀態,有三個鍵處理該狀態,KeepStart是進入KeepLock,KeepRep是保持此前按的所有鍵不松開,稱為重復鍵組KeepGroup,其后每按一次鍵與KeepGroup組合一起發給PC,直到KeepEnd結束KeepLock狀態。比如在文本編輯時,要選擇光標后的兩個字符,在PC上應按兩次Shift+ArrowR,操作過程是:KeepStart、ShiftL、KeepRep、ArrowR、ArrowR、KeepEnd;如果要輸入兩次Ctrl+Alt+Del,過程是:KeepStart、CtrlL、AltL、KeepRep、Del、Del、KeepEnd。

3 硬件設計

掌心鍵系統硬件結構如圖3-1所示。硬件以PHILIPS公司含ARM7核的LPC2114單片機為中心,具有背光、黑白128X64點陣LCD屏,五個獨立式多功能按鍵,配有PS2接口。




圖3-1系統硬件結構圖

電源來自PS2鍵盤接口,或電池,5V電源經過LM1117-3.3和LM1117-1.8穩壓后供給各部分電路。顯示部分選用COG的128X64點陣黑白LCD液晶,以I/O方式接入LPC2114單片機,LCD用來提示各種狀態,以及輸入的信息,亦用于脫機錄入的信息顯示。MAX3232構成RS-232串行通信接口,實現掌心鍵與PC機之間資料相互傳送。五個獨立按鍵都以外部電平中斷方式輸入,沒有按鍵時,系統進入節電狀態,只有按鍵時系統才短時工作,在脫機狀態下工作時,電池供電的節電問題顯得非常重要。設置蜂鳴器是為了協助提示按鍵操作。而JTAG接口是保留給軟件開發和升級時使用。

正確檢測掌心鍵的按鍵操作是硬件設計的重點。普通按鍵檢測時,可以用軟件方法處理按鍵機械抖動問題,程序過濾按鍵前后20ms時間即可解決抖動。而掌心鍵是多個鍵組合按下實現單PC鍵,不但要對每個按鍵去抖動,還要解決多鍵同時按下的時間差問題。剛開始使用掌心鍵時,操作速度較慢,隨著使用時間的延長,按鍵速度越來越快,這樣就有一個熟練的過程。為此,將去抖動的時間設成可配置的,設為JitterTime,當有操作時,保持JitterTime時間鍵Kn沒有變化,即認為是Kn,從一個Kn變為Km,也是用JitterTime時間去抖動,當Km=0時就表明沒有任按鍵操作。JitterTime的范圍從20ms到2000ms。

4 軟件設計

軟件以uCos實時嵌入式操作為核心,按功能分為多個任務,軟件采用C語言編寫,主要完成兩部分功能,其一是本地按鍵和顯示,其二是將按鍵變為PC鍵掃描碼通過PS2接口送給PC機。軟件結構如圖4-1所示。



圖4-1 系統軟件結構

算法的關鍵是對按鍵值的處理。由于PC鍵盤中的每個鍵都具有通碼(接下)和斷碼(松開),產生的鍵盤掃描碼由多個字節組成,而掌心鍵是多次操作才能構成PC鍵盤的單次操作,所以在算法中要設置很多狀態變量來記憶操作過程,在完成一個PC鍵操作后才通過PS2接口輸出通碼或斷碼。下面給出了詳細的原碼程序和注釋。

首先說明以下重要的全局變量:

char KeySet; //存入子鍵集號,因為不同子集的Kn值代表不同的鍵

char KeyStatus; //記憶處理狀態,在不同階段Kn有不同的意義

char …….

函數KeyMessage( )將按鍵原始值分集處理,分集后的值調用函數KeySend( )保存或發送,函數KeySendOn( )發送通碼的掃描碼,而函數KeySendOff( )發送斷碼的掃描碼。

void KeySend( unsigned char OnCode ) //發送通碼

{ if( KeepLock==1){ //保存組合通碼KeepGroup

KeepGroup[KeepPtr++] = OnCode;

return; //只保存,不發送

}

If(KeepLock==2)……..

KeySendOn( OnCode ); //發送通碼的掃描碼

}

void KeySendOn( unsigned char OnCode )

{ KeyOnCodeOff = 0; //設標志,要求發斷碼

KeyOnCode = OnCode;

//記憶通碼,以便發相應斷碼

switch( KeyOnCode ){ //根據KeyOnCode發送通碼

OnCode_A: Ps2Out(0x1C); break;

OnCode_ArrowR: Ps2Out(0xE0); Ps2Out(0x74); break;

……..}}

void KeySendOff( void ) //發送斷碼的掃描碼

{ if( KeyOnCodeOff ) return; //沒發過通碼,所有沒有斷碼

KeyOnCodeOff = 1; //防止連續發斷碼

switch( KeyOnCode){ //根據最后發送的通碼KeyOnCode補發斷碼

OnCode_A: Ps2Out(0xF0); Ps2Out(0x1C);

………}}

void KeyMessage( unsigned char Kn) //Kn是原始按鍵值

{ if( Kn==31){ KeyStatus="1"; return; }

if( KeyStatus==1){ if(Kn != 0 ){ KeySet="Kn"; KeyStatus="2"; } return; }

if( KeyStatus==2){

if( Kn==0){ KeySendOff(); return; }

if( KeySet==1){

switch( Kn ){

1: CapsLock =! CapsLock; KeySend(OnCapsLock); break;

2: NumLock=! NumLock; KeySend(OnNumLock); break;  

3: ScrollLock=!ScrollLock; KeySend(OnScrollLock); break;

………… //其它情況處理同上

}

return;

}

if(KeySet==2){ //處理數字 }

if(KeySet==3){ //處理字母 }

…………}}

5 結束語

以目前PC鍵盤設計中比較突出的布局設計,反手操作,坐姿,坐高等問題為中心,以模擬試驗的方法獲得掌心鍵設計的基本原則,它非常適用于現代的青少年人群,在部分學生用戶中實際測試,結果一周左右的時間,他們就能熟練操作掌心鍵,實現單手快速輸入。此外,該方案還可以用到大部分的掌上移動設備中,比如PDA和手機。掌心鍵的進一步完善,是增加按鍵的上推下撥功能,這樣將一個鍵變為三個鍵,具有45=1024種組合值,選擇其中部分容易操作的組合,即可實現更快的輸入速度;配合拇指的軌跡球使用,單手即可實現鼠標和鍵盤雙操作。

本文作者的創新點:掌心鍵設計充分體現了后PC時代“功能主導型”這一特質,它不僅具備傳統鍵盤的所有功能,且可將其置于手掌中,單手五鍵組合操作,并具有脫機輸入文本文件,聯機拷貝文件的功能,該設計具有良好的市場前景和推廣應用價值。掌心鍵不再受到傳統PC鍵盤置放位置的約束,而成為真正的可隨意移動的掌中鍵盤,相信在不久的將來,掌心鍵必將成為PC用戶的“掌中乾坤”。
本文地址:http://m.qingdxww.cn/thread-28985-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 视频在线欧美| 91欧美秘密入口| 狠狠色狠狠色综合日日91app| 性夜影院午夜看片| 亚洲欧美日本一区| 天天操狠狠操| 亚洲欧洲日韩国产一区二区三区| 99精品电影一区二区免费看| 极品内射少妇精品无码视频| 一级做a爰片久久毛片潮喷动漫| 日韩国产在线| 天天干天天在线| 亚洲国内精品久久| 国产露脸150部国语对白| 亚洲乱妇88网| 青草视频在线观看视频| 亚洲视频在线免费看| 在线免费看黄色片| 浓毛BWBWBWBWBW日本| 亚洲日韩中文第一精品| 日韩在线视频线视频免费网站| 羞羞视频污| 中文字幕 亚洲精品 第1页| 久久国产精品永久网站| 亚洲精品第一国产综合| 亚洲精品免费视频| 在线午夜| BL文库好大粗黑强强肉NP| 婷婷久久综合九色综合伊人色| 亚洲午夜精品一区二区蜜桃| 亚洲免费视频网站| 专门看肉小说的网址| 麻豆精品乱码WWW久久密| 人人狠人人透人人爱| 手机看片高清日韩精品| 亚洲视频在线一区| 久久re6热在线视频| 午夜精品久久久久久影视riav| 青春草视频在线播放| 在线激情| chinese帅哥gv在线看|