Je débute avec Xcode 3, et j'ai essayé de trouver la solution à mon problème ici et là, mais sans grand succès. Ma question est peut-être neu-neu, si c'est le cas, désolé...
Dans une bête fenêtre, j'ai posé un Text View, éditable, et je souhaiterais intercepter les événements clavier pour modifier le contenu de ce Text View. En gros, disons que ce serait un éditeur de texte fonctionnant avec des raccourcis clavier.
J'ai donc lié ce Text View au script AppleScript incorporé au projet, en cochant keyboard up dans l'inspecteur, ce qui m'a généré un "on keyboard up theObject event theEvent" dans le script, et j'ai ajouté un p'tit code de test. Ça donne ça :
on keyboard up theObject event theEvent
if command key down of theEvent then
set title of window of theObject to "pomme"
end if
if option key down of theEvent then
set title of window of theObject to "alt"
end if
if shift key down of theEvent then
set title of window of theObject to "maj"
end if
end keyboard up
Déjà, il m'a bien fallu constater que l'événement keyboard down n'est apparemment pas géré du tout. Je ne sais pas si ça va me poser problème, mais je me suis rabattu sur keyboard up.
Là, ça fonctionne, et le titre de ma fenêtre change bien lorsque je presse alt ou shift (au moins la connexion est faite, c'est déjà un résultat ). Mais d'une part la touche Command n'est pas gérée (ou plutôt si, j'ai un signal sonore comme pour une erreur, mais pas d'exécution de la partie du script qui m'intéresse, ce qui laisse penser que je ne peux pas intercepter Command), et surtout, le contenu de ma fenêtre de texte est affecté. Je ne peux donc pas à proprement parler "intercepter" l'événement, c'est à dire l'empêcher d'être pris en compte par la fenêtre de texte (qui doit rester éditable par ailleurs).
Donc voilà, je suis un peu perdu...
C'est pas "vital" du tout, je bidouille par curiosité, mais si une bonne âme peut m'éclairer, ce sera sympa. D'avance, merci.
Dans une bête fenêtre, j'ai posé un Text View, éditable, et je souhaiterais intercepter les événements clavier pour modifier le contenu de ce Text View. En gros, disons que ce serait un éditeur de texte fonctionnant avec des raccourcis clavier.
J'ai donc lié ce Text View au script AppleScript incorporé au projet, en cochant keyboard up dans l'inspecteur, ce qui m'a généré un "on keyboard up theObject event theEvent" dans le script, et j'ai ajouté un p'tit code de test. Ça donne ça :
on keyboard up theObject event theEvent
if command key down of theEvent then
set title of window of theObject to "pomme"
end if
if option key down of theEvent then
set title of window of theObject to "alt"
end if
if shift key down of theEvent then
set title of window of theObject to "maj"
end if
end keyboard up
Déjà, il m'a bien fallu constater que l'événement keyboard down n'est apparemment pas géré du tout. Je ne sais pas si ça va me poser problème, mais je me suis rabattu sur keyboard up.
Là, ça fonctionne, et le titre de ma fenêtre change bien lorsque je presse alt ou shift (au moins la connexion est faite, c'est déjà un résultat ). Mais d'une part la touche Command n'est pas gérée (ou plutôt si, j'ai un signal sonore comme pour une erreur, mais pas d'exécution de la partie du script qui m'intéresse, ce qui laisse penser que je ne peux pas intercepter Command), et surtout, le contenu de ma fenêtre de texte est affecté. Je ne peux donc pas à proprement parler "intercepter" l'événement, c'est à dire l'empêcher d'être pris en compte par la fenêtre de texte (qui doit rester éditable par ailleurs).
Donc voilà, je suis un peu perdu...
C'est pas "vital" du tout, je bidouille par curiosité, mais si une bonne âme peut m'éclairer, ce sera sympa. D'avance, merci.