想用SDL的按键检测,网上找了半天都没找到SDL中按键的值的定义,索性自己去看头文件,在SDL_keysym.h中。

  其实很多键的值和它们的ASCII码是相同的。

  其他更多的用法,可以参考这篇博客:http://blog.chinaunix.net/uid-28482676-id-3444915.html/

typedef enum {
/** @name ASCII mapped keysyms
* The keyboard syms have been cleverly chosen to map to ASCII
*/
/*@{*/
SDLK_UNKNOWN = ,
SDLK_FIRST = ,
SDLK_BACKSPACE = ,
SDLK_TAB = ,
SDLK_CLEAR = ,
SDLK_RETURN = ,
SDLK_PAUSE = ,
SDLK_ESCAPE = ,
SDLK_SPACE = ,
SDLK_EXCLAIM = ,
SDLK_QUOTEDBL = ,
SDLK_HASH = ,
SDLK_DOLLAR = ,
SDLK_AMPERSAND = ,
SDLK_QUOTE = ,
SDLK_LEFTPAREN = ,
SDLK_RIGHTPAREN = ,
SDLK_ASTERISK = ,
SDLK_PLUS = ,
SDLK_COMMA = ,
SDLK_MINUS = ,
SDLK_PERIOD = ,
SDLK_SLASH = ,
SDLK_0 = ,
SDLK_1 = ,
SDLK_2 = ,
SDLK_3 = ,
SDLK_4 = ,
SDLK_5 = ,
SDLK_6 = ,
SDLK_7 = ,
SDLK_8 = ,
SDLK_9 = ,
SDLK_COLON = ,
SDLK_SEMICOLON = ,
SDLK_LESS = ,
SDLK_EQUALS = ,
SDLK_GREATER = ,
SDLK_QUESTION = ,
SDLK_AT = ,
/*
Skip uppercase letters
*/
SDLK_LEFTBRACKET = ,
SDLK_BACKSLASH = ,
SDLK_RIGHTBRACKET = ,
SDLK_CARET = ,
SDLK_UNDERSCORE = ,
SDLK_BACKQUOTE = ,
SDLK_a = ,
SDLK_b = ,
SDLK_c = ,
SDLK_d = ,
SDLK_e = ,
SDLK_f = ,
SDLK_g = ,
SDLK_h = ,
SDLK_i = ,
SDLK_j = ,
SDLK_k = ,
SDLK_l = ,
SDLK_m = ,
SDLK_n = ,
SDLK_o = ,
SDLK_p = ,
SDLK_q = ,
SDLK_r = ,
SDLK_s = ,
SDLK_t = ,
SDLK_u = ,
SDLK_v = ,
SDLK_w = ,
SDLK_x = ,
SDLK_y = ,
SDLK_z = ,
SDLK_DELETE = ,
/* End of ASCII mapped keysyms */
/*@}*/ /** @name International keyboard syms */
/*@{*/
SDLK_WORLD_0 = , /* 0xA0 */
SDLK_WORLD_1 = ,
SDLK_WORLD_2 = ,
SDLK_WORLD_3 = ,
SDLK_WORLD_4 = ,
SDLK_WORLD_5 = ,
SDLK_WORLD_6 = ,
SDLK_WORLD_7 = ,
SDLK_WORLD_8 = ,
SDLK_WORLD_9 = ,
SDLK_WORLD_10 = ,
SDLK_WORLD_11 = ,
SDLK_WORLD_12 = ,
SDLK_WORLD_13 = ,
SDLK_WORLD_14 = ,
SDLK_WORLD_15 = ,
SDLK_WORLD_16 = ,
SDLK_WORLD_17 = ,
SDLK_WORLD_18 = ,
SDLK_WORLD_19 = ,
SDLK_WORLD_20 = ,
SDLK_WORLD_21 = ,
SDLK_WORLD_22 = ,
SDLK_WORLD_23 = ,
SDLK_WORLD_24 = ,
SDLK_WORLD_25 = ,
SDLK_WORLD_26 = ,
SDLK_WORLD_27 = ,
SDLK_WORLD_28 = ,
SDLK_WORLD_29 = ,
SDLK_WORLD_30 = ,
SDLK_WORLD_31 = ,
SDLK_WORLD_32 = ,
SDLK_WORLD_33 = ,
SDLK_WORLD_34 = ,
SDLK_WORLD_35 = ,
SDLK_WORLD_36 = ,
SDLK_WORLD_37 = ,
SDLK_WORLD_38 = ,
SDLK_WORLD_39 = ,
SDLK_WORLD_40 = ,
SDLK_WORLD_41 = ,
SDLK_WORLD_42 = ,
SDLK_WORLD_43 = ,
SDLK_WORLD_44 = ,
SDLK_WORLD_45 = ,
SDLK_WORLD_46 = ,
SDLK_WORLD_47 = ,
SDLK_WORLD_48 = ,
SDLK_WORLD_49 = ,
SDLK_WORLD_50 = ,
SDLK_WORLD_51 = ,
SDLK_WORLD_52 = ,
SDLK_WORLD_53 = ,
SDLK_WORLD_54 = ,
SDLK_WORLD_55 = ,
SDLK_WORLD_56 = ,
SDLK_WORLD_57 = ,
SDLK_WORLD_58 = ,
SDLK_WORLD_59 = ,
SDLK_WORLD_60 = ,
SDLK_WORLD_61 = ,
SDLK_WORLD_62 = ,
SDLK_WORLD_63 = ,
SDLK_WORLD_64 = ,
SDLK_WORLD_65 = ,
SDLK_WORLD_66 = ,
SDLK_WORLD_67 = ,
SDLK_WORLD_68 = ,
SDLK_WORLD_69 = ,
SDLK_WORLD_70 = ,
SDLK_WORLD_71 = ,
SDLK_WORLD_72 = ,
SDLK_WORLD_73 = ,
SDLK_WORLD_74 = ,
SDLK_WORLD_75 = ,
SDLK_WORLD_76 = ,
SDLK_WORLD_77 = ,
SDLK_WORLD_78 = ,
SDLK_WORLD_79 = ,
SDLK_WORLD_80 = ,
SDLK_WORLD_81 = ,
SDLK_WORLD_82 = ,
SDLK_WORLD_83 = ,
SDLK_WORLD_84 = ,
SDLK_WORLD_85 = ,
SDLK_WORLD_86 = ,
SDLK_WORLD_87 = ,
SDLK_WORLD_88 = ,
SDLK_WORLD_89 = ,
SDLK_WORLD_90 = ,
SDLK_WORLD_91 = ,
SDLK_WORLD_92 = ,
SDLK_WORLD_93 = ,
SDLK_WORLD_94 = ,
SDLK_WORLD_95 = , /* 0xFF */
/*@}*/ /** @name Numeric keypad */
/*@{*/
SDLK_KP0 = ,
SDLK_KP1 = ,
SDLK_KP2 = ,
SDLK_KP3 = ,
SDLK_KP4 = ,
SDLK_KP5 = ,
SDLK_KP6 = ,
SDLK_KP7 = ,
SDLK_KP8 = ,
SDLK_KP9 = ,
SDLK_KP_PERIOD = ,
SDLK_KP_DIVIDE = ,
SDLK_KP_MULTIPLY = ,
SDLK_KP_MINUS = ,
SDLK_KP_PLUS = ,
SDLK_KP_ENTER = ,
SDLK_KP_EQUALS = ,
/*@}*/ /** @name Arrows + Home/End pad */
/*@{*/
SDLK_UP = ,
SDLK_DOWN = ,
SDLK_RIGHT = ,
SDLK_LEFT = ,
SDLK_INSERT = ,
SDLK_HOME = ,
SDLK_END = ,
SDLK_PAGEUP = ,
SDLK_PAGEDOWN = ,
/*@}*/ /** @name Function keys */
/*@{*/
SDLK_F1 = ,
SDLK_F2 = ,
SDLK_F3 = ,
SDLK_F4 = ,
SDLK_F5 = ,
SDLK_F6 = ,
SDLK_F7 = ,
SDLK_F8 = ,
SDLK_F9 = ,
SDLK_F10 = ,
SDLK_F11 = ,
SDLK_F12 = ,
SDLK_F13 = ,
SDLK_F14 = ,
SDLK_F15 = ,
/*@}*/ /** @name Key state modifier keys */
/*@{*/
SDLK_NUMLOCK = ,
SDLK_CAPSLOCK = ,
SDLK_SCROLLOCK = ,
SDLK_RSHIFT = ,
SDLK_LSHIFT = ,
SDLK_RCTRL = ,
SDLK_LCTRL = ,
SDLK_RALT = ,
SDLK_LALT = ,
SDLK_RMETA = ,
SDLK_LMETA = ,
SDLK_LSUPER = , /**< Left "Windows" key */
SDLK_RSUPER = , /**< Right "Windows" key */
SDLK_MODE = , /**< "Alt Gr" key */
SDLK_COMPOSE = , /**< Multi-key compose key */
/*@}*/ /** @name Miscellaneous function keys */
/*@{*/
SDLK_HELP = ,
SDLK_PRINT = ,
SDLK_SYSREQ = ,
SDLK_BREAK = ,
SDLK_MENU = ,
SDLK_POWER = , /**< Power Macintosh power key */
SDLK_EURO = , /**< Some european keyboards */
SDLK_UNDO = , /**< Atari keyboard has Undo */
/*@}*/ /* Add any other keys here */ SDLK_LAST
} SDLKey;

