您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页SDL系列讲解(十) 按键处理流程

SDL系列讲解(十) 按键处理流程

来源:二三娱乐

代码剖析

按键消息处理,路径比较简单,就是我们Android上面的SurfaceView的onKey方法处理,使用 onNativeKeyDown 或者onNativeKeyUp将按键消息传递到c代码中,c代码接收到按键事件,使用TranslateKeycode方法,将android的按键映射成SDL的扫描码(SDL_scancode.h)

,同时使用keyboard->keymap[scancode]拿到扫描码对应的SDL按键值,具体在SDL_default_keymap[SDL_NUM_SCANCODES]存储。

按键值都在这里SDL_keycode.h, 然后填充一个SDL_Event联合体,按照key结构体去填写, 具体为:
这里type的值为SDL_KEYDOWN 或者 SDL_KEYUP

state的值为SDL_PRESSED 或者 SDL_RELEASED
repeat 存储是否重复按键
keysym.scancode 存储扫描码,这个取值在SDL_scancode.h,比如 :SDL_SCANCODE_AC_BACK
keysym.sym 存储按键值:这个取值在SDL_keycode.h 比如:SDLK_AC_BACK
keysym.mod 存储特殊键,处理组合键使用
windowID存储focus窗口值

演示代码

修改main.c


然后我们安装到手机上测试,查看log可以看到输出结果。


可以看到按键信息。

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务