Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Re: How to create an NSEvent for Option-E?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to create an NSEvent for Option-E?

On Aug 30, 2006, at 12:40 PM, Uli Kusterer wrote:

Am 29.08.2006 um 23:03 schrieb Glen Simmons:
NSEvent* fakeEvent = [NSEvent keyEventWithType:NSKeyDown
windowNumber:[[NSApp mainWindow] windowNumber]
[NSApp postEvent:fakeEvent atStart:NO];

This throws an exception: *** -[NSCFString characterAtIndex:]: Range or index out of bounds

Why? What's wrong with this code? How can I send an event for Option-E?

I guess AppKit isn't prepared to get an empty string for the characters: parameter? Why do you need to do this anyway? What is Option-E? On my keyboard, that's the Euro-sign, so you'd neither want to use this as a keyboard shortcut, not would you want to use a fake event to generate the character (Because it may be different depending on the keyboard, and NSEvent won't auto-fill the characters: param, which can cause application code to detect this as the wrong key...).

What are you trying to do?

This isn't intended to be shipping code, just a test of a general approach. On a US keyboard, Option-E is the beginning of a multi- keystroke char, like "é". If you override keyDown: in an NSView subclass and type Option-E on a US keyboard, the event that you receive has these exact parameters, including the empty string for the characters: parameter. At this point I'm trying to understand how the system could generate and send this NSEvent, but I can't. _______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden
 >How to create an NSEvent for Option-E? (From: Glen Simmons <email@hidden>)
 >Re: How to create an NSEvent for Option-E? (From: Uli Kusterer <email@hidden>)

Visit the Apple Store online or at retail locations.

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.