SDL中按键对应的值的更多相关文章

  1. zigbee学习:示例程序SampleApp中按键工作流程

    zigbee学习:示例程序SampleApp中按键工作流程 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN7 开发环境:IAR8. ...

  2. 使用JS,获取URL中指定参数的值

    /** * 获取URL中指定参数的值 * * @param name 参数名称 * @returns */ function getQueryString(name) { var reg = new ...

  3. 取出session中的所有属性与值的方法

    如果你想取出session中所有的属性和值,可以通过getAttributeNames()方法来实现,具体代码如下 //获取session HttpSession session = request. ...

  4. php usort 按照数组中的某个键值排序

    //php usort 按照数组中的某个键值排序 如果第一个参数小于第二个参数 -> 返回小于0的整数如果第一个参数等于于第二个参数 -> 返回等于0的整数如果第一个参数大于于第二个参数 ...

  5. 更改mysql中当前auto_increment的值的方法

    最近给自己网站更改mysql中当前auto_increment的值 如果在mysql中一个表test中的ID字段设为auto_increment插入两条记录后ID=2,这时删除1条记录,再插入一条变成 ...

  6. 关于Oracle中查询的数字值的显示格式需要保留小数点后两位(或者三位,及其他位数)

    关于Oracle中查询的数字值的显示格式需要保留小数点后两位(或者三位,及其... 方法一:使用to_char的fm格式,即: to_char(round(data.amount,2),'FM9999 ...

  7. mysql中数据类型的取值范围

    mysql整型bigint.int.mediumint.smallint 和 tinyint的语法介绍,如下: 1.bigint 从 -2^63 (-9223372036854775808) 到 2^ ...

  8. Linq 中按照多个值进行分组(GroupBy)

    Linq 中按照多个值进行分组(GroupBy) .GroupBy(x => new { x.Age, x.Sex }) group emp by new { emp.Age, emp.Sex ...

  9. [CareerCup] 17.4 Maximum of Two Numbers 两数中的较大值

    17.4 Write a method which finds the maximum of two numbers. You should not use if-else or any other ...

随机推荐

  1. 使用hql动态创建对象问题

    前段时间由于需求要添加报表数据,调整ireport后,打印pdf文件出现数据错位的情况,调试发现不是ireport问题,就查看了后台传送的数据,最后发现传送的对象属性值已经就是错位的,那就是获取对象时 ...

  2. 【opencv实践】边缘检测

    边缘检测: 一.canny算子 Canny边缘检测根据对信噪比与定位乘积进行测度,得到最优化逼近算子,也就是Canny算子.类似与 LoG 边缘检测方法,也属于先平滑后求导数的方法. 二.canny算 ...

  3. Java SE之快速失败(Fast-Fail)与快速安全(Fast-Safe)的区别[集合与多线程/增强For](彻底详解)

    声明 特点:基于JDK源码进行分析. 研究费时费力,如需转载或摘要,请显著处注明出处,以尊重劳动研究成果:博客园 - https://www.cnblogs.com/johnnyzen/p/10547 ...

  4. PHP数组函数详解大全

    一.数组操作的基本函数 数组的键名和值 array_values($arr);获得数组的值 array_keys($arr);获得数组的键名 array_flip($arr);数组中的值与键名互换(如 ...

  5. vue生命周期的理解

    我从官网上下载了一张vue生命周期的图,接下来实际分析一波vue到底执行了什么东西. 1.我们在使用vue时必不可少的操作就是 var vm = new Vue({}),这样我们就创建了一个vue的实 ...

  6. 优化算法:AdaGrad | RMSProp | AdaDelta | Adam

    0 - 引入 简单的梯度下降等优化算法存在一个问题:目标函数自变量的每一个元素在相同时间步都使用同一个学习率来迭代,如果存在如下图的情况(不同自变量的梯度值有较大差别时候),存在如下问题: 选择较小的 ...

  7. Charles+iPhone配置ssl证书

    Charles+iPhone配置ssl证书 一.手机 1. 配置代理 设置->无线局域网->选和电脑同一网络的无线->配置代理->手动 服务器配置电脑的IP,端口设置为8888 ...

  8. 为什么要使用`QuerySet.iterator()`

    用django的custom command功能,写了一个脚本,目的是修正生成环境的数据,tqdm告诉我运行时长预估是2小时. 一个小时后,正在吃午饭的我,接到了很多微信推送.客户告诉我服务不可用,同 ...

  9. python学习第32天

    # 使用模块操作进程# multiprocessing 一个多元化的进程模块# multiple 多元化 processing 进程 # 涵盖了和进程相关的几乎所有的内容# Process类 帮助你启 ...

  10. django-auth组件

    auth组件 一.auth模块简介 auth模块是django自带的用户认证模块,包含了身份验证和权限管理两部分. 身份验证用于核实某个用户是否合法,权限管理用于决定一个合法用户有哪些权限 默认情况下 ...