I figured it out.&nbsp; The firstResponder had what I needed after all.&nbsp; I could have sworn that I had tried this before.&nbsp; Anyway, it works now.&nbsp; Thanks for your help and patience.<br><br>kirt<br><br><br>@implementation ViWindow
<br><br>- (void)sendEvent:(NSEvent *)theEvent<br>{<br>&nbsp;&nbsp;&nbsp; if ( [theEvent type] == NSKeyDown ) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ( [[theEvent charactersIgnoringModifiers] characterAtIndex: 0] == &#39;h&#39; ) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; NSLog( @&quot;we are trying to move left.&quot; );
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // This is the way to call the virtual methods.<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; [[self firstResponder] performSelector: @selector(moveLeft:) withObject: self];<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; [super sendEvent:theEvent];
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; } else {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; [super sendEvent:theEvent];<br>&nbsp;&nbsp;&nbsp; }<br>}<br><br>@end<br><br><br><br><br><br><br><br><br><br><div><span class="gmail_quote">On 3/31/07, <b class="gmail_sendername">Kirt Fitzpatrick
</b> &lt;<a href="mailto:kirt.fitzpatrick@gmail.com">kirt.fitzpatrick@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I have created a new project that distills out only the minimum code needed for this plugin to send a message to the active window.&nbsp; You can download it <a href="http://fowpas.net/ViMate.zip" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
here</a> (<a href="http://fowpas.net/ViMate.zip" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://fowpas.net/ViMate.zip</a>).&nbsp; It of course does not work but I am hoping that someone may be able to tell me why.&nbsp; Here is the most relevant code.<br><br><br><br>@implementation ViPlugin<br>- (id)initWithPlugInController:(id &lt;TMPlugInController&gt;)aController
<br>{<br>&nbsp;&nbsp;&nbsp; NSLog( @&quot;we have lift off!&quot; );<br>&nbsp;&nbsp;&nbsp; [ViWindow poseAsClass:[NSWindow class]];<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; return [super init];<br>}<br>@end<br><br><br><br><br><br>@implementation ViWindow<br>- (void)sendEvent:(NSEvent *)theEvent
<br>{<br>&nbsp;&nbsp;&nbsp; if ( [theEvent type] == NSKeyDown ) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if ( [[theEvent charactersIgnoringModifiers] characterAtIndex: 0] == &#39;h&#39; ) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; NSLog( @&quot;we are trying to move left.&quot; );<span class="q">
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; [[NSApplication sharedApplication] sendAction: @selector(moveLeft:) to: nil from: self];
<br></span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } else {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; [super sendEvent:theEvent];<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; } else {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; [super sendEvent:theEvent];<br>&nbsp;&nbsp;&nbsp; }<br>}<br>@end<br><br><br><br><br>thanks<br><span class="sg">kirt<br><br>
</span></blockquote></div><br>