PyGTK覚え書き gtk.Buttonクリック時にモディファイアキーの状態を知る。

gtk.Buttonの'clicked'シグナルのコールバックを設定しておくと、ボタンがクリックされるたびにコールバックが呼ばれるわけですが。。。

そのコールバック中で、モディファイアキーの状態が知りたい時にはどうすればいいか。。。
'clicked'のコールバックには、イベント情報が渡ってこないので、どうしようかと。

リファレンスなどを探していると、

gtk.get_current_event_state

というAPIを見つけました。

さっそく'clicked'のコールバック関数中で、

print gtk.get_current_event_state()

としてみると、モディファイアキーが押されている場合には、
きちんとその状態が取得できていました。

たとえば、コントロールキーが押されているかどうかを知りたい時には

gtk.gdk.CONTROL_MASK

を使って判定できます。

いや〜。今日もいい発見でした。
(もしかしたらもっといい方法があるのかもしれませんが。。)