Possible ? nKBD, ou la Nspire comme périphérique d'entrée
13 posts
• Page 1 of 2 • 1, 2
Possible ? nKBD, ou la Nspire comme périphérique d'entrée
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).
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).
-
yattoPremium
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 104
- Images: 1
- Joined: 05 Oct 2011, 12:46
- Location: IDF
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: ENS Rennes - Mécatronique (1A)
Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré
Il faudrait déjà rajouter le support USB dans Ndless...
Après on verra
Après on verra

-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 42257
- Images: 16712
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré
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é...
Ensuite, rien de plus simple, on émule un comportement de clavier normal sur la Nspire !
L'intérêt serait quand même limité...
-
le solutionneur
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 300
- Joined: 18 Dec 2011, 21:41
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré
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".
-
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6414
- Images: 22
- Joined: 27 Nov 2008, 00:00
- Location: 0x1AACC355
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: BAC+5: Epita (ING3)
Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré
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.
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.
-
le solutionneur
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 300
- Joined: 18 Dec 2011, 21:41
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré
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.
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.
-
mdr1Premium
Niveau 14: CI (Calculateur de l'Infini)- Posts: 1083
- Images: 12
- Joined: 28 Mar 2011, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Je voyage toujours en première.
Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré
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..?
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..?
-
yattoPremium
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 104
- Images: 1
- Joined: 05 Oct 2011, 12:46
- Location: IDF
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: ENS Rennes - Mécatronique (1A)
Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré
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.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
-
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6869
- Joined: 23 Dec 2009, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: -
- GitHub: debrouxl
Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré
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à.
-
yattoPremium
Niveau 12: CP (Calculatrice sur Pattes)- Posts: 104
- Images: 1
- Joined: 05 Oct 2011, 12:46
- Location: IDF
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: ENS Rennes - Mécatronique (1A)
Re: Possible ? nKBD, ou la Nspire comme périphérique d'entré
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.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
-
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6869
- Joined: 23 Dec 2009, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: -
- GitHub: debrouxl
13 posts
• Page 1 of 2 • 1, 2
Return to Native: Ndless, Linux, ...
Who is online
Users browsing this forum: ClaudeBot [spider] and 10 guests