`
javatar
  • 浏览: 1700333 次
  • 性别: 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映射键布局针对情况为:主要用零件、组装,少量...

    KeyMouse_键盘鼠标(4-5键完成一次点击)&lt;原创&gt;

    这可能是因为任务管理器有特殊的输入处理机制,导致KeyMouse的键盘映射功能失效。开发者鼓励用户如果遇到这个问题或者有其他问题,积极向他们反馈,共同推动软件的改进和优化。 【标签】"键盘鼠标 KeyMouse"明确...

    3C包裹改键(超好用)原创

    在这个项目中,"3C包裹改键(超好用)原创"是由易语言编写的,这意味着开发者使用了易语言的语法和库来实现键盘事件的捕获、处理和重新映射。 改键功能在游戏领域中非常常见,它允许玩家将游戏内的特定操作绑定到...

    VC+SDL+OpenGL例子(原创).rar

    【标题】"VC+SDL+OpenGL例子(原创).rar" 提供的是一个使用Microsoft Visual C++(VC++)集成开发环境,结合Simple DirectMedia Layer(SDL)库和OpenGL图形库的编程示例。这个压缩包可能包含了一个或多个源代码文件...

    (原创)在gvim中实现基于Everything SDK的极速搜索

    这个插件可能包含了一些函数和映射,使得用户可以通过简单的键盘快捷键或命令在GVim内部启动搜索,并将搜索结果展示或操作。 具体的知识点可能包括: 1. GVim的自定义配置:如何修改_vimrc文件,添加或修改脚本以...

    俄罗斯方块(VC++)(原创)

    在这个项目中,玩家的键盘输入(如上下左右移动)被捕捉并转化为相应的方块操作,这涉及到消息队列和消息映射的使用。 2. **图形绘制**:C++的GDI(Graphics Device Interface)库用于在屏幕上绘制方块和游戏界面。...

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

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

    原创3D游戏引擎源代码

    DirectX 3D部分包含了绘制3D图形所需的函数,如顶点处理、光照计算、纹理映射以及渲染管线等。开发者需要深入理解图形学原理,如向量数学、矩阵运算和空间变换,才能有效地利用DirectX 3D。 源代码的学习价值在于,...

    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 - 这个...

    二战英豪--enigma(英格玛)密码机源代码

    反射器则负责将字母再次映射,确保加密过程的非对称性。插板允许用户自定义字母之间的连接,增加了密码的复杂性。 在Java实现中,我们可以看到如`Rotor.class`、`Reflector.class`和`PlugBoard.class`这样的文件,...

    migong.rar_vc++6.0编写游戏_vc6.0编小

    通过消息映射机制,将键盘消息与处理函数关联起来。 在编译和运行阶段,VC++6.0提供了调试工具,可以帮助我们查找并修复代码中的错误。通过设置断点、观察变量、单步执行等,可以理解游戏逻辑的运行过程。 总的来...

    三维DEM显示

    4. **颜色映射**:为了视觉效果,不同的高程通常会映射到不同的颜色,这需要设置色阶和颜色映射函数。 5. **Direct3D渲染**:利用Direct3D的API,将3D网格模型和颜色信息提交到GPU进行渲染。这包括设置视口、投影...

    桌面型串联关节式机器人示教仿真软件开发毕业设计论文.doc

    正向运动学是从关节变量到末端执行器位置的映射,而逆向运动学则是从目标位置到关节变量的求解。 2. **机器人控制算法**:设计和实现控制算法,使机器人能够根据预设路径精确地移动。这可能包括PID控制器、轨迹规划...

    nes模拟器(中文版)

    3. **操作设置**:模拟器支持自定义按键映射,允许玩家根据个人习惯设置游戏控制器的按键,无论是键盘还是手柄都能轻松适应。 4. **存档/读档**:nes模拟器提供即时存档和读档功能,玩家可以随时保存游戏进度,避免...

    山东大学2017计算机组成与设计试题.rar

    而《版权说明.txt》文件则可能是对试题资料使用的法律条款和限制的说明,强调了学术诚信和知识产权的重要性,提醒使用者尊重原创,合理合法地使用这份资源。 总的来说,这份资料对于准备计算机组成原理考试或增强...

    实验内容及原理图.pdf

    实验的核心是通过编程控制单片机的I/O端口来实现特定功能,例如闪烁灯、模拟开关灯、按键识别、流水灯设计以及进一步的扩展实验如A/D转换、D/A转换、4x4矩阵键盘、8*8点阵、乐曲播放、温度采集和步进电机控制等。...

    vc++6 游戏编程

    通过Direct3D,你可以控制渲染管道,包括顶点处理、光照、纹理映射和视图投影等,以生成逼真的视觉效果。 2. **DirectInput**:处理游戏设备输入,如键盘、鼠标和游戏控制器。这使得游戏可以响应玩家的操作,提供...

    doc命令集合

    这些命令是用户在没有图形用户界面(GUI)的情况下,通过键盘输入命令来执行任务的基础工具。 描述中提到“千个DOS命令”,这意味着这份资源可能非常详尽,涵盖了DOS操作系统的大部分常用和不常用的命令。虽然这些...

Global site tag (gtag.js) - Google Analytics