Skip navigation.
 
mlRe: How to create an NSEvent for Option-E?
FROM : Glen Simmons
DATE : Wed Aug 30 19:51:34 2006

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
>>                                          location:NSZeroPoint
>>                                      modifierFlags:0x80120
>>                                          timestamp:0
>>                                      windowNumber:[[NSApp 
>> mainWindow] windowNumber]
>>                                            context:nil
>>                                        characters:@""
>>                        charactersIgnoringModifiers:@"e"
>>                                          isARepeat:NO
>>                                            keyCode:14];
>>    [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_removed>)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/<email_removed>

This email sent to <email_removed>

Related mailsAuthorDate
mlHow to create an NSEvent for Option-E? Glen Simmons Aug 29, 23:03
mlRe: How to create an NSEvent for Option-E? Uli Kusterer Aug 30, 19:40
mlRe: How to create an NSEvent for Option-E? Glen Simmons Aug 30, 19:51
mlRe: How to create an NSEvent for Option-E? Aki Inoue Aug 30, 23:09