キーボード入力

2014年9月7日

ファイル

03-key.tar.gz

使い方

ウインドウにフォーカスしてキーボードのキーを押すと、メッセージが表示されます。

内容

キーボードの入力を拾うには、次のようにコールバック関数を設定します。

win.connect("key-press-event", keyPress)
win.connect("key-release-event", keyRelease)
  • "key-press-event": キーが押された
  • "key-release-event": キーが離された

"key-press-event", "key-release-event" のコールバック関数の第 2 引数 event の event.keyval を調べれば、どのキーが押された/離されたかがわかります。gtk.gdk.keyval_name() を使うと、キーを表わす文字列が得られます。

    print("%s" % gtk.gdk.keyval_name(event.keyval))

どのキーが押された/離されたかを調べるには、以下のようにします。

def keyPress(widget, event):
    if event.keyval == gtk.keysyms.Left:
        ...
    else if event.keyval == gtk.keysyms.Up:
        ...
    else if event.keyval == gtk.keysyms.a:
        ...
    else if event.keyval == gtk.keysyms.b:
        ...
    else if event.keyval == gtk.keysyms.Return:
        ...

詳細は keysyms.py を参照してください。

PyGtk プログラミング 目次へ