π
<-

Possible ? nKBD, ou la Nspire comme périphérique d'entrée

C, C++, ASM...

Possible ? nKBD, ou la Nspire comme périphérique d'entrée

Unread postby yatto » 03 Mar 2013, 23:23

Bonjour!
Je voulais savoir si c'était possible de faire un programme qui permette d'utiliser la Nspire CX (/CAS) comme périphérique d'entrée "natif". Il faudrait qu'elle puisse émuler un clavier, de sorte que si on la branche à un autre appareil qui gère les claviers, on ait un véritable clavier physique, et sans rajouer un seul driver.

Il ne faut pas oublier que, étant donné qu'on risque de la brancher sur des appareils portables, il faut aussi faire en sorte que l'alimentation via USB soit coupée (sinon, la Nspire ou l'Hôte se vide prématurément).

C'est possible ? Quelqu'un veut se lancer ? Franchement, si j'avais les connaissances nécessaires, je m'y serais déjà mis, mais je n'y connais rien à propos de la Nspire et de Ndless. J'avais fait du C il y a fort longtemps, et je doûte que ça m'aide, vu le peu que j'ai fait (arrivé aux allocations manuelles de mémoire, sur le tuto du Site Du Zéro).
User avatar
yattoPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 11.7%
 
Posts: 104
Images: 1
Joined: 05 Oct 2011, 12:46
Location: IDF
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes - Mécatronique (1A)

Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré

Unread postby critor » 04 Mar 2013, 00:58

Il faudrait déjà rajouter le support USB dans Ndless...

Après on verra ;)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 51.4%
 
Posts: 42257
Images: 16712
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré

Unread postby le solutionneur » 04 Mar 2013, 01:30

Non, il suffit de faire du reverse engineering pour envoyer un faux device descriptor et ainsi signaler un clavier.
Ensuite, rien de plus simple, on émule un comportement de clavier normal sur la Nspire !

L'intérêt serait quand même limité...
User avatar
le solutionneur
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 84.6%
 
Posts: 300
Joined: 18 Dec 2011, 21:41
Gender: Male
Calculator(s):
MyCalcs profile

Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré

Unread postby Levak » 04 Mar 2013, 01:53

le solutionneur wrote:Non, il suffit de faire du reverse engineering pour envoyer un faux device descriptor et ainsi signaler un clavier.
Ensuite, rien de plus simple, on émule un comportement de clavier normal sur la Nspire !

L'intérêt serait quand même limité...

Pardon, j'ai entendu "simple" ?
Il y a une énorme différence entre "simple" et "faisable".
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré

Unread postby le solutionneur » 04 Mar 2013, 02:15

La partie émulation du protocole est simple.
Suffit de recevoir le paquet, voir ce qu'on nous veut, envoyer un paquet de réponse. Et aussi envoyer soi-même ds paquets.

C'est le côté reverse engineering qui est le plus difficile.
User avatar
le solutionneur
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 84.6%
 
Posts: 300
Joined: 18 Dec 2011, 21:41
Gender: Male
Calculator(s):
MyCalcs profile

Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré

Unread postby mdr1 » 04 Mar 2013, 03:02

Je ne comprends pas l'intérêt, là, surtout que le clavier de la TI-Nspire n'est pas terrible.
Un truc qui pourrait utile, en revanche, ce serait de lui donner le comportement de clé USB afin de pouvoir effectuer des transferts sans logiciel.
Image ImageImage
User avatar
mdr1Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 44%
 
Posts: 1083
Images: 12
Joined: 28 Mar 2011, 00:00
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Je voyage toujours en première.

Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré

Unread postby yatto » 04 Mar 2013, 12:04

Je sais que ça peut paraître étrange, mais je pense que pouvoir avoir des touches physiques sur n'importe quel appareil c'est quand même super pratique, même avec un clavier ABCD. Je ne sais pas si mon avis est partagé, mais je ne supporte pas les claviers tactiles. Et puis ça permet de faire une sorte de télécommande pour PC/autres, certes filiaire, mais ça tient bien dans la main.

Donc, la faire passer pour un clavier "natif", c'est faisable, ça. Et couper l'alimentation, c'est possible?


(Pour lui donner le comportement de clef USB, je crois qu'il faut percer les secrets du file system, et je crois que c'est pas gagné. )

J'imagine que personne ne veut se lancer dans la conception de ce genre de programme..?
User avatar
yattoPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 11.7%
 
Posts: 104
Images: 1
Joined: 05 Oct 2011, 12:46
Location: IDF
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes - Mécatronique (1A)

Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré

Unread postby Lionel Debroux » 04 Mar 2013, 18:49

Donc, la faire passer pour un clavier "natif", c'est faisable, ça.

Oui, surtout qu'on fait passer une 89T pour un clavier USB tout à fait honnête, grâce à Linky.

(Pour lui donner le comportement de clef USB, je crois qu'il faut percer les secrets du file system, et je crois que c'est pas gagné.)

Il n'y a pas de driver tiers libre pour FlashFX / Datalight Reliance, mais on connaît les APIs pour accéder au FS.

J'imagine que personne ne veut se lancer dans la conception de ce genre de programme..?

Si, mais plus exactement, après le design, personne n'a le temps de finir le reverse-engineering et le codage de ce genre de programmes :)
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6869
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré

Unread postby yatto » 04 Mar 2013, 19:45

Oui, surtout qu'on fait passer une 89T pour un clavier USB tout à fait honnête, grâce à Linky.

Mais la 89T est quand même plus ouverte qu'une Nspire, et puis le support de l'USB par Ndless est encore partiel et en bêta...

Il n'y a pas de driver tiers libre pour FlashFX / Datalight Reliance, mais on connaît les APIs pour accéder au FS.

Ca, j'm'en doutais, vu que j'utilise TILP !

Si, mais plus exactement, après le design, personne n'a le temps de finir le reverse-engineering et le codage de ce genre de programmes.


Et si je me lançais directement, comme ça, dans un projet de programme pour Ndless? Qui corresponde à mon besoin? Comme j'avais fait pour LuaCS ?
Ouais, sauf que là, c'est un autre niveau, parce que je n'ai aucune idée de comment émuler un clavier en C, et ensuite pour gérer l'USB...

En fait, le "design", y'a rien à faire, la calculatrice n'a rien à afficher. Comme ça a été dit plus haut, il s'agit d'envoyer à l'hôte un "code signé clavier", avec le caractère tapé (ou la touche).

Et j'aimerais bien que vous m'expliquiez ce que vous appelez le "reverse-engineering", parce que ça ne me dit rien, ce truc là.
User avatar
yattoPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 11.7%
 
Posts: 104
Images: 1
Joined: 05 Oct 2011, 12:46
Location: IDF
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes - Mécatronique (1A)

Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré

Unread postby Lionel Debroux » 04 Mar 2013, 19:56

Il n'y a pas de driver tiers libre pour FlashFX / Datalight Reliance, mais on connaît les APIs pour accéder au FS.

Ca, j'm'en doutais, vu que j'utilise TILP !

En fait, ça n'a rien à voir avec TILP ;)
TILP communiquait avec les Nspire bien avant qu'on exécute du code natif sur les Nspire. Grâce au travail de reverse-engineering de Romain Liévin, qui a sniffé les URBs qui passaient entre TINCLS et la machine, TILP parle (plus ou moins bien...) le protocole USB propriétaire "NavNet" de la machine. Dans l'implémentation de NavNet, il y a des appels aux fonctions Nucleus d'accès au filesystem (c'est de celles-là que je voulais parler).

Sans vouloir dénigrer le travail réel que tu as fait pour LuaCS, l'implémentation d'un host USB HID est en effet d'un tout autre niveau.

Et j'aimerais bien que vous m'expliquiez ce que vous appelez le "reverse-engineering", parce que ça ne me dit rien, ce truc là.

D'une façon générale, le reverse-engineering (en français, "rétro-ingéniérie") consiste à décortiquer et analyser, par tous les moyens, le fonctionnement d'une construction matérielle ou logicielle (plus ou moins) inconnue, et non nécessairement électronique ou informatique (on peut très bien faire du reverse-engineering mécanique).
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6869
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Next

Return to Native: Ndless, Linux, ...

Who is online

Users browsing this forum: ClaudeBot [spider] and 10 guests

-
Search
-
Social TI-Planet
-
Featured topics
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
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1507 utilisateurs:
>1493 invités
>8 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)