`
javatar
  • 浏览: 1682417 次
  • 性别: Icon_minigender_1
  • 来自: 杭州699号
社区版块
存档分类
最新评论

[原创]键盘映射

阅读更多
键盘映射(按键连续操作)
映射是指按住键后程序连续操作。
而读键是指按一次键程序操作。

原理:每一行映射的数值是和二进制有关的,文曲行将键盘映射从上倒下那一行的按键被按下用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,10RINT "制作:追风":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 EX<XSD AND FX=0 THEN EXD=4
190 FX=INT(RND(2)*2)
200 IF EY>YD AND FX=1 THEN EYD=-4
210 FX=INT(RND(1)*2)
220 IF EY<YD AND FX=1 THEN EYD=4
225 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

 
分享到:
评论

相关推荐

    键盘控制鼠标移动

    一个代替笔记本触摸板的小程序 可以用键盘上下左右键控制鼠标移动 绝对原创

    【原创】Ye's ProE映射键全套分享(ProE快捷键大全,附布局表格和代码,ProE快捷键设置经验)不妨一看

    【原创】Ye's ProE全套通用映射键分享(ProE快捷键大全,200多个,功能独特,ProE2.0/3.0/4.0通用)附直观布局表格和代码,及ProE快捷键设置经验,不妨一看 本套ProE映射键布局针对情况为:主要用零件、组装,少量...

    【原创】ProE全套通用快捷键,不妨一看

    本套ProE映射键布局针对情况为:主要用零件、组装,少量钣金、工程图,常用基本建模、拔模、测量、剖面,由此出发,参阅多份前人的映射键布局设置,经若干次修改而成。文件包括一份布局表格,一份代码(两百余映射键...

    EZKeyRemapper:直接从 Arduino 重新映射 Adafruit Bluefruit EZKey

    看我的原创文章: 修订 2014-03-22 0.00 allenh - 基于 EZKeyDemo 源创建。 2014-03-26 0.01 allenh - 清理代码。 2015-02-14 0.02 allenh - 添加一些“const”以使其使用 1.6.0 构建。 档案 README.md - 这个...

    vc++ 应用源码包_1

    MyPhpServer(原创,有实现的主要代码) microcai-ibus-t9-输入法源码 如题,主要源码就几个,详细见代码。 MzfHips主动防御 主要在MzfHipsDlg中,程序分析进程数据、驱动数据、注册表数据从而实现主动防御。 超级...

    vc++ 应用源码包_2

    MyPhpServer(原创,有实现的主要代码) microcai-ibus-t9-输入法源码 如题,主要源码就几个,详细见代码。 MzfHips主动防御 主要在MzfHipsDlg中,程序分析进程数据、驱动数据、注册表数据从而实现主动防御。 超级...

    vc++ 应用源码包_6

    MyPhpServer(原创,有实现的主要代码) microcai-ibus-t9-输入法源码 如题,主要源码就几个,详细见代码。 MzfHips主动防御 主要在MzfHipsDlg中,程序分析进程数据、驱动数据、注册表数据从而实现主动防御。 超级...

    vc++ 应用源码包_5

    MyPhpServer(原创,有实现的主要代码) microcai-ibus-t9-输入法源码 如题,主要源码就几个,详细见代码。 MzfHips主动防御 主要在MzfHipsDlg中,程序分析进程数据、驱动数据、注册表数据从而实现主动防御。 超级...

    vc++ 应用源码包_3

    MyPhpServer(原创,有实现的主要代码) microcai-ibus-t9-输入法源码 如题,主要源码就几个,详细见代码。 MzfHips主动防御 主要在MzfHipsDlg中,程序分析进程数据、驱动数据、注册表数据从而实现主动防御。 超级...

    vc++ 开发实例源码包

    MyPhpServer(原创,有实现的主要代码) 如题。 microcai-ibus-t9-输入法源码 如题,主要源码就几个,详细见代码。 MzfHips主动防御 主要在MzfHipsDlg中,程序分析进程数据、驱动数据、注册表数据从而实现主动防御。 ...

Global site tag (gtag.js) - Google Analytics