IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apple Discussion :

Keybord events MAC osx


Sujet :

Apple

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 53
    Points : 36
    Points
    36
    Par défaut Keybord events MAC osx
    Bonjour.

    Je dois rediriger TOUS les évènements clavier de mac osx vers un framework personnel multiplateforme.

    Après avoir lu la doc macosx je ne vois toujours pas quelle est la meilleurs façon de faire, voir même si il y en a une bonne.

    Pour le moment j'utilise l'évènement KeyDown d'une NSView.
    Le problème c'est que les valeurs de kVK_ANSI_A a kVK_ANSI_Keypad9 ne dépendent pas du layout du clavier, en clair si on click sur "m" il peut nous arrivé un autre caractère si l'on est pas sur un clavier US (sic!)

    Le moyen que j'ai trouvé est vérifier la valeur char du NSEvent, c'est long, fastidieux et de plus je ne vois pas trop comment gérer l'utilisation des accents grave et circonflexe, pour ne parle que d'eux...

    Quelqu'un aurait il déjà eu a faire a ce genre de problème ?

    Toutes aide me sera précieuse ...

    Cordialement.

  2. #2
    Membre expérimenté Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Points : 1 312
    Points
    1 312
    Par défaut
    Je serais toi je regarderais comment les autres frameworks multi-plateformes gèrent ça :/.

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 952
    Points : 4 378
    Points
    4 378
    Par défaut
    Citation Envoyé par Tosh Voir le message
    Bonjour.

    Je dois rediriger TOUS les évènements clavier de mac osx vers un framework personnel multiplateforme.

    Après avoir lu la doc macosx je ne vois toujours pas quelle est la meilleurs façon de faire, voir même si il y en a une bonne.

    Pour le moment j'utilise l'évènement KeyDown d'une NSView.
    Le problème c'est que les valeurs de kVK_ANSI_A a kVK_ANSI_Keypad9 ne dépendent pas du layout du clavier, en clair si on click sur "m" il peut nous arrivé un autre caractère si l'on est pas sur un clavier US (sic!)

    Le moyen que j'ai trouvé est vérifier la valeur char du NSEvent, c'est long, fastidieux et de plus je ne vois pas trop comment gérer l'utilisation des accents grave et circonflexe, pour ne parle que d'eux...

    Quelqu'un aurait il déjà eu a faire a ce genre de problème ?

    Toutes aide me sera précieuse ...

    Cordialement.
    L'interception des évènements clavier sur Mac OS X peut se faire à différents niveaux :

    - driver du clavier,
    - IOKit,
    - InputManager,
    - WindowServer/Quartz/CoreGraphics,
    - Application

    Si ce que vous désirez faire ne concerne que votre application écrite en Cocoa :
    sous-classer NSApplication et intercepter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    - (void)sendEvent:(NSEvent *)anEvent
    sans oublier d'appeler [super sendEvent:anEvent] à la fin…
    et de spécifier votre nouvelle classe "MyNewCustomApplicationClassName" comme étant la Main Class dans Info.plist…

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 53
    Points : 36
    Points
    36
    Par défaut
    Merci, de vos réponses.

    J'ai finalement implémenté le NSTextInputClient protocole dans ma View principale. Cela fonctionne a merveille.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. compilateurs c/c++ pour mac osx
    Par osykomantis dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 26/09/2007, 16h08
  2. [LDAP] Récupération de mot de passe user sous openLDAP Mac OSX en PHP
    Par 3mPty dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 13/07/2006, 10h23
  3. editeur php sous mac OSX
    Par shadowR dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 01/03/2006, 16h57
  4. module rename mac osx
    Par G-rhum dans le forum Modules
    Réponses: 1
    Dernier message: 18/01/2006, 23h03
  5. [swig] utilisation de ld sous mac osX tiger.
    Par PyBio dans le forum Interfaçage autre langage
    Réponses: 3
    Dernier message: 26/10/2005, 17h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo