PyGTK覚え書き gtk.Buttonクリック時にモディファイアキーの状態を知る。
gtk.Buttonの'clicked'シグナルのコールバックを設定しておくと、ボタンがクリックされるたびにコールバックが呼ばれるわけですが。。。
そのコールバック中で、モディファイアキーの状態が知りたい時にはどうすればいいか。。。
'clicked'のコールバックには、イベント情報が渡ってこないので、どうしようかと。
リファレンスなどを探していると、
gtk.get_current_event_state
というAPIを見つけました。
さっそく'clicked'のコールバック関数中で、
print gtk.get_current_event_state()
としてみると、モディファイアキーが押されている場合には、
きちんとその状態が取得できていました。
たとえば、コントロールキーが押されているかどうかを知りたい時には
gtk.gdk.CONTROL_MASK
を使って判定できます。
いや〜。今日もいい発見でした。
(もしかしたらもっといい方法があるのかもしれませんが。。)