Touche TAB comme raccourci clavier

Bonjour à tous (et toutes ! ;^))
Je cherche à saisir la touche Tab comme raccourci clavier dans Interface Builder mais je ne vois pas comment faire.
Je sais attribuer des raccourcis à des éléments de menu (voir copie d'écran).

Réponses

  • Joanna CarterJoanna Carter Membre, Modérateur

    Pour se déplacer entre les contrôles tu dois connecter le "nextResponder" d'une contrôle à la prochaine.

  • JJBeeJJBee Membre

    Merci mais je sens que je me suis mal expliqué.
    Ce que je souhaite faire, c'est affecter la touche de tabulation comme raccourci à un élément de menu dans une application que je développe (retouche d'image avec core image).
    ce raccourci est souvent utilisé pour masquer des éléments d'interface ( pour moi la barre latérale à droite (copie d'écran précédente).
    Je vois ça dans Luminar 2018 :

    (Masquer toutes les barres d'outils) ou bien encore dans Affinity Photos ( toggle UI).
    J'arrive à utiliser les touches flèches ou delete :smile:

    mais je ne peux pas saisir Tab car le focus est donné au camp suivant (alternate).

    Cette fois-ci je crois que c'est clair (je l'espére ;^)
    Merci

  • JJBeeJJBee Membre

    Bon, bonjour à tous (toutes)
    N'ayant pas trouvé comm faire cela dans interfaceBuilder , je me suis rabattu sur une des propriétés de NSMenuItem à avoir keyEquivalent (une étrange intuition m'a fait essayé l'utilisation de caractère échappé :
    unMenuItem.key Equivalent = @\t;
    et ça marche (à moitié :^( à moitié car le raccourci complet est Command-tab (qui lui est inutilisable car c'est un raccourci du Finder(passer d'une application ouverte à une autre)

    dans IB on peut saisir des raccourci sans Command je l'ai pour le flèches hautes et basses

    Une idée pour faire la même chose avec TAB sans Command ?

  • CéroceCéroce Membre, Modérateur
    9 juil. modifié #5

    Voir NSResponder et sa doc!

    Je dirais que si le first responder ne sait pas répondre au tab (ce qui est probablement le cas si ce n'est pas un NSTextField), alors l'événement keydown va suivre la chaînes des répondeurs et tu pourras l'intercepter dans la méthode -[keydown:] héritée de NSResponder.
    C'est à dire que tu dois l'implémenter sur le NSResponder qui te convient: soit dans ta sous-classe de NSDocument, soit dans l'AppDelegate, soit dans une sous-classe de NSViewController ou NSWindowController.

    J'ai toujours trouvé ce genre de choses difficiles à faire avec AppKit.

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