新規作成  編集  Ruby-GNOME2 Project Website  ページ一覧  検索  更新履歴  編集履歴  RSS  Back  ログイン

tips_key_pressed 差分 - Ruby-GNOME2 Project Website

  • 最後の更新で追加された部分はこのように表示します。
  • 最後の更新で削除された部分はこのように表示します。

= 何のキーが押されたのか調べる
Gtk::AccelGroup等でユーザが何のキーを入力したのか指定する際に、そのキー値を調べたいときがあります。

キー入力の定数値はGdk::Keyvalに定義されているので、rbbr等を使ってその中から自力で探し出すということもできなくはないですが、数も多いですし結構面倒くさいですよね。
そんな時には以下のスクリプトを使ってみてください。

実行したらお好みのキーをキーボードから入力します。そうするとそれに該当する数値とGdk::Keyvalの定数値をコンソールに出力してくれます。結構便利ですよ。

require 'gtk2'

window = Gtk::Window.new
window.add_events(Gdk::Event::KEY_PRESS)
window.add(Gtk::Label.new("Press Key!"))

window.signal_connect("key-press-event") do |w, e|
   p "#{e.keyval}, Gdk::Keyval::GDK_#{Gdk::Keyval.to_name(e.keyval)}"
end

window.set_default_size(100, 100).show_all

Gtk.main

そうそう、このスクリプトで得られた結果というのはあくまでも「実行した環境で得られた結果」でしかないということに注意してください。
キー配列が違う場合などは特にそうなのですが、環境によって取得結果が異なる場合があります。

== ChangeLog
:2003-10-12 ((<むとう>))
Initial Release