| トップへ戻る | Cdrom || Color || Cursors || Display || Draw || Event || Examples || Font || Gfxdraw || Image || Joystick || Key || Locals || Mixer || Mouse || Movie || Music || Overlay || Pixelarray || Pygame || Rect || Scrap || Sndarray || Sprite || Surface || Surfarray || Tests || Time || Transform |
| pygame.key.get_focused - ウィンドウがキーボードの入力情報を受け取れる状態であればtrueが戻り値として返されます。 |
| pygame.key.get_pressed - 全てのキーの入力状態を取得します。 |
| pygame.key.get_mods - どの修飾キーが押されているかを判別します。 |
| pygame.key.set_mods - 一時的に特定の修飾キーが押された状態に設定します。 |
| pygame.key.set_repeat - キーを押しっぱなしにした場合の繰り返し入力について設定します。 |
| pygame.key.get_repeat - キーを押しっぱなしにした場合の繰り返し入力について確認します。 |
| pygame.key.name - キーを特定するための名前を取得します。 |
このモジュールにはキーボードを操作する機能があります。
キーボードのボタンを押して離すと、イベントキューにpygame.KEYDOWNイベントとpygame.KEYUPイベントが取得されます。取得された各イベントは、キーボードの各キーを表す数値情報を持っています。
pygame.KEYDOWNイベントはさらにユニコードとスキャンコードに関する情報を持っています。ユニコード情報は入力されたキーを文字に変換した値を表します。これはshiftキーと別のキーを同時押しするような場合も考慮されてます。スキャンコード情報はユーザーが使用するキーボード環境固有のキーコードを表します。取得されるスキャンコードは使用されるキーボードによって変わることがありますが、マルチメディアキーボードのように普通とは違った配列のキー環境で入力キーを特定する場合に便利です。
Pygameには入力キーを識別するための多くのキーボード定数があり、 それらを使用してキーボードのどのキーが押されたかを特定します。下記がキーボード定数の一覧です。
KeyASCII ASCII Common Name
K_BACKSPACE backspace
K_TAB tab
K_CLEAR clear
K_RETURN
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
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
またPygameには修飾キーの入力状態を表す値もあり、それを下記の修飾キー定数と論理和で組み合わせることで入力状態を確認できます。
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
ウィンドウがキーボードからの入力情報を受け取れる状態であればtrueが戻り値として返されます。ウィンドウが常にキーボード入力情報を受け取れる状態にするためには、pygame.event.set_grab命令を使用してコンピューターの全ての入力処理を独占的に確保する必要があります。
全てのキーの入力状態を表すboolean型の配列を戻り値として返します。キーボード定数を配列の添え字として使用してください。指定した位置の値がTrueだった場合は、そのキーボード定数に該当するキーが押されたことになります。
この命令を使うと入力されたキー一覧を取得することができますが、ユーザーのテキスト入力を処理する場合にこの命令を使うのは止めたほうがいいでしょう。この命令ではキーの押された順番まではわかりませんし、pygame.key.get_pressed命令が実行されるまでの間隔に高速でキーを入力されてしまうと入力情報を読み取ることができないのです。 この命令で取得できる入力キー情報を使ってユーザーからの文章入力処理を実装することはできないでしょう。もし実装したいのであれば、イベントキューに送られるpygame.KEYDOWNイベントを参照してください。
入力されている全ての修飾キーの状態をビットマスクで表した値を取得します。得られたビットマスクをビット演算子で処理することで、shiftキーやcapslockキー、それ以外のどのキーが押されたかを調べることができます。
使用例 #右のshiftキーが押された場合 if mods & KMOD_LSHIFT: #shiftーが押された場合 if mods & KMOD_SHIFT: #shiftーとctrlキーが押された場合 if mods & KMOD_SHIFT and mods & KMOD_CTRL:
特定の修飾キーが押された状態のビットマスクをプログラムに設定します。
キーリピートが有効になっている場合、キーが押しっぱなしの状態だと何度も pygame.KEYDOWNイベントが発生します。 delay引数は押しっぱなし状態でpygame.KEYDOWNが発生する間隔をミリ秒単位で表した数値です。 After that another pygame.KEYDOWN will be sent every interval milliseconds.引数を設定しなかった場合、キーリピート設定は無効になります。
pygameが初期化される際、キーリピート機能は無効に設定されます。
キーリピートが有効になっている場合、キーが押しっぱなしの状態だと何度も pygame.KEYDOWNイベントが発生します。delay引数は押しっぱなし状態でpygame.KEYDOWNが発生する間隔をミリ秒単位で表した数値です。 After that another pygame.KEYDOWN will be sent every interval milliseconds.
pygameが初期化される際、キーリピート機能は無効に設定されます。
この命令はpygameのバージョン1.8で新たに実装されました。
引数として渡したキーボード定数から、キーを特定するための名前を取得します。
| トップへ戻る | Cdrom || Color || Cursors || Display || Draw || Event || Examples || Font || Gfxdraw || Image || Joystick || Key || Locals || Mixer || Mouse || Movie || Music || Overlay || Pixelarray || Pygame || Rect || Scrap || Sndarray || Sprite || Surface || Surfarray || Tests || Time || Transform |