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

Back to archive index

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


-------------------------
REMOTE_ADDR = 218.231.205.39
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/ja/?tips_key_pressed
-------------------------
  = 何のキーが押されたのか調べる
  Gtk::AccelGroup等でユーザが何のキーを入力したのか指定する際に、そのキー値を調べたいときがあります。
  
- キー入力の定数値はGdk::Keyvalに定義されているので、rbbr等を使ってその中から自力で探し出すということもできなくはないですが、結構面倒くさいですよね。
+ キー入力の定数値は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 メーリングリストの案内
Back to archive index