2012-05-23 3 views
7

я могу распознать, когда пользователь нажимает любую клавишу Shift, с помощью этого кода:Есть ли способ различать нажатые клавиши «Влево» и «Вправо»?

-(void)flagsChanged:(NSEvent *)theEvent 
{ 
    if ([theEvent modifierFlags] & NSShiftKeyMask) 
     //. . . 
} 

, но есть ли способ, чтобы отличить, было ли это право или левая клавиша переключения, которая была нажата?

ответ

8

Вы можете сделать это следующим образом:

-(void)flagsChanged:(NSEvent *)theEvent { 

    if ([theEvent modifierFlags] == 131330) { 
     NSLog(@"Left shift pressed!"); 
    } 

    if ([theEvent modifierFlags] == 131332) { 
     NSLog(@"Right shift pressed!"); 
    } 
} 
+0

спасибо, как я могу найти 'modifierFlags' для других ключей? –

+7

@ user437064 Загрузите это бесплатное приложение * Ключевые коды * отсюда: http://manytricks.com/keycodes/. Здесь вы можете увидеть все ключевые коды и модификаторы. ** Примечание: ** Для писем Вам нужно использовать коды клавиш. –

 Смежные вопросы

  • Нет связанных вопросов^_^