[RÉSOLU]Détecter les touches appuyées au clavier
[RÉSOLU]Détecter les touches appuyées au clavier
J'ai vu qu'il était possible de retourner la position actuelle de la souris. Est-il possible d'une quelconque façon de retourner les touches appuyées au clavier?
Re: Détecter les touches appuyées au clavier
pour saisir une chaine rentrée par l'utilisateur, j'utiliserai l'action entrée de donnée.
mais capter les évènements clavier déclenchés par un utilisateur sans qu'il le sache
je ne vois pas et ce n'est peut-etre pas dans le scope d'actionaz ...
mais capter les évènements clavier déclenchés par un utilisateur sans qu'il le sache
je ne vois pas et ce n'est peut-etre pas dans le scope d'actionaz ...
Re: Détecter les touches appuyées au clavier
Ce n'est pas possible pour l'instant, je suis en train de travailler sur un système qui permettrait d’appeler une fonction en JavaScript à chaque pression de touche, mais c'est plus complexe que ça n'en a l'air car il n'existe pas de norme au niveau du nommage des touches entre Windows et GNU/Linux. (d'ailleurs c'est aussi la raison pour laquelle il n'y a toujours pas d'option pour enregistrer un script à partir de ce que fait l'utilisateur)
"My software never has bugs. It just develops random features."
Re: Détecter les touches appuyées au clavier
Ok, j'imagine bien que c'est complexe s'il te faut inventer le système toi même. Bonne chance dans tous les cas
-
- Posts: 56
- Joined: 31 May 2011, 15:33
Re: Détecter les touches appuyées au clavier
Bonjour,
Vous pouvez cependant feinter en utilisant un programme tiers qui permet de récupérer la saisie et l'export dans un endroit donné sous forme de texte qui ensuite est exploitable par Actionaz 3.
Il vous suffira de proposer l'installation de ce logiciel tiers à vos utilisateurs.
Vous pouvez cependant feinter en utilisant un programme tiers qui permet de récupérer la saisie et l'export dans un endroit donné sous forme de texte qui ensuite est exploitable par Actionaz 3.
Il vous suffira de proposer l'installation de ce logiciel tiers à vos utilisateurs.
Re: [RÉSOLU]Détecter les touches appuyées au clavier
Bonjour.
Je déterre ce sujet car il correspond exactement à ce que je cherche.
J'ai fait une recherche et j'ai trouvé la même suggestion dans un autre sujet : https://www.jmgr.net/forum/viewtopic.ph ... uche#p4831
Y a t-il du nouveau du côté développement de cette fonction ?
Je déterre ce sujet car il correspond exactement à ce que je cherche.
J'ai fait une recherche et j'ai trouvé la même suggestion dans un autre sujet : https://www.jmgr.net/forum/viewtopic.ph ... uche#p4831
Je ne saurais le dire autrement, ces deux sujets résument parfaitement ce que j'aimerais voir dans Actiona : la détection d'appui sur les touches.Rajouter une action qui attend la pression d'une touche par l'utilisateur. (Entrée, F1, F2... )
L'utilisation que j'imagine permettrait de faciliter la création de programmes à exécution passive.
J'entends par là que le programme reste en cours d'exécution (en attente) et que dès qu'une touche est appuyée par l'utilisateur,
le programme va automatiser une série d'actions différentes suivant la touche qui est saisie ...
Y a t-il du nouveau du côté développement de cette fonction ?
Re: [RÉSOLU]Détecter les touches appuyées au clavier
Salut,
Oui c'est une fonctionnalité fréquemment demandée. Malheureusement les problèmes rencontrés il y a 6 ans sont toujours présents, et mon temps libre a encore réduit depuis cette époque...
Peut-être qu'une version intermédiaire pourrait permettre de sélectionner certaines touches seulement, comme cela pas de soucis avec la compatibilité entre les systèmes d'exploitation ?
Quoi qu'il en soit, je ne peux hélas pas promettre de date d'ajout pour cette fonctionnalité.
Oui c'est une fonctionnalité fréquemment demandée. Malheureusement les problèmes rencontrés il y a 6 ans sont toujours présents, et mon temps libre a encore réduit depuis cette époque...
Peut-être qu'une version intermédiaire pourrait permettre de sélectionner certaines touches seulement, comme cela pas de soucis avec la compatibilité entre les systèmes d'exploitation ?
Quoi qu'il en soit, je ne peux hélas pas promettre de date d'ajout pour cette fonctionnalité.
"My software never has bugs. It just develops random features."
Re: [RÉSOLU]Détecter les touches appuyées au clavier
Pour le script que je fais en ce moment, je n'ai besoin que de la touche Entrée mais supporter que quelques touches ne serait qu'une façon bancale de régler le problème.
Autant faire ça bien dès le début (enfin je pense).
J'ai cherché du côté de Javascript pour voir si je ne pouvais pas ajouter un bout de code JS à mon script Actiona. Voici ce que j'ai trouvé :
https://medium.com/@uistephen/keyboarde ... dbad0a067a
Le hic c'est que je ne sais absolument pas programmer. Je ne sais pas comment faire pour capturer les touches avec Javascript.
S'il faut encourager le développeur de Actiona (si tu vois de qui je veux parler ), je suis prêt à mettre 50 € pour l'ajout complet et fonctionnel de cette fonction. Grâce à Bountysource, il est possible d'ajouter des bounty sur les issues Github. J'ai déjà remercié les développeurs d'autres projets open-source pour avoir corrigé ou implémenté des fonctionnalités.
Je pense que c'est vraiment une des fonctions qui manquent à Actiona, actuellement.
Autant faire ça bien dès le début (enfin je pense).
J'ai cherché du côté de Javascript pour voir si je ne pouvais pas ajouter un bout de code JS à mon script Actiona. Voici ce que j'ai trouvé :
https://medium.com/@uistephen/keyboarde ... dbad0a067a
Le hic c'est que je ne sais absolument pas programmer. Je ne sais pas comment faire pour capturer les touches avec Javascript.
S'il faut encourager le développeur de Actiona (si tu vois de qui je veux parler ), je suis prêt à mettre 50 € pour l'ajout complet et fonctionnel de cette fonction. Grâce à Bountysource, il est possible d'ajouter des bounty sur les issues Github. J'ai déjà remercié les développeurs d'autres projets open-source pour avoir corrigé ou implémenté des fonctionnalités.
Je pense que c'est vraiment une des fonctions qui manquent à Actiona, actuellement.
Re: [RÉSOLU]Détecter les touches appuyées au clavier
Bonjour,
Je n'ai pas creusé, mais je pense ça pourrait le faire tout simplement en utilisant la librairie keypress.
Voir les sites ci-dessous :
http://jslibrairie.ek.la/keypress-js-a112737438
https://github.com/dmauro/Keypress/blob ... e#L728-864
https://dmauro.github.io/Keypress/
Cordialement.
MDLE46
Je n'ai pas creusé, mais je pense ça pourrait le faire tout simplement en utilisant la librairie keypress.
Voir les sites ci-dessous :
http://jslibrairie.ek.la/keypress-js-a112737438
https://github.com/dmauro/Keypress/blob ... e#L728-864
https://dmauro.github.io/Keypress/
Cordialement.
MDLE46
Re: [RÉSOLU]Détecter les touches appuyées au clavier
Re bjr, tout simplement c'est surement vite dit ... MDLE46.
Re: [RÉSOLU]Détecter les touches appuyées au clavier
Re-bjr, Désolé, la librairie keypress ne fonctionne pas avec Actiona. MDLE46.
Re: [RÉSOLU]Détecter les touches appuyées au clavier
Le Javascript (ou plus précisément l'Ecmascript) est un langage qui inclut très peu de fonctions. Le Javascript utilisé dans les navigateurs comporte beaucoup de fonctions spécifiques au Web, notamment pour capturer des touches.
Le Javascript inclu dans Actiona ne comporte pas toutes ces fonctions (Actiona n'est pas un navigateur Web), il possède néanmoins quelques fonctions supplémentaires : https://wiki.actiona.tools/doku.php?id=fr:code
En bref, on ne peut que difficilement mélanger des scripts Web avec des scripts Actiona, la plupart du temps il manquera des fonctions.
Merci pour la proposition de "bounty", je vais y réfléchir. Ce qui me manque actuellement c'est plus du temps que de l'argent.
Pour résumer les difficultés à mettre en place cette fonctionnalité :
Le Javascript inclu dans Actiona ne comporte pas toutes ces fonctions (Actiona n'est pas un navigateur Web), il possède néanmoins quelques fonctions supplémentaires : https://wiki.actiona.tools/doku.php?id=fr:code
En bref, on ne peut que difficilement mélanger des scripts Web avec des scripts Actiona, la plupart du temps il manquera des fonctions.
Merci pour la proposition de "bounty", je vais y réfléchir. Ce qui me manque actuellement c'est plus du temps que de l'argent.
Pour résumer les difficultés à mettre en place cette fonctionnalité :
- Windows et Linux ont leur propre définition de ce qu'est une "touche", c'est à dire qu'il faut trouver un moyen de convertir une touche d'un OS à un autre de manière fiable
- Il ne faut pas confondre une touche avec un caractère : la touche à l'emplacement du caractère "a" sur un clavier français va donner un caractère "q" sur un clavier US. Alors, qu'est-ce qu'on stocke ? Une touche ou un caractère ? (question ouverte)
- Capturer une touche même si une autre application est en premier plan est compliqué, en général les systèmes d'exploitation interdisent ou limitent ce genre de fonctionnalité parce que ça permet d'enregistrer facilement toutes les pressions de touche (problème de sécurité) ; dans le cas du Web c'est facile puisque que c'est toujours le navigateur qui est au premier plan
"My software never has bugs. It just develops random features."
Re: [RÉSOLU]Détecter les touches appuyées au clavier
Actiona ne pourrait-il pas détecter l'OS sur lequel il tourne ? Et en fonction de ça, avoir un code de détection de touche différent en fonction de l'os ? Je sais, c'est pas super au niveau portabilité du code mais je pense que d'autres logiciels font comme ça, non ?
- Windows et Linux ont leur propre définition de ce qu'est une "touche", c'est à dire qu'il faut trouver un moyen de convertir une touche d'un OS à un autre de manière fiable
Actiona pourrait, là aussi, détecter le "layout" du clavier (EN, FR, ES...) et en fonction de ça, stocker le bon caractère.
- Il ne faut pas confondre une touche avec un caractère : la touche à l'emplacement du caractère "a" sur un clavier français va donner un caractère "q" sur un clavier US. Alors, qu'est-ce qu'on stocke ? Une touche ou un caractère ? (question ouverte)
Est-ce qu'en lançant Actiona avec les "droits Administrateur", cela pourrait remédier au problème ?
- Capturer une touche même si une autre application est en premier plan est compliqué, en général les systèmes d'exploitation interdisent ou limitent ce genre de fonctionnalité parce que ça permet d'enregistrer facilement toutes les pressions de touche (problème de sécurité)
D'une manière générale, je n'aime pas l'idée de lancer un logiciel avec des droits élevés mais si ça peut régler (temporairement) le problème..
Re: [RÉSOLU]Détecter les touches appuyées au clavier
Bien sûr, l'idée ici serait d'avoir des fonctions de conversion par OS, pour pouvoir passer d'un identifiant unique à l'OS à un identifiant multiplateforme. Le problème c'est qu'il n'y a aucune convention à ce niveau. Certaines touches n'existent que sur Windows, d'autres que sous Linux. Et encore, je dis "Linux", mais il y a plusieurs sous-systèmes ayant chacun leur propre liste de touches supportées (EVDEV semble être le plus courant cela dit).Actiona ne pourrait-il pas détecter l'OS sur lequel il tourne ? Et en fonction de ça, avoir un code de détection de touche différent en fonction de l'os ? Je sais, c'est pas super au niveau portabilité du code mais je pense que d'autres logiciels font comme ça, non ?
J'ai trouvé récemment un exemple de code source qui semble faire ça : https://github.com/depp/keycode
Malheureusement il ne semble pas prendre en compte la disposition (layout) du clavier et me propose "q" alors que j'ai tapé "a".
C'est le même problème : il n'y a aucune convention entre les OS. Si je faisait un logiciel uniquement pour Windows ou Linux ça ne poserait pas de problème, mais ici j'ai besoin de prendre en compte au moins ces deux OS.Actiona pourrait, là aussi, détecter le "layout" du clavier (EN, FR, ES...) et en fonction de ça, stocker le bon caractère.
Sans doute, mais je ne veux pas qu'on aie à lancer le programme avec des droits d'administrateur, c'est trop dangereux. De plus beaucoup de personnes n'ont pas ces droits sur leur ordinateur.Est-ce qu'en lançant Actiona avec les "droits Administrateur", cela pourrait remédier au problème ?
D'une manière générale, je n'aime pas l'idée de lancer un logiciel avec des droits élevés mais si ça peut régler (temporairement) le problème..
Bref, ce n'est pas insurmontable, c'est juste beaucoup plus compliqué que ça en a l'air
"My software never has bugs. It just develops random features."
Re: [RÉSOLU]Détecter les touches appuyées au clavier
Ne serait-il pas possible de créer une issue sur ce dépôt Github pour demander des explications ou même demander de supporter les layouts différents (EN, FR, ES...) ? Je pense que ce depp sera content de voir que sa library est utiliséeJ'ai trouvé récemment un exemple de code source qui semble faire ça : https://github.com/depp/keycode
Malheureusement il ne semble pas prendre en compte la disposition (layout) du clavier et me propose "q" alors que j'ai tapé "a".