[ruby-gnome2-doc-cvs] [Hiki] update - tips_key_pressed

アーカイブの一覧に戻る

ruby-****@sourc***** ruby-****@sourc*****
2003年 10月 12日 (日) 22:04:54 JST


-------------------------
REMOTE_ADDR = 218.231.205.39
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/ja/?tips_key_pressed
-------------------------
  = 何のキーが押されたのか調べる
- Gtk::AccelGroupなんかでは良く使うのですが、ユーザが何のキーを入力したのか調べたいときがあります。
+ Gtk::AccelGroup等でユーザが何のキーを入力したのか指定する際に、そのキー値を調べたいときがあります。
  
- キー入力の定数値はGdk::Keyvalに定義されているものを自力で探し出すということもできなくはないですが、以下のサンプルを使ってみてください。
+ キー入力の定数値はGdk::Keyvalに定義されているので、rbbr等を使ってその中から自力で探し出すということもできなくはないですが、結構面倒くさいですよね。
+ そんな時には以下のスクリプトを使ってみてください。
  
  実行したらお好みのキーをキーボードから入力します。そうするとそれに該当する数値とGdk::Keyvalの定数値をコンソールに出力してくれます。結構便利ですよ。
  
   require 'gtk2'
   Gtk.init
   
   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
+ 
+ そうそう、ただし、このスクリプトで得られた結果というのはあくまでも「実行した環境で得られた結果」でしかないということに注意してください。
+ マルチプラットフォーム(MS WindowsとLinux等)で動作することを想定した場合、両方の環境で取得する文字列が異なる場合があります(キー配列が違う場合などは特に)。
  
  == ChangeLog
  :2003-10-12 ((<むとう>))
   Initial Release





ruby-gnome2-cvs メーリングリストの案内
アーカイブの一覧に戻る