detecter un keyDown sans document ouvert

Bonsoir,


 


Je souhaite récupérer les keyDown de l'utilisateur lorsque je n'ai pas de document ouvert pour les transmettre à  mon NSPanel inspecteur non actif par exemple.


 


Je suppose qu'il faut bricoler la chaine des NSResponder mais je cale...


 


Si quelqu'un a déjà  traité ce cas je le remercie d'avance.


Réponses

  • CéroceCéroce Membre, Modérateur

    Non, il n'y a rien à  bricoler.


    Relis la doc sur la chaà®nes des répondeurs, mais dans mon souvenir, si aucun répondeur n'a traité l'événement, le délégué de l'application peut le faire.


     


    Donc, a priori, je dirais qu'il suffit d'implémenter la méthode -keyDown: dans l'App Delegate.


  • J'avais bien lu la Doc.


    Mon App delegate est un NSResponder dans lequel j'implémente -keyDown. 


     


    Après un run sans ouverture de document j'obtiens un superbe Beep pour chaque touche du clavier.


     


    J'ai plusieurs palettes (NSPanel) non actifs au démarrage de l'application. Si j'active l'un d'eux et frappe une touche le keyDown du Panel actif est appelé (dans son NSWindowController).


     


    J'ai vérifié que le delegate de l'application est bien mon App delegate.


    J'ai même testé le comportement en fixant le nextResponder de l'application à  App delegate. Rien n'y fait.


     


    Lorsque je crée un nouveau document j'obtient le même beep s'il n'y a pas de champ de texte actif.


     


    Une idée ?

Connectez-vous ou Inscrivez-vous pour répondre.