あおきです。

  In mail "[ruby-ext:01364] Re: RubyGtk"
    Megumi Tanaka <m-tanaka / kobe.lubeck.co.jp> wrote:

> 例えば、[ALT + B]キーを押下された時に、entry_aウィジェットにフォーカスを
> 移動させたいのですが、フォーカスが移動しません。正確にいえば、ウィンドウが
> 開いて、初めてのキー押下が[ALT + B]の場合は、フォーカスが移動します。しかし、
> 2回目以降は、フォーカスは移動せず、

> の、ロジックも通っていないようです。

それは Entry ウィジェットに ALT-B が拾われているからだと思います。
イベントは現在フォーカスのあるウィンドウから下に向かって拾われるまで
落ちていくんですけど、Entry はキー移動などのためにいくつかのキーボード
イベントを拾います。ALT-B はたぶん後ろ向きの一単語移動に使われてて、
そうするともうそれ以上イベントは下に行かないですから window まで
到達せず、反応しないように見えます。
(それが前回の「上のウィンドウに拾われてる」の(遠回しな)意味らしい。)

なので結局どうすればいいかというと、一番てっとり早いのは Entry
ウィジェットの時点で自分でイベントを拾ってしまうことだと思います。
あとは window に投げてやってもいいし、そこで直接フォーカス移動を
してしまってもいいでしょう。そのへんは工夫してください。
-------------------------------------------------------------------
あおきみねろう