pygame.key.get_focused—是否显示正在接收来自系统的键盘输入
pygame.key.get_pressed—获得所有键盘按钮的状态
pygame.key.get_mods—确定哪些修饰符被持有
pygame.key.set_mods—临时设置哪些修饰符键被按下
pygame.key.set_repeat—控件如何重复控制键
pygame.key.get_repeat—查看持有的键是如何重复的
pygame.key.name—得到一个键标识符的名称r(63, 63, 63, 0)
key模块是pygame中使用键盘的模块,这个模块包含了处理键盘的函数。
当键盘按钮按下并释放时,事件队列得到了pygame.KEYDOWN和pygame.KEYUP事件,这两个事件都有一个键属性,它是一个代表键盘上所有键的整数ID,pygame.KEYDOWN事件有额外的属性unicode和scancode,unicode表示一个字符字符串,它是输入的完全转换的字符,这将考虑到移位和组合键,scancode表示特定于平台的密钥代码,这可能与键盘和键盘不同,但对于键选择像多媒体键这样的怪异键是很有用的。
有很多键盘常量,它们被用来表示键盘上的键,文章最后有所有键盘常量的列表。
键盘也有一个修饰符列表,可以通过对它们进行逐位的方式来组装:
KMOD_NONE, KMOD_LSHIFT, KMOD_RSHIFT, KMOD_SHIFT, KMOD_CAPS,KMOD_LCTRL, KMOD_RCTRL, KMOD_CTRL, KMOD_LALT, KMOD_RALT,KMOD_ALT, KMOD_LMETA, KMOD_RMETA, KMOD_META, KMOD_NUM, KMOD_MODE
pygame.key.get_focused() 如果显示正在接收来自系统的键盘输入返回True
get_focused() -> bool
当显示窗口有来自系统的键盘焦点时,这是正确的。如果显示需要确保它不会丢失键盘焦点,它可以使用pygame.event.set_grab() 来获取所有的输入。
pygame.key.get_pressed() 获得所有键盘按钮的状态
get_pressed() -> bools
返回一个布尔值的序列,表示键盘上的每个键的状态。使用键常量值来索引数组。一个真正的值意味着那个按钮被按下。使用这个函数获取按钮的列表并不是处理用户的文本条目的正确方法。您无法知道按下键的顺序,可以调用pygame.key.get_pressed(),可以完全忽略键的顺序。也没有办法将这些被推的键转换成一个完全翻译的字符值。参考pygame.KEYDOWN这个功能的事件队列上的事件。
pygame.key.get_mods() 确定正在进行哪些修饰符键
get_mods() -> int
返回一个整数,表示被持有的所有修饰符的位掩码。使用位操作符可以测试是否按下了特定的shift键、capslock按钮的状态等等。
pygame.key.set_mods() 临时设置修改器的按键
set_mods(int) -> None
创建一个你想要对你的程序施加的修改器常量的位掩码。
pygame.key.set_repeat() 控制持有的键是如何重复的
set_repeat() -> None
set_repeat(delay, interval) -> None
当键盘重复被激活时,被压制的键会产生多个pygame.KEYDOWN事件。delay是第一次pygame.KEYDOWN事件发出后重复发出延迟的毫秒数。之后,另一pygame.KEYDOWN事件每隔一段delay时间就会发送。如果没有参数被传递,那么关键的重复就会被禁用。当初始化pygame时,将禁用密钥重复。
pygame.key.get_repeat() 查看持有键是如何重复的(在pygame 1.8中更新)
get_repeat() -> (delay, interval)
当键盘重复被激活时,被压制的键会产生多个pygame.KEYDOWN事件。delay是第一次重复的pygame之前的毫秒数。KEYDOWN将被发送。之后,另一个pygame.KEYDOWN事件每隔一段时间就会发送。
当初始化pygame时,将禁用密钥重复。
pygame.key.name() 获取关键标识符的名称
name(key) -> string
从键盘按钮id常量中获取按钮的描述性名称。
键值列表:
KeyASCII ASCII Common Name
K_BACKSPACE \b backspace
K_TAB \t tab
K_CLEAR clear
K_RETURN \r return
K_PAUSE pause
K_ESCAPE ^[ escape
K_SPACE space
K_EXCLAIM ! exclaim
K_QUOTEDBL " quotedbl
K_HASH # hash
K_DOLLAR $ dollar
K_AMPERSAND & ampersand
K_QUOTE quote
K_LEFTPAREN ( left parenthesis
K_RIGHTPAREN ) right parenthesis
K_ASTERISK * asterisk
K_PLUS + plus sign
K_COMMA , comma
K_MINUS - minus sign
K_PERIOD . period
K_SLASH / forward slash
K_0 0 0
K_1 1 1
K_2 2 2
K_3 3 3
K_4 4 4
K_5 5 5
K_6 6 6
K_7 7 7
K_8 8 8
K_9 9 9
K_COLON : colon
K_SEMICOLON ; semicolon
K_LESS < less-than sign
K_EQUALS = equals sign
K_GREATER > greater-than sign
K_QUESTION ? question mark
K_AT @ at
K_LEFTBRACKET [ left bracket
K_BACKSLASH \ backslash
K_RIGHTBRACKET ] right bracket
K_CARET ^ caret
K_UNDERSCORE _ underscore
K_BACKQUOTE ` grave
K_a a a
K_b b b
K_c c c
K_d d d
K_e e e
K_f f f
K_g g g
K_h h h
K_i i i
K_j j j
K_k k k
K_l l l
K_m m m
K_n n n
K_o o o
K_p p p
K_q q q
K_r r r
K_s s s
K_t t t
K_u u u
K_v v v
K_w w w
K_x x x
K_y y y
K_z z z
K_DELETE delete
K_KP0 keypad 0
K_KP1 keypad 1
K_KP2 keypad 2
K_KP3 keypad 3
K_KP4 keypad 4
K_KP5 keypad 5
K_KP6 keypad 6
K_KP7 keypad 7
K_KP8 keypad 8
K_KP9 keypad 9
K_KP_PERIOD . keypad period
K_KP_DIVIDE / keypad divide
K_KP_MULTIPLY * keypad multiply
K_KP_MINUS - keypad minus
K_KP_PLUS + keypad plus
K_KP_ENTER \r keypad enter
K_KP_EQUALS = keypad equals
K_UP up arrow
K_DOWN down arrow
K_RIGHT right arrow
K_LEFT left arrow
K_INSERT insert
K_HOME home
K_END end
K_PAGEUP page up
K_PAGEDOWN page down
K_F1 F1
K_F2 F2
K_F3 F3
K_F4 F4
K_F5 F5
K_F6 F6
K_F7 F7
K_F8 F8
K_F9 F9
K_F10 F10
K_F11 F11
K_F12 F12
K_F13 F13
K_F14 F14
K_F15 F15
K_NUMLOCK numlock
K_CAPSLOCK capslock
K_SCROLLOCK scrollock
K_RSHIFT right shift
K_LSHIFT left shift
K_RCTRL right control
K_LCTRL left control
K_RALT right alt
K_LALT left alt
K_RMETA right meta
K_LMETA left meta
K_LSUPER left Windows key
K_RSUPER right Windows key
K_MODE mode shift
K_HELP help
K_PRINT print screen
K_SYSREQ sysrq
K_BREAK break
K_MENU menu
K_POWER power
K_EURO Euro