Aide - Recherche - Membres - Calendrier
Version complète : virtual keyboard
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
seguret
Hello,
en bas à droite de la zone graffiti se trouve un petit "1" (parfois "123") permettant de lancer un clavier virtuel lorsque l'on est dans un champs de saisie.
J'aimerais exploiter ce machin depuis mes programmes (je n'utilise pas les fields standards). Or je ne trouve aucune mention de ce clavier virtuel dans la doc de palm (faut dire, je ne sais même pas sous quel nom le chercher). Quelqu'un sait-il comment ça marche ? quelles sont les API ?

merci beaucoup d'avance !
Patrice
Désolé, je ne comprend pas la question : tu veux afficher le clavier virtuel ou tu veux en créer un ?

Dans le premier cas regarde la fonction SysKeyboardDialog()
seguret
Je voudrais :
- dans ma boucle d'évênement, correctement traiter l'évènement (l'utilisateur qui clique en bas à droite) pour afficher le clavier virtuel en question
- lui passer, si possible, les bons paramètres (mon texte, par exemple)
- récupérer le texte modifié pour remplir mon champ de saisie


(ch'uis %#!§@, je viens de penser que j'ai même pas pensé à regarder quel évènement est généré quand l'utilisateur clique sur le petit "1"; je vais voir ça)
seguret
CITATION(Patrice)
Dans le premier cas regarde la fonction SysKeyboardDialog()


Merci de m'avoir indiqué SysKeyboardDialog. Je viens de jeter un oeuil au code source de la fonction, c'est pas top cool : si on n'a pas un field standard, ça semble pas aisé...
Patrice
On ne doit pas parler de la même chose : tu vois ça sur quelle machine ?

Cependant je pense que tu ne peux pas vraiment avoir beaucoup de contrôle là-dessus (à part la fonction citée plus haut).
seguret
CITATION(Patrice)
On ne doit pas parler de la même chose : tu vois ça sur quelle machine ?

Cependant je pense que tu ne peux pas vraiment avoir beaucoup de contrôle là-dessus (à part la fonction citée plus haut).


Ca semble indépendant du palm. J'ai ça par exemple sur mon clié (je connais pas le modèle, il est effacé...), ou sur l'émulateur Palm505 par exemple.

Mais on dirait que tout est gèré à l'intérieur de SysHandleEvent sans évènement intermédiaire que l'on puisse gérer...
Patrice
En fait, je commence à comprendre : tu veux pouvoir activer le clavier virtuel ailleurs que sur un "field", avec les gri-gris de la zone graffiti, c'est ça ? Je dois fatiguer... icon_bla.gif

Il n'y a effectivement pas d'événement pour ça : la seule solution (me semble-t-il) c'est de récupérer le "clic" sur la zone graffiti et de traiter l'événement selon la position du stylet...
seguret
Pour info :
il y a quand même un évênement (un keyDownEvent avec un code vchrKeyboardNumeric), mais je ne vois pas, pour l'instant, comment utiliser ça sur mes champs à moi sans me recoder l'équivalent du SySKeyboardDialog (ce que je vais sans doute faire au final, c'est juste une douzaine de boutons et un champs...).

Merci pour l'aide !
Patrice
Bon, je retourne à ma sieste icon_bla.gif Merci pour l'info...
Palmipod
Philippe Guillot (papa de PP) explique comment utiliser les API non documentées du virtual keyboard

ici : http://ppcompiler.free.fr/thread.php?lng=fr&thrd=47

c'est en anglais et en pascal, mais c'est simple à traduire en C puisque ce ne sont que des API

seule la réponse de Philippe est intéressante dans ce thread

je l'utilise pour simuler une fonction key() et cela marche très bien
testé sur Palm TT : OK
fonctionne aussi sur CLIE TH55, mais ça fait bizarre : je me retrouve avec 2 claviers sur l'écran wink.gif
seguret
Merci, c'est intéressant.
Mais je ne suis pas chaud pour inclure dans mes programmes des appels à des fonctions non documentées, ça ne me semble pas un gage de pérénnité...
Palmipod
Pour les versions suivantes de OS5 de toutes les façons, ce n'est plus utile dans les cas où la zone graffiti et la zone keyboard sont au même endroit

mais cela fonctionne en OS5.2 et en OS6

alors je trouve que ce n'est pas trop mal comme pérénité
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.