Réponses clavier
Hello à tous,
Quelle classe faut-il utiliser pour répondre au clavier ?
En fait je veux tout simplement qu'une action se déclenche quand j'appui sur la touche alt du clavier
d'avance, merci !
Quelle classe faut-il utiliser pour répondre au clavier ?
En fait je veux tout simplement qu'une action se déclenche quand j'appui sur la touche alt du clavier
d'avance, merci !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Et bien il faut que ta classe soit une sous-classe de NSResponder, ensuite il faut surcharger la méthode keyDown (classe NSResponder), et comparer le modifier flag de l'event (méthode modifierFlags de NSEvent). Le code suivant n'est pas testé, mais je vois pas pourquoi ça ne marcherait pas :
[tt]
-(void)keyDown:(NSEvent *)event
{
if ([event modifierFlags]==NSAlternateKeyMask)
{
NSLog(@Touche Alt enfoncée);
}
}
[/tt]
ça pourrait ne pas marcher si la touche Alt n'est pas le seul modifieur enfoncé; mais ce peut être voulu ou pas.
Si ce n'est pas voulu, on peut aussi écrire
Sinon Renaud a raison, un simple appui sur Alt ne déclenche pas keyDown:. flagsChanged: est donc une bonne méthode.
+
Chacha
Aucune réaction
Suis un peu perdu là :P
[tt]
-(void)flagsChanged:(NSEvent *)event
{
NSLog(@event);
if ([event modifierFlags] & NSShiftKeyMask)
{
NSLog(@Shift enfoncée);
}
}
[/tt]
Z'êtes sûr qui faut pas déclarer un NSEvent d'abord ? :crackboom:-
Je dirais meme plus, il faut que cette classe hérite de NSView ou de NSWindow pour que l'on puisse agir dessus, sinon, on ne pourrais pas envoyer de messages à l'objet.