㈠ 筆記本電腦可以換定製鍵盤嗎
華碩筆記本是可以更換鍵盤的。如果覺得鍵盤比較舊,或者按鍵不好使,去華碩維修站更換時要收取費用的。具體費用請咨詢華碩工程師。在保修期內如果確實是因為硬體的原因導致鍵盤失靈,非人為情況下華碩是給與免費維修或者更換的。平時使用筆記本最好使用外接鍵盤。
㈡ 如何自己製作機械鍵盤
首先寫一部我對鍵盤的回憶錄,我真正開始接觸鍵盤算是08年的時候,那時候測測君還是一名純潔的大學生
想找個懂你的人傾訴?來soul,和你匹配,尋找有趣
廣告
,那時候買了第一把比較貴的鍵盤(以前買的30元一把的就不算了), 是薄膜鍵盤,當時根本就不知道鍵盤分什麼薄膜、機械的。連功能按鍵什麼的都是第一次接觸。完全看牌子買東西,所以我的第一把鍵盤是羅技的飆風手。
那時候買個200多的鍵盤還是很瘋狂的,不過當時根本就不知道什麼性能,就知道好看,帥,按鍵多。(現在才知道貌似這貨銷量一般)
不過後來才發現,多媒體鍵位比如說聽歌的只能換出官方的音樂播放器,其他的不行,不過好在雖然200多手感還是可以的。有手托蠻舒服的,不過那時候盛行玩dota,這個圓圓F按鍵實在不舒適,後來就被我第二把鍵盤取代了。
第二把鍵盤,dell8115,我相信老玩家很熟悉這款鍵盤,當年被稱為性價比最高的薄膜鍵盤,45大洋就能買到一把,手感可以比肩2.3百元的薄膜,其實因為薄膜鍵盤結構簡單,手感差異基本不大,這款鍵盤是一體機裡面附帶的,因為8115的鍵帽設置合理,所以當時基本上不算人手一把至少也都認識。
從這倆把鍵盤以後我開始慢慢的研究一些鍵盤文章和評測。後來知道打游戲的神器是機械鍵盤,但是當時的機械鍵盤貴的哇(錢也值錢),簡直了 一個月生活費能買一把都算不錯了,而且當時的國產機械還沒崛起,有的大多數質量也不夠放心,所以占時擱置了自己的買鍵盤的夢想。(像當年買個雙飛燕x7滑鼠還捉摸了2個月)所以一直想擁有一把屬於自己的機械鍵盤。
後來鍵盤的牌子越來越多,但是一直不知道買哪牌子?是原廠,還是上賊船。國產的幾個大牌,評價看似都很好。但選擇困難症的我真心不知道買啥。就這樣猶豫著猶豫著。後來終於發現了這么個東西-客制化!
認知篇
好了接下來開始切入今天正題。
給大家先解釋下客制化:客制化(customize),就是「定製化」的另一種翻譯,相當於「自定義」。客制化詞源於港台,大陸不經常使用。來自網路。
也就是說鍵盤客制化就是自己做一個~為什麼機械鍵盤可以客制化,沒聽說薄膜鍵盤可以做呢?那麼我就要給大家從機械鍵盤的軸開始講起。
其實機械鍵盤並不是什麼新鮮事物,機械鍵盤是一種鍵盤的類型,在鍵盤出現的早期就已經出現了機械鍵盤,只不過後來因為成本問題,逐漸被薄膜鍵盤所替代。但是還是有很多對使用的舒適度、手感、品質提出了更高的要求的人所認可。所以機械鍵盤也就流傳了下來。從結構來說,機械鍵盤的每一顆按鍵都有一個單獨的Switch(也就是開關)來控制閉合,這個開關也被稱為「軸」。正因為這種獨立開關的結構,也造就了可以客制化的可能性。隨著時間的行進,軸也出現了很多種。大家看下圖。
按照顏色區分以上四個軸都是很常用的軸體,可以按照壓力和觸發形式來選擇自己喜歡的軸體,黑軸和紅軸都是沒有段落感,茶軸和青軸有段落感,大家可以根據壓力指數選擇自己喜愛的軸體,如果簡單理解,黑軸適合極致的游戲、青軸屬於極致的打字感受。中間的紅茶屬於萬金油。
好介紹完了常規軸,一筆帶過稀有軸體。能被稱之為稀有軸體的軸,大多數是人們不常見到的。比如說綠軸、奶軸、深青軸、藍軸、灰軸等。都是些產量少的軸體,大多數是常用軸體的變形,比如增在同一個軸柱下換彈簧、或者換個軸體什麼的。
根據自己的喜好和感覺選擇軸體很重要,大家可以在淘寶把所有軸都買一遍試下手感,因為在大家測產品中也出現過好幾款機械鍵盤,所以我也漸漸清晰了我用那個軸體比較舒服。
工具准備篇
好了對軸體有印象以後,那麼我們要做鍵盤需要准備些什麼呢?
首先需要焊接工具。
分別是,螺絲刀、尖嘴鉗、烙鐵、焊錫、吸焊器、烙鐵架子、助焊劑、鑷子、撬棒。
焊錫、烙鐵不必說。吸焊器為了容錯。吸掉焊錯的地方,鑷子做一些精細的操作以及檢測pcb電路板。尖嘴鉗剪掉多餘的部分。助焊劑防止烙鐵金屬頭氧化。
產品准備
我這次買的分別是鋼板、外殼、分離器、PCB、鍵帽、軸體和燈珠。其實有些可以不買。只不過這明顯不能滿足我悶騷的心。所以我買了分離器,方便攜帶。買了燈珠,晃嚇眼睛!所以如果預算不足,或者無所謂了的人,可以燈珠。也能省下一部分的錢。
給大家一些特寫照片。
買的ABS透字鍵帽。鍵帽根據自己價格和感覺自行選擇。ABS和PBT都是好的選擇。根據自己的喜好即可。
買的冰藍燈 我的最愛~注意了大家,如果大家買了燈珠,鍵帽最好也要換成ABS透字鍵帽或者PBT透字鍵帽。要麼出來的效果不會太好。
還有這個東西我推薦大家買倆,這個是焊錫練習版,往孔洞焊接焊錫,等熟練了以後在進行焊接鍵盤的操作。
這是我練習的焊板,後面基本越來越好,就不練習了。
好准備工作其實就這些,看起來很難,其實都是選擇的問題,費腦子。蛋一定要准備齊全,要麼你做鍵盤做到一半少東西,那真是相當難受。
價格先不透露,在我寫完製作片以後再告訴大家。
製作篇
好那麼接下來就是緊張又充滿滿足感的鍵盤製作。
這次以帶鋼板(固定板)的教程為例。首先說下鋼板也就是固定板,因為軸體有一定高度,有彈簧行程的獨立按鍵,而一般我們買的是3腳軸體(按照初級製作來,還用不上五腳的)。這樣焊接以後特別是個人焊接,在加上電路板做工略薄,會比較容易發生碰撞導致脫落,所以用鋼板來加以固定。當然cherry有無鋼板按鍵來說明自己的pcb電路板做工優異焊接技術優異(民間粉絲說),更能提升軸體的使用感受(官方說)。
其實差距不大,沒有什麼可比性,就像有人喜歡紅色有人喜歡藍色,沒有什麼對錯。但是有鋼板和無鋼板的觸底回饋是不同的,鋼板觸底很有力,會聽到當的一聲。無鋼板的就會稍微弱一些,畢竟下面直接是電路板。根據個人喜好即可。不過帶鋼板可以更好固定軸體,比較適合新手焊接倒是真的,因為可以提前放在鍵盤上確定區域後成體焊接。下面咱們以帶鋼板的鍵盤為例。
好了因為使用的鋼板的固定方式,所以建議使用衛星軸,畢竟方便新手使用。卡扣形式,卡一下就好了,非常方便。
一般商家都會給你接好卡一下就行。注意這個金屬桿是放在鋼板下面。然後兩邊一按啪嗒一聲就安裝上了。
就是這個樣子。當然還有一種平衡桿的裝置,相比衛星軸來說平衡桿彈性更好,回饋感覺好,不會過多消耗軸體的力度。但是平衡桿難安裝難清潔,並且會晃,所以我推薦新手還是用衛星軸比較好。手感雖然會綿軟一些,但是後顧之憂比較少。
然後確認下電路板的情況
因為焊接以後無論哪家都是不退不換,所以再這之前需要測試每個電路是否都是通路,其實很簡單,用鑷子就可以完成,就是說你把你主板鏈接,然後插上電腦,用鑷子在兩孔直接做短路操作。然後這時候你下載一個KeyboardTest軟體,檢測下每個鍵位是不是好用,就可以繼續下一步了,還有燈口,很簡單把把你買的燈珠都插進去亮了就是好用的,不僅能檢查電路也能檢查燈珠可謂一石二鳥。最後提醒燈珠有正負,記得看pcb上面標識。
好了安裝上衛星軸以後 ,下面就是要確認一件比較重要的事了,就是確認軸體以及燈的分布,當然如果是做統一軸體鍵盤的同學可以略過這段不看,不過想做混軸的同學,就來看一下。燈也是一樣的。
就是這個東西。用畫圖標注下軸體分布和燈分布區域,然後按照區域焊接即可。很多人喜歡漸變色跑馬燈,可以直接去網上搜索跑馬燈漸變圖。我本身是全體冰藍燈所以我就不考慮燈的問題了,那麼接下來我就給大家看下我的軸體分布圖。
初次接觸製作鍵盤的我非常想做一把好鍵盤,所以我們看了好多混軸鍵盤的帖子想找到最佳的混軸配比,但是後來一位老手告訴我的,自己喜歡的就是最好的,所以我拋開了各種帖子最佳配比,配置了一套自己認為最適合自己的混軸配比。
那麼我來說明下為什麼這么配,esc奶軸,純屬為了玩玩,10元錢一個稀有軸純粹為了玩。f1~f12+右側9鍵位 tab和大寫按鍵 不常用,所以我一律用青軸。還有一個原因,可以防止誤操作,因為青軸獨特的段落感,如果按下去到一定行程是不觸發的,從某種意義來說可以防止誤操作。紅軸不必說,常用按鍵特別是37鍵位或者游戲可以涉及到的按鍵我都用紅軸,因為我的鍵盤功能性比較強,既要游戲也要辦公,所以紅軸放在常用按鍵位置。shift是放的黑軸,和大家解釋下原因,因為這兩個屬於大鍵位有衛星軸,如果用紅軸按鍵會變得綿軟,所以我上了比紅軸壓力系數大的黑軸來調節,這樣可以綜合黑軸的壓力系數。使用感受提升。退格鍵、回車鍵、空格鍵原理相同因為有了衛星軸,還是常用按鍵,但是這三個按鍵比較害怕誤操作,所以我用綠軸一種比青軸壓力系數更大但是有段落感的軸體。當然空格鍵用灰軸或者奶軸也是可以的。
好了接下來就可以焊接軸體了,因為有鋼板固定,卡主軸體以後,可以直接翻到背面去焊接,可以整體焊接完成後再做測試。
焊接完成後可以逐個按鍵做測試,而且要檢查焊接點有沒有虛焊。就是焊錫浮空,因為這個後期會造成按鍵不靈敏或者失靈的狀況發生,我第一次焊接按鍵就有大約4個按鍵失靈重新焊接後,好用了。
這里順帶說下,烙鐵的使用,現在的烙鐵溫度都可以做到450~480,但是本人不建議使用這種溫度,除非是那種很熟練的同學,可以在3~5秒保證一個焊點的完成,要麼可能會燒掉焊盤,那麼後面會非常麻煩如果不會處理整個電路板都會完蛋,所以建議大家溫度控制在300~350度左右,買好一點的焊錫絲,這樣可以非常的省時省力。
那麼接下來說下燈。
因為燈珠比較小容易竄位置,所以燈珠插在後面以後要折一下固定位置,方便焊接,記得焊接完成後,千萬不要急著把尾巴剪掉,先測試再剪掉,要麼容易導致燈珠尾巴過短廢掉燈珠。測試過後就可以蓋上鍵盤擰上螺絲蓋上鍵帽了。
這是我初步完成的鍵帽,用該照片結束製作篇。下面將進入對比和鍵帽篇。
對比篇
做了鍵盤肯定要對比一下啦~
都是主打紅軸那麼手感來說,確實cherryG80鍵盤手感純正一些,因為這款鍵盤是無鋼板的,所以打字很純正,也比較靜音。這里就要感謝@魅族科技了這是魅族科技送來的,還送了一套魅族的鍵帽,質量非常棒。而且樣式很復古,沒用功能按鍵標准104按鍵,也就是說該款鍵盤是碼字利器。而且用了這么長時間也證實了,該鍵盤的舒適以及實用度很高。
好了後面下一章純屬騷包了,大家可以越過。
鍵帽價格篇
他們都和我說,鍵盤便宜鍵帽貴,一如鍵帽深似海。。我現在是能體會到了,不過清醒的是我還比較有理性,所以總的來說價格還算接受的范圍之內吧。首先我買了2套白色鍵帽,因為原先的那套我不太喜歡。把大鍵位換掉,然後我換了37鍵位的藍色pbt字透鍵帽,看起來清爽一些,後來我定製了一顆ESC鍵帽,純屬為了玩。然後買了一套12星座abs字透,6鍵位表情字透和1個比卡丘鍵帽。哦忘記了還有我的回車鍵帽嘿嘿嘿。還有一個我買後悔了。。。就是金屬鍵帽,剛開始為了打游戲用,後來發現金屬鍵帽太沉了,我用的是紅軸本身彈簧就比較軟,會壓軟彈簧,所以提醒各位,不要亂動37鍵位區的鍵帽,特別是比較沉的金屬鍵帽。
還有我弄了個木托這樣逼格滿滿。
那麼接下來就是一個悲傷地故事了。。關於錢的問題。下圖都包含郵費。
總價錢接近1120,而且這個還不算工具的價格!!!這是一個悲傷地故事。。。不過我覺得很值就對了。。大家可以看出來,絕大部分錢花在了裝x上。so~如果自己隨便做一個鍵盤其實還是很便宜的。當然前提是不買鍵帽!
那麼接下來請各位鑒賞我的鍵盤美圖。這里感謝@徐黎俊GOUBA 幫忙拍攝
㈢ 筆記本鍵盤可以定做嗎我是惠普1014-tx的,買電腦時沒給,急,謝了!
可以,本人專門改裝、定做各位電器,昨天剛把別人的漢顯傳呼機改成了筆記本電腦,型號根據惠普1014-TX一樣一樣地,想找我請搜索呢稱「你傻啊」!
㈣ 外星人m15x怎麼設置鍵盤開機
想要設置外星人m15x鍵盤開機轉到boot改啟動項就行,不知道是哪一個的話找找有usb的那個,找到把它移動到第一個保存重啟就是了。㈤ 電腦怎麼設置用空格鍵開機
步驟1:重新啟動系統並按Del鍵不放直到進入主板BIOS設置界面,然後通過鍵盤上的方向鍵選中BIOS界面中的「Power Management Setup」菜單項,按回車進入。
步驟2:進入後找到「POWER ON Function」項並回車,在彈出的菜單中可看到有許多電源開啟方式,例如「Password」(密碼)、「Hot KEY」(熱鍵)、「Mouse Left」(滑鼠左鍵)、「Mouse Right」(滑鼠右鍵)及「Any KEY」(任意鍵)。
步驟3:現在假如要通過鍵盤上的「空格」鍵開機,那麼則要選中「Password」項並回車,這時將激活下面的「KB Power ON Password」項,選中該項並回車,這時要求在彈出的「Enter Password」對話框中輸入密碼,在這里「空格」就是開機密碼,因此敲擊鍵盤上的「1」。回車後,將會在出現的「Confirm Password」對話框中要求再次確認密碼,確認後按F10保存並退出BIOS即可。
按照以上方法設置後,只要按鍵盤上的「空格」鍵即可開機。要想一鍵開機,需要主板支持這項功能,不過目前的主板大都支持這項功能,另外,不同的主板可能設置方法與本例稍有不同,可參考進行設置。
㈥ 定製筆記本電腦鍵盤需要多少天
3天吧!。
㈦ 如果需要做一個定製化鍵盤(以外型為主)的創業,如何依靠代碼,在公司自有的設計
1.自定義數字鍵盤
2.切換到隨機數字鍵盤
3.自定義確定和刪除等鍵(向外拋出介面)
使用方法:
1.在項目build.gradle文件中添加jitpack,添加jitpcak就夠了。allprojects{undefinedrepositories{undefinedjcenter()maven{url'https://jitpack.io'}}}2.在mole的build.gradle文件添加依賴compile'com.github.Simon986793021:NumberKeyboard:v1.0Ɖ.在布局文件中添加布局android:id="@+id/keyboard_view"xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="wrap_content"android:focusable="true"android:paddingTop="0dp"android:focusableInTouchMode="true"android:keyBackground="@drawable/bg_keyboardview"android:keyPreviewOffset="0dp"android:keyTextColor="#000"android:shadowColor="#fff"android:shadowRadius="0.0"android:layout_alignParentBottom="true"/>4.在MainActivity調用。editText=(EditText)findViewById(R.id.et_numberplate);changebutton=(Button)findViewById(R.id.bt_change_keyboard);finalOfoKeyboardkeyboard=newOfoKeyboard(MainActivity.this);//獲取到keyboard對象changebutton.setOnClickListener(newView.OnClickListener(){undefined@OverridepublicvoidonClick(Viewv){undefinedkeyboard.attachTo(editText,true);//eiditext綁定keyboard,true表示隨機數字}});editText.setOnClickListener(newView.OnClickListener(){undefined@OverridepublicvoidonClick(Viewv){undefinedkeyboard.attachTo(editText,false);//eiditext綁定keyboard,false表示普通數字鍵盤}});/*確定按鈕*/keyboard.setOnOkClick(newOfoKeyboard.OnOkClick(){undefined@OverridepublicvoidonOkClick(){undefinedLog.i(">>>>>>","點擊了確定");Toast.makeText(MainActivity.this,editText.getText().toString(),Toast.LENGTH_SHORT).show();}});//隱藏鍵盤按鈕keyboard.setOnCancelClick(newOfoKeyboard.OnCancelClcik(){undefined@(){undefinedToast.makeText(MainActivity.this,"隱藏鍵盤",Toast.LENGTH_SHORT).show();}});只需要這些簡單的代碼就能夠實現一個自己定義的鍵盤了。實現過程1.新建一個keyboard布局在看這個代碼之前需要了解keyboard的屬性:不清楚屬性,怎麼畫頁面,不懂的請移步這篇博客在res新建一個xml文件,然後在xml新建一個keyboard.xml裡面代碼如下xmlns:android="http://schemas.android.com/apk/res/android"android:keyHeight="9%p"android:keyWidth="25%p"android:horizontalGap="0dp">android:codes="49"android:keyLabel="1"/>android:codes="50"android:keyLabel="2"/>android:codes="51"android:keyLabel="3"/>android:codes="-5"android:keyHeight="18%p"android:keyEdgeFlags="right"android:isRepeatable="true"android:keyIcon="@drawable/icon_delete_32dp"/>android:codes="52"android:keyLabel="4"/>android:codes="53"android:keyLabel="5"/>android:codes="54"android:keyLabel="6"/>android:codes="55"android:keyLabel="7"/>android:codes="56"android:keyLabel="8"/>android:codes="57"android:keyLabel="9"/>android:codes="-4"android:keyLabel="確定"android:keyEdgeFlags="right"android:keyHeight="18%p"/>android:codes="46"android:keyLabel="."/>android:codes="48"android:keyLabel="0"/>android:codes="-3"android:keyIcon="@drawable/icon_hide_keyboard"/>這個布局就是自己自定義鍵盤的布局實現,有了布局,顯然是不夠的。2.自定義KeyboardViewpackagecom.wind.keyboard;importandroid.content.Context;importandroid.graphics.Canvas;importandroid.graphics.Color;importandroid.graphics.Paint;importandroid.graphics.Rect;importandroid.graphics.Typeface;importandroid.graphics.drawable.Drawable;importandroid.inputmethodservice.Keyboard;importandroid.inputmethodservice.KeyboardView;importandroid.util.AttributeSet;importandroid.util.Log;importjava.lang.reflect.Field;importjava.util.List;/***Createdbyzhangcongon2017/8/24.*/{;privateKeyboardkeyboard;publicOfoKeyboardView(Contextcontext,AttributeSetattrs){undefinedsuper(context,attrs);this.context=context;Log.i(">>>>>","構造函數被調用了");}/***重新畫一些按鍵*/@OverridepublicvoidonDraw(Canvascanvas){undefinedsuper.onDraw(canvas);keyboard=this.getKeyboard();Listkeys=null;if(keyboard!=null){undefinedkeys=keyboard.getKeys();}if(keys!=null){undefinedfor(Keyboard.Keykey:keys){undefined//數字鍵盤的處理if(key.codes[0]==-4){undefineddrawKeyBackground(R.drawable.bg_keyboardview_yes,canvas,key);drawText(canvas,key);}}}}privatevoiddrawKeyBackground(intdrawableId,Canvascanvas,Keyboard.Keykey){undefinedDrawablenpd=context.getResources().getDrawable(drawableId);int[]drawableState=key.getCurrentDrawableState();if(key.codes[0]!=0){undefinednpd.setState(drawableState);}npd.setBounds(key.x,key.y,key.x+key.width,key.y+key.height);npd.draw(canvas);}privatevoiddrawText(Canvascanvas,Keyboard.Keykey){undefinedRectbounds=newRect();Paintpaint=newPaint();paint.setTextAlign(Paint.Align.CENTER);paint.setAntiAlias(true);paint.setColor(Color.WHITE);if(key.label!=null){undefinedStringlabel=key.label.toString();Fieldfield;if(label.length()>1&&key.codes.length<2){undefinedintlabelTextSize=0;try{undefinedfield=KeyboardView.class.getDeclaredField("mLabelTextSize");field.setAccessible(true);labelTextSize=(int)field.get(this);}catch(NoSuchFieldExceptione){undefinede.printStackTrace();}catch(IllegalAccessExceptione){undefinede.printStackTrace();}paint.setTextSize(labelTextSize);paint.setTypeface(Typeface.DEFAULT_BOLD);}else{undefinedintkeyTextSize=0;try{undefinedfield=KeyboardView.class.getDeclaredField("mLabelTextSize");field.setAccessible(true);keyTextSize=(int)field.get(this);}catch(NoSuchFieldExceptione){undefinede.printStackTrace();}catch(IllegalAccessExceptione){undefinede.printStackTrace();}paint.setTextSize(keyTextSize);paint.setTypeface(Typeface.DEFAULT);}paint.getTextBounds(key.label.toString(),0,key.label.toString().length(),bounds);canvas.drawText(key.label.toString(),key.x+(key.width/2),(key.y+key.height/2)+bounds.height()/2,paint);}elseif(key.icon!=null){undefinedkey.icon.setBounds(key.x+(key.width-key.icon.getIntrinsicWidth())/2,key.y+(key.height-key.icon.getIntrinsicHeight())/2,key.x+(key.width-key.icon.getIntrinsicWidth())/2+key.icon.getIntrinsicWidth(),key.y+(key.height-key.icon.getIntrinsicHeight())/2+key.icon.getIntrinsicHeight());key.icon.draw(canvas);}}}3.KeyBoard的對象的創建:packagecom.wind.keyboard;importandroid.app.Activity;importandroid.content.Context;importandroid.inputmethodservice.Keyboard;importandroid.inputmethodservice.KeyboardView;importandroid.os.Build;importandroid.text.Editable;importandroid.text.InputType;importandroid.util.Log;importandroid.view.View;importandroid.view.inputmethod.InputMethodManager;importandroid.widget.EditText;importjava.lang.reflect.Method;importjava.util.ArrayList;importjava.util.LinkedList;importjava.util.List;importjava.util.Random;/***Createdbyzhangcongon2017/8/28.*/publicclassOfoKeyboard{;privateKeyboardkeyboard;;privateEditTexteditText;privatebooleanisRandom=false;publicOfoKeyboard(Activityactivity){undefinedthis.activity=activity;keyboardView=(OfoKeyboardView)activity.findViewById(R.id.keyboard_view);}//點擊事件觸發publicvoidattachTo(EditTexteditText,booleanisRandom){undefined/*切換鍵盤需要重新newKeyboard對象,否則鍵盤不會改變,keyboardView放到構造函數裡面,避免每次點擊重新new對象,提高性能*/keyboard=newKeyboard(activity,R.xml.keyboard);this.isRandom=isRandom;Log.i(">>>>>","attachTo");this.editText=editText;hideSystemSofeKeyboard(activity,editText);showSoftKeyboard();}privatevoidshowSoftKeyboard(){undefinedif(keyboard==null){undefinedkeyboard=newKeyboard(activity,R.xml.keyboard);}if(keyboardView==null){undefinedkeyboardView=(OfoKeyboardView)activity.findViewById(R.id.keyboard_view);}if(isRandom){undefinedrandomKeyboardNumber();}else{undefinedkeyboardView.setKeyboard(keyboard);}keyboardView.setEnabled(true);keyboardView.setPreviewEnabled(false);keyboardView.setVisibility(View.VISIBLE);keyboardView.setOnKeyboardActionListener(listener);}privateKeyboardView.=newKeyboardView.OnKeyboardActionListener(){undefined@OverridepublicvoidonPress(intprimaryCode){undefined}@OverridepublicvoidonRelease(intprimaryCode){undefined}@OverridepublicvoidonKey(intprimaryCode,int[]keyCodes){undefinedEditableeditable=editText.getText();intstart=editText.getSelectionStart();if(primaryCode==Keyboard.KEYCODE_DELETE)//keycodes為-5{undefinedif(editable!=null&&editable.length()>0){undefinedif(start>0){undefinededitable.delete(start-1,start);}}}elseif(primaryCode==Keyboard.KEYCODE_CANCEL){undefinedhideKeyBoard();if(mCancelClick!=null){undefinedmCancelClick.onCancelClick();}}elseif(primaryCode==Keyboard.KEYCODE_DONE){undefinedhideKeyBoard();if(mOkClick!=null){undefinedmOkClick.onOkClick();}}else{undefinedLog.i(">>>>>>",primaryCode+"1");Log.i(">>>>>>",(char)primaryCode+"2");editable.insert(start,Character.toString((char)primaryCode));}}@OverridepublicvoidonText(CharSequencetext){undefined}@OverridepublicvoidswipeLeft(){undefined}@OverridepublicvoidswipeRight(){undefined}@OverridepublicvoidswipeDown(){undefined}@OverridepublicvoidswipeUp(){undefined}};publicinterfaceOnOkClick{undefinedvoidonOkClick();}publicinterfaceOnCancelClcik{undefinedvoidonCancelClick();}publicOnOkClickmOkClick;;publicvoidsetOnOkClick(OnOkClickonOkClick){undefinedthis.mOkClick=onOkClick;}publicvoidsetOnCancelClick(OnCancelClcikonCancelClick){undefinedthis.mCancelClick=onCancelClick;}privatevoidhideKeyBoard(){undefinedintvisibility=keyboardView.getVisibility();if(visibility==KeyboardView.VISIBLE){undefinedkeyboardView.setVisibility(KeyboardView.GONE);}}privatebooleanisNumber(Stringstr){undefinedStringwordstr="0123456789";returnwordstr.contains(str);}(){undefinedListkeyList=keyboard.getKeys();//查找出0-9的數字鍵ListnewkeyList=newArrayList();for(inti=0;i