[原创]键盘映射
[原创]键盘映射
最新推荐文章于 2025-08-19 09:27:12 发布
最新推荐文章于 2025-08-19 09:27:12 发布
·
3.1k 阅读
·
1
·
3
文章标签:
#F#
#J#
文曲星8位板子编程
专栏收录该内容
19 篇文章
订阅专栏
键盘映射(按键连续操作) 映射是指按住键后程序连续操作。 而读键是指按一次键程序操作。 原理:每一行映射的数值是和二进制有关的,文曲行将键盘映射从上倒下那一行的按键被按下用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 EX