π
<-

Donner des ailes à keydown() sur python nspire

TI's micropython + modules

Donner des ailes à keydown() sur python nspire

Message non lude SlyVTT » 03 Mar 2025, 20:42

Hello,

je suis en train de porter notre participation au concours sous nspire, mais je butte sur une simple fonction qui rame comme c'est pas permis.
Je cherche à faire une reprise de keydown() de la NW.

j'ai donc un module ion.py :

Code: Tout sélectionner
import ti_system

KEY_EXE, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, KEY_OK, KEY_BACKSPACE, KEY_ALPHA, KEY_SHIFT, KEY_HOME = range(0,10)

keys = ['enter', 'up', 'down', 'left', 'right', 'return', 'del', 'ctrl', 'shift', 'menu']

def keydown(key_name):
  return (keys[key_name] in ti_system.getKey(0))


et ensuite si je fais un petit programme de test, par exemple :

Code: Tout sélectionner
from ion import *

exit = False
while not exit:
  if keydown(KEY_EXE): print("EXE")
  elif keydown(KEY_UP): print("UP")
  elif keydown(KEY_DOWN): print("DOWN")
  elif keydown(KEY_LEFT): print("LEFT")
  elif keydown(KEY_RIGHT): print("RIGHT")
  elif keydown(KEY_HOME): exit = True


Ca fonctionne, mais c'est d'une lenteur affligeante.
Y'a t il un truc que je fais mal ?

J'arrive pas à trouver une documentation digne de ce nom sur le module ti_system qui explique clairement les paramètres et retours de fonctions.

Merci par avance pour le coup de main.

Sly
Some works in progress :
The GUI Toolkit NF for nSpireMyShmup for fxCG-50Magic Light for Casio Graph 90+E
and
Magic Light for nSpire CX/CX-II
Simple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
50%
100%
75%
100%
And more to come ... stay tuned
Avatar de l’utilisateur
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 50.4%
 
Messages: 575
Images: 32
Inscription: 19 Jan 2021, 09:41
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
GitHub: SlyVTT

Re: Donner des ailes à keydown() sur python nspire

Message non lude Adriweb » 03 Mar 2025, 20:55

Au niveau documentation, il y a https://education.ti.com/html/eguides/n ... ystem.HTML
Il te manque quelque chose de spécifique ? Coté PDF ca doit être pareil je crois, à verifier.

Et sinon pour des guides en général, https://cdn.ti-planet.org/downloads2/16 ... _T__1_.pdf ainsi que https://ti-unterrichtsmaterialien.net/f ... e2_v2c.pdf

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14847
Images: 1134
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Donner des ailes à keydown() sur python nspire

Message non lude SlyVTT » 03 Mar 2025, 21:06

En fait je cherche une technique pour accélérer le bouzin :D
Mais je trouve pas.
Il y a sur TI83 get_key("nom de la touche") mais visiblement ça n'existe pas sur nSpire.
get_key(0) qui est non bloquant renvoie une liste et du coup c'est affreusement lent.

Donc je sais pas si il y a une meilleure technique qui me serait inconnue.
Some works in progress :
The GUI Toolkit NF for nSpireMyShmup for fxCG-50Magic Light for Casio Graph 90+E
and
Magic Light for nSpire CX/CX-II
Simple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
50%
100%
75%
100%
And more to come ... stay tuned
Avatar de l’utilisateur
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 50.4%
 
Messages: 575
Images: 32
Inscription: 19 Jan 2021, 09:41
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
GitHub: SlyVTT

Re: Donner des ailes à keydown() sur python nspire

Message non lude Adriweb » 03 Mar 2025, 21:07

le `get_key()` (sans parametre) existe, mais à tester par rapport à ce que tu veux faire.

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14847
Images: 1134
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Donner des ailes à keydown() sur python nspire

Message non lude SlyVTT » 03 Mar 2025, 21:13

il ne veut pas sans parametre : TypeError: function missing 1 required positional arguments
il attend donc bien un parametre (en gros 0 si passage non bloquant ou 1 si blocage)
Some works in progress :
The GUI Toolkit NF for nSpireMyShmup for fxCG-50Magic Light for Casio Graph 90+E
and
Magic Light for nSpire CX/CX-II
Simple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
50%
100%
75%
100%
And more to come ... stay tuned
Avatar de l’utilisateur
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 50.4%
 
Messages: 575
Images: 32
Inscription: 19 Jan 2021, 09:41
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
GitHub: SlyVTT

Re: Donner des ailes à keydown() sur python nspire

Message non lude Adriweb » 03 Mar 2025, 21:16

J'ai pas cette erreur la perso:
Image

Pour la version avec 1 en parametre, en fait c'est pas que c'est lent, c'est juste que c'est bloquant et ça attend une touche.

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14847
Images: 1134
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Donner des ailes à keydown() sur python nspire

Message non lude Adriweb » 03 Mar 2025, 21:24

La version non-bloquante peut te retourner la chaine comme voulu, si tu tombes au bon moment:



(bon j'ai triché avec la version plus bas niveau ti_st.getKey(0) mais ca devrait être pareil)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14847
Images: 1134
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: Donner des ailes à keydown() sur python nspire

Message non lude SlyVTT » 03 Mar 2025, 21:26

tu es sur quelle version d'OS sur la nSpire ?
ce serait pas un truc qui aurait changé entre les versions d'OS par hasard ?
Some works in progress :
The GUI Toolkit NF for nSpireMyShmup for fxCG-50Magic Light for Casio Graph 90+E
and
Magic Light for nSpire CX/CX-II
Simple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
50%
100%
75%
100%
And more to come ... stay tuned
Avatar de l’utilisateur
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 50.4%
 
Messages: 575
Images: 32
Inscription: 19 Jan 2021, 09:41
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
GitHub: SlyVTT

Re: Donner des ailes à keydown() sur python nspire

Message non lude SlyVTT » 03 Mar 2025, 21:28

en fait je cherche juste a savoir si la touche 'up' par exemple est pressée à l'instant t sans que ça prenne trop de temps, car avec mon mini programme, chaque tour prends beaucoup de ressource et c'est juste pas vivable.

Je peux même recoder toute une fonction si besoin c'est juste que chez moi tout appel à ti_system.get_key(0) est hyper lent.
Et je vois rien de mieux ou de différent pour accéder à l'état des touches.
Some works in progress :
The GUI Toolkit NF for nSpireMyShmup for fxCG-50Magic Light for Casio Graph 90+E
and
Magic Light for nSpire CX/CX-II
Simple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
50%
100%
75%
100%
And more to come ... stay tuned
Avatar de l’utilisateur
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 50.4%
 
Messages: 575
Images: 32
Inscription: 19 Jan 2021, 09:41
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
GitHub: SlyVTT

Re: Donner des ailes à keydown() sur python nspire

Message non lude Adriweb » 03 Mar 2025, 21:32

J'ai pas testé sur calculatrice, juste sur le logiciel ordi (du coup la vitesse en est décuplée...).
Ici c'est en 5.4 mais bon, je pense pas que le comportement ait changé...

Faudrait l'avis de notre expert local Critor...

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14847
Images: 1134
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Suivante

Retourner vers Python

Qui est en ligne

Utilisateurs parcourant ce forum: ClaudeBot [spider] et 4 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2217 utilisateurs:
>2200 invités
>6 membres
>11 robots
Record simultané (sur 6 mois):
29271 utilisateurs (le 11/07/2025)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)