pyxen.input.keyboard

キーボードの状態とテキスト入力にアクセスします。

kbd = pyxen.input.keyboard

ボタンモデル

すべてのキーは以下を持つButtonオブジェクトを返します:

プロパティ型説明
downbool押されている間True
pressedboolキーが押されたフレームでTrue
releasedboolキーが離されたフレームでTrue
valuefloatアナログ値(通常1.0または0.0)
framesint押されているフレーム数。押されたフレームでは0

キーボードのプロパティは読み取り専用です。

# ホールドでチャージ:キーが十分長く押されたら一度だけ発火。
if kbd.space.frames >= 30:
    release_charged_shot()

キーへのアクセス

直接属性アクセス

if kbd.a.pressed:
    print("A pressed")

文字列インデックス

if kbd["space"].down:
    print("Jump!")

キー名が無効な場合:

kbd["unknown"]  # → None

テキスト入力

text = kbd.text

このフレームで入力されたテキストを返します(UI入力に便利)。


サポートされるキー

  • アルファベット:"a" → "z"(大文字小文字不問)
  • 数字:"0" → "9" または "num_0" → "num_9"
  • 矢印:"left"、"right"、"up"、"down"
  • 修飾キー:"left_shift"、"right_ctrl" など
  • ファンクションキー:"f1" → "f12"
  • 記号:"minus"、"equals"、"comma" など
  • テンキー:"keypad_0" → "keypad_9"

例:移動

if kbd.left.down:
    player.x -= 1

if kbd.right.down:
    player.x += 1

注意事項

  • 読み取り専用
  • フレームベースの状態
  • 毎updateで安全にクエリ可能