原創 鍵盤對映

2021-08-29 06:03:19 字數 3721 閱讀 7337

鍵盤對映(按鍵連續操作)

對映是指按住鍵後程式連續操作。

而讀鍵是指按一次鍵程式操作。

原理:每一行對映的數值是和二進位制有關的,文曲行將鍵盤對映從上倒下那一行的按鍵被按下用0/1表示,1表示沒被按下,0表示被按下,這就是為什麼平時記憶體對映的值都是255的原因了,也就是說,當最下面一排的按鍵中有鍵被按下,則對應對映變為01111111就是127,當倒數第二排的按鍵被按下,則對映變為10111111就是191,當不在同一排的按鍵同時被按下時(同一對映區的),則處理法則也相同,即同時由1變成0如[符號][b|1][g|4][t|7]鍵被同時按下時,對映變為00000111就是7。其他以此類推。如果不是同一行的,且不屬於同乙個對映,則單獨算就是了!

如:if peek(188)=127 then gosub 200

就是指若按住向左鍵不放則連續執行200行的子程式。

括號內的是下表的豎行上對應的數字,所等於的值是下表橫行上對應的數字。

nc1020鍵盤對映詳表 :

██127---191--123--239--247---251

188 左---上頁---k----i---右-----?

189 =------m----j----u---下頁---?

190 。-----n----h----y---輸入--發音

191 符號---b----g----t----p----報時

192 跳出---v----f----r---下-----f4

193 輸入法-c----d----e---上-----f3

194 中英數-x----s----w----l-----f2

195 求助---z----a----q----o-----f1

這個表是有規律的,127豎行對應文曲星鍵盤最底下一行的鍵,

191豎行對應倒數第二行,223對應倒數三行,239對應倒數四行,247

每行剩下的鍵,251最右邊一豎排鍵。?指沒查到。

10 x=76:y=44

20 if peek(193)=247 goto 70

30 if peek(192)=247 goto 120

40 if peek(188)=247 goto 170

50 if peek(188)=127 goto 220

60 beep :goto 20

70 circle x,y,4,1,0

80 y=y-1

90 if y〈 1 then y=y+80

100 circle x,y,4,1,1

110 goto 20

120 circle x,y,4,1,0

130 y=y+1

140 if y〉79 then y=y-80

150 circle x,y,4,1,1

160 goto 20

170 circle x,y,4,1,0

180 x=x+1

190 if x〉159 then x=x-160

200 circle x,y,4,1,1

210 goto 20

220 circle x,y,4,1,0

230 x=x-1

240 if x〈 1then x=x+160

250 circle x,y,4,1,1

260 goto 20

這樣就可以通過方向鍵對映來連續控制這個小黑圓移動了。

只要對映值的橫縱兩個值均不相等,就可以同時對映,

文曲星最多可同時對映6個鍵。

就是你同時按下6個鍵都會有反應。

再轉乙個帖說明一下:

[**]螢幕動畫控制示例

1 cls:graph:print "螢幕動畫控制示例":locate 3,10 :print "製作:追風":locate

4,10

10 print "鳴謝:lp":b$=inkey$:cls

20 xz=2 :xy=14 :xsd=8 :yzy=6 :ys=4 :yd=12 :n=0 :ex=176 :ey=76 :circle ex,ey,4

25 circle ex,ey,2,0,0 :xzz=xz :yzyy=yzy :xyy=xy :ydd=yd :yss=ys :xsdd=xsd

30 circle xz,yzy,2,1 :circle xy,yzy,2,1 :circle xsd,ys,2,1 :circle xsd,yd,4,1

40 for i=1 to 2 step 0 :n=0

50 if peek(195)=247 then gosub 60

51 if peek(196)=247 then gosub 70

52 if peek(191)=127 then gosub 80

53 if peek(191)=247 then gosub 90

54 if peek(199)=155 then poke 199,155

55 if n>0 then 123 else 140

60 yzyy=yzyy+4-(yzyy>=70)*4 :yss=yss+4-(yss>=68)*4 :ydd=ydd+4-(ydd>=76)

*4 :n=1 :return

70 yzyy=yzyy-4+(yzyy<=6)*4 :yss=yss-4+(yss<=4)*4 :ydd=ydd-4+(ydd<=12)

*4 :n=1 :return

80 xzz=xzz-4+(xzz<=2)*4 :xyy=xyy-4+(xyy<=14)*4:xsdd=xsdd-4+(xsdd<=8)

*4 :n=1 :return

90 xyy=xyy+4-(xyy>=158)*4 :xzz=xzz+4-(xzz>=146)*4 :xsdd=xsdd+4-(xsdd>=152)

*4 :n=1 :return

123 circle xz,yzy,2,1,0 :circle xy,yzy,2,1,0

125 circle xsd,ys,2,1,0 :circle xsd,yd,4,1,0

126 xz=xzz :yzy=yzyy :xy=xyy :yd=ydd :ys=yss :xsd=xsdd

130 circle xz,yzy,2,1 :circle xy,yzy,2,1 :circle xsd,ys,2,1 :circle xsd,yd,4,1

140 exd=0 :eyd=0 :fx=int(rnd(8)*2)

150 while exd=0 and eyd=0

160 if ex>xsd and fx=0 then exd=-4

170 fx=int(rnd(9)*2)

180 if exyd and fx=1 then eyd=-4

210 fx=int(rnd(1)*2)

220 if ey225 if ex=xsd and ey=yd then 280

226 if abs(int(ex-xsd))<4 and abs(int(ey-yd))<4 then 280

230 fx=int(rnd(11)*2):wend

245 circle ex,ey,4,1,0

250 ex=ex+exd :ey=ey+eyd

260 circle ex,ey,4,1 :circle ex,ey,2,0,0 :goto 300

280 beep:cls:print "game over":b$=inkey$

290 end

VIM鍵盤對映

使用 map命令,可以將鍵盤上的某個按鍵與vim的命令繫結起來。例如使用以下命令,可以通過f5鍵將單詞用花括號括起來 map i其中 i增加字元 最後退至命令狀態。在執行以上命令之後,游標定位在乙個單詞上 例如amount 按下f5鍵,這時字元就會變成的形式。使用下表中不同形式的map命令,可以針對...

Android鍵盤對映

對於按鍵事件,android呼叫 mdevices i layoutmap map 進行對映。對映實際是由 keylayoutmap map完成的,keylayoutmap類裡讀取配置檔案qwerty.kl,由配置 檔案 qwerty.kl 決定鍵值的對映關係。你可以通過修 改.developmen...

Android鍵盤對映

對於按鍵事件,android呼叫 mdevices i layoutmap map 進行對映。對映實際是由 keylayoutmap map完成的,keylayoutmap類裡讀取配置檔案qwerty.kl,由配置 檔案 qwerty.kl 決定鍵值的對映關係。你可以通過修 改.developmen...