Este modulo contiene funciones para gestionar el dispositivo de teclado.
La cola de eventos obtiene eventos como pygame.KEYDOWN y pygame.KEYUP cuando se pulsan o sueltan las teclas del teclado respectivamente. Cada evento tiene una atributo llamado key que es un identificador en entero que representa cada tecla del teclado.
El evento pygame.KEYDOWN tiene un atributo adicional llamado unicode, y otro scancode. unicode representa un único caracter que es la traducción completa del caracter ingresado por teclado. Teniendo en cuenta las teclas de composición y mayúsculas. scancode representa el código de tecla específico de la plataforma. Este código podría ser diferente de un teclado a otro, aunque es útil para la selección de teclas raras como las teclas multimedia.
Existen muchas constantes de teclado que se utilizadan para representar teclas. La siguiente es una lista con todas esas constantes:
Constante | ASCII | Nombre habitual |
---|---|---|
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 ctrl | |
K_LCTRL | left ctrl | |
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 |
El telcado tambien tiene una lista de estados de combinaciones que pueden ser montados a través de una lógica binaria.
pygame.key.get_focused() -> return bool
Esta función devuelve verdadero cuando la ventana de visualización contiene el foco del teclado. Si se necesita que la ventana no pierda el foco del teclado, se puede utilizar pygame.event.set_grab para capturar todas las entradas de teclado.
pygame.key.get_pressed() -> return bools
Devuelve una secuencia de valores lógicos (booleans) representando el estado de cada tecla en el teclado. Utilice los valores de constante de tecla como índice de la secuencia. Un valor verdadero significa que el botón esta presionado.
Tenga en cuenta que obtener la lista de las teclas pulsadas con esta función no es la forma apropiada de gestionar la entrada de texto por parte del usuario. No hay forma de conocer el orden de las teclas pulsadas, y las pulsaciones muy rápidas de teclas pueden pasar desapercibidas entre dos llamadas a get_pressed. Tampoco hay forma de trasladar las teclas pulsadas a un valor de caracter completamente imprimible.
Vea el evento pygame.KEYDOWN de la cola de eventos para desarrollar esta funcionalidad.
pygame.key.get_mods() -> return int
Devuelve un entero representando una mascara con todos las teclas que estan siendo presionadas. Utilizando lógica binaria puedes verificar si una tecla como shift está pulsada, el estado de capslock y más.
pygame.key.set_mods(int) -> return None
Crea una mascara binaria con las constantes de las teclas que deseas imponer sobre tu programa.
pygame.key.set_repeat() -> return None pygame.key.set_repeat(delay, interval) -> return None
Cuando la funcionalidad de repetición de teclas está habilitada en el teclado, las teclas que quedan presionadas generan múltiples eventos de tipo pygame.KEYDOWN. El parrámetro delay (tiempo de retraso) es el número de milisegundos transcurridos antes de enviar el primer evento. Luego el resto de los eventos se enviarán en ese intervalo de milisegundos.
Si no especifica argumentos la repetición de teclas quedará deshabilitada.
Cuando se inicializa pygame la repetición de teclas está deshabilitada.
pygame.key.get_repeat() -> return (delay, interval)
Esta función cumple una tarea similar a set_repeat, solo que nos muestra el intervalo de milisegundos en lugar de definirlo.
pygame.key.name(key) -> return string
Devuelve el nombre descriptivo de la constante del telclado.