-static struct
-{
- unichar i_nskey;
- unsigned int i_vlckey;
-} nskeys_to_vlckeys[] =
-{
- { NSUpArrowFunctionKey, KEY_UP },
- { NSDownArrowFunctionKey, KEY_DOWN },
- { NSLeftArrowFunctionKey, KEY_LEFT },
- { NSRightArrowFunctionKey, KEY_RIGHT },
- { NSF1FunctionKey, KEY_F1 },
- { NSF2FunctionKey, KEY_F2 },
- { NSF3FunctionKey, KEY_F3 },
- { NSF4FunctionKey, KEY_F4 },
- { NSF5FunctionKey, KEY_F5 },
- { NSF6FunctionKey, KEY_F6 },
- { NSF7FunctionKey, KEY_F7 },
- { NSF8FunctionKey, KEY_F8 },
- { NSF9FunctionKey, KEY_F9 },
- { NSF10FunctionKey, KEY_F10 },
- { NSF11FunctionKey, KEY_F11 },
- { NSF12FunctionKey, KEY_F12 },
- { NSInsertFunctionKey, KEY_INSERT },
- { NSHomeFunctionKey, KEY_HOME },
- { NSEndFunctionKey, KEY_END },
- { NSPageUpFunctionKey, KEY_PAGEUP },
- { NSPageDownFunctionKey, KEY_PAGEDOWN },
- { NSMenuFunctionKey, KEY_MENU },
- { NSTabCharacter, KEY_TAB },
- { NSCarriageReturnCharacter, KEY_ENTER },
- { NSEnterCharacter, KEY_ENTER },
- { NSBackspaceCharacter, KEY_BACKSPACE },
- { NSDeleteCharacter, KEY_DELETE },
- {0,0}
-};
-
-unsigned int CocoaKeyToVLC( unichar i_key )
-{
- unsigned int i;
-
- for( i = 0; nskeys_to_vlckeys[i].i_nskey != 0; i++ )
- {
- if( nskeys_to_vlckeys[i].i_nskey == i_key )
- {
- return nskeys_to_vlckeys[i].i_vlckey;
- }
- }
- return (unsigned int)i_key;
-}
-
-- (unsigned int)VLCModifiersToCocoa:(NSString *)theString
-{
- unsigned int new = 0;
-
- if([theString rangeOfString:@"Command"].location != NSNotFound)
- new |= NSCommandKeyMask;
- if([theString rangeOfString:@"Alt"].location != NSNotFound)
- new |= NSAlternateKeyMask;
- if([theString rangeOfString:@"Shift"].location != NSNotFound)
- new |= NSShiftKeyMask;
- if([theString rangeOfString:@"Ctrl"].location != NSNotFound)
- new |= NSControlKeyMask;
- return new;
-}
-
-- (NSString *)VLCKeyToString:(NSString *)theString
-{
- if (![theString isEqualToString:@""]) {
- if ([theString characterAtIndex:([theString length] - 1)] != 0x2b)
- theString = [theString stringByReplacingOccurrencesOfString:@"+" withString:@""];
- else
- {
- theString = [theString stringByReplacingOccurrencesOfString:@"+" withString:@""];
- theString = [NSString stringWithFormat:@"%@+", theString];
- }
- if ([theString characterAtIndex:([theString length] - 1)] != 0x2d)
- theString = [theString stringByReplacingOccurrencesOfString:@"-" withString:@""];
- else
- {
- theString = [theString stringByReplacingOccurrencesOfString:@"-" withString:@""];
- theString = [NSString stringWithFormat:@"%@-", theString];
- }
- theString = [theString stringByReplacingOccurrencesOfString:@"Command" withString:@""];
- theString = [theString stringByReplacingOccurrencesOfString:@"Alt" withString:@""];
- theString = [theString stringByReplacingOccurrencesOfString:@"Shift" withString:@""];
- theString = [theString stringByReplacingOccurrencesOfString:@"Ctrl" withString:@""];
- }
- if ([theString length] > 1)
- {
- if([theString rangeOfString:@"Up"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSUpArrowFunctionKey];
- else if([theString rangeOfString:@"Down"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSDownArrowFunctionKey];
- else if([theString rangeOfString:@"Right"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSRightArrowFunctionKey];
- else if([theString rangeOfString:@"Left"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSLeftArrowFunctionKey];
- else if([theString rangeOfString:@"Enter"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSEnterCharacter]; // we treat NSCarriageReturnCharacter as aquivalent
- else if([theString rangeOfString:@"Insert"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSInsertFunctionKey];
- else if([theString rangeOfString:@"Home"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSHomeFunctionKey];
- else if([theString rangeOfString:@"End"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSEndFunctionKey];
- else if([theString rangeOfString:@"Pageup"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSPageUpFunctionKey];
- else if([theString rangeOfString:@"Pagedown"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSPageDownFunctionKey];
- else if([theString rangeOfString:@"Menu"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSMenuFunctionKey];
- else if([theString rangeOfString:@"Tab"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSTabCharacter];
- else if([theString rangeOfString:@"Backspace"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSBackspaceCharacter];
- else if([theString rangeOfString:@"Delete"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSDeleteCharacter];
- else if([theString rangeOfString:@"F12"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSF12FunctionKey];
- else if([theString rangeOfString:@"F11"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSF11FunctionKey];
- else if([theString rangeOfString:@"F10"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSF10FunctionKey];
- else if([theString rangeOfString:@"F9"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSF9FunctionKey];
- else if([theString rangeOfString:@"F8"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSF8FunctionKey];
- else if([theString rangeOfString:@"F7"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSF7FunctionKey];
- else if([theString rangeOfString:@"F6"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSF6FunctionKey];
- else if([theString rangeOfString:@"F5"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSF5FunctionKey];
- else if([theString rangeOfString:@"F4"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSF4FunctionKey];
- else if([theString rangeOfString:@"F3"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSF3FunctionKey];
- else if([theString rangeOfString:@"F2"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSF2FunctionKey];
- else if([theString rangeOfString:@"F1"].location != NSNotFound)
- return [NSString stringWithFormat:@"%C", NSF1FunctionKey];
- /* note that we don't support esc here, since it is reserved for leaving fullscreen */
- }
-
- return theString;
-}
-
-