From: Laurent S. <lsa...@ap...> - 2008-01-09 23:57:39
|
Bonjour Patrick, Try passing a proc object for the callback parameter instead: myCallback = proc do |proxy, type, event, refcon| puts 'CALLBACK' 0 end tapPort = CGEventTapCreate( KCGSessionEventTap, KCGTailAppendEventTap, KCGEventTapOptionListenOnly, (1 << KCGEventMouseMoved), myCallback, nil) Laurent On Jan 10, 2008, at 12:49 AM, Patrick Geiller wrote: > Hello, > > I'm having trouble with my callback to CGEventTapCreate(). RubyCocoa > says it cannot convert an argument, but I'm not sure if I'm using the > right syntax for setting up the callback. > > class ApplicationController < NSObject > def applicationDidFinishLaunching (notification) > tapPort = CGEventTapCreate(KCGSessionEventTap, > KCGTailAppendEventTap, > KCGEventTapOptionListenOnly, > (1 << KCGEventMouseMoved), > :myCallback, > nil) > end > > def myCallback(proxy, type, event, refcon) > print('CALLBACK') > return 0 > end > end > > > Error: > 2008-01-10 00:43:03.152 EventTap[190:10b] > ApplicationController#applicationDidFinishLaunching: > OSX::OCDataConvException: Cannot convert the argument #4 as '^? > ^{__CGEvent=}^{__CGEventTapProxy=}I^{__CGEvent=}^v' to Objective-C > /Users/mini/Documents/xcode projects/Xcode build data/Release/ > EventTap.app/Contents/Resources/ApplicationController.rb:17:in > `CGEventTapCreate' > /Users/mini/Documents/xcode projects/Xcode build data/Release/ > EventTap.app/Contents/Resources/ApplicationController.rb:17:in > `applicationDidFinishLaunching' > /Users/mini/Documents/xcode projects/Xcode build data/Release/ > EventTap.app/Contents/Resources/rb_main.rb:23:in `NSApplicationMain' > /Users/mini/Documents/xcode projects/Xcode build data/Release/ > EventTap.app/Contents/Resources/rb_main.rb:23 > 2008-01-10 00:43:03.158 EventTap[190:10b] Cannot convert the argument > #4 as '^?^{__CGEvent=}^{__CGEventTapProxy=}I^{__CGEvent=}^v' to > Objective-C > > > Thanks, > -Patrick > > > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > _______________________________________________ > Rubycocoa-talk mailing list > Rub...@li... > https://lists.sourceforge.net/lists/listinfo/rubycocoa-talk |