Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 33 749 269

  • Nb. de membres 193
  • Nb. d'articles 1 329
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» Comment servir des device Keyboard et input ??

Comment servir des device Keyboard et input ??

3 Modérateur(s)
K-LElwoodcorto
thellier thelliericon_post
Montre le code qui marche pas: on aura peut être une idée en le lisant
Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
Sharynn Sharynnicon_post
Merci pour les infos.

AmOS4 - Timer.Device -> OK Débogué !!!

Reste plus que Keyboard.device et Input.device ;)

Projet AmOS4 - Retour vers l'Amos sous OS4...

SAM440EP - A1200 3.1 de base
thellier thelliericon_post

Ca devrait pas être plutot qque chose comme

extern struct Device *  TimerBase;

plutôt que  "extern struct MavarDevice"

car TimerBase est toujours utilisé comme pointeur , tout comme une base de .library

Note: Par ailleurs je crois pas que l'on puisse "externaliser" une struct en C mais uniquement un pointeur sur une struct


Et dans le prog principal:

struct Device *  TimerBase   =NULL;

struct timerequest tr;

/*==================================================================*/
#define LIBCLOSE(libbase)  if(libbase!=NULL) {CloseLibrary( (struct Library  *)libbase );   libbase=NULL; }
#define LIBOPEN(libbase,name,version)  libbase =(void*)OpenLibrary(#name,version);    if(libbase==NULL)  return(FALSE);
#ifdef OS4
#define LIBOPEN4(interface,libbase)    interface=(void*)GetInterface((struct Library *)libbase, "main", 1, NULL); if(interface==NULL) return(FALSE);
#define LIBCLOSE4(interface) if(interface!=NULL) {DropInterface((struct Interface*)interface );interface=NULL;}
#else
#define LIBOPEN4(interface,libbase)    ;
#define LIBCLOSE4(interface) ; 
#endif

*==================================================================*/

 if (OpenDevice(TIMERNAME, UNIT_MICROHZ, (struct IORequest *)&tr, 0L) != 0)
  return(FALSE);
 TimerBase = (struct Device  *) tr.tr_node.io_Device;
 LIBOPEN4(ITimer,TimerBase);

*==================================================================*/

 LIBCLOSE4(ITimer)
 CloseDevice((struct IORequest *)&tr);

Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig

Message édité par : thellier / 14-11-2019 13:41
Sharynn Sharynnicon_post
Salut,
Bon ça avance mais pas trop comme je le souhaiterai.

J'ai basculer sur le timer.device car il faut vraiment que je trouve où ça ne fonctionne pas.

Voici un topo rapide.

La bibliothèque AmOS4 est regroupé en 763 fichiers autonomes et d'un noyau le tout compilé ensemble.

Jusqu'à présent l'utilisation de variables du noyau vers les modules externes fonctionnaient bien en utilisant

extern int MaVariable

Alors qu'avec les device cela ne fonctionne pas. Du moins chez moi !!!

Pour le TIMER.DEVICE:
Si j'ouvre dans une routine le device et que je l'utilise directement ça fonctionne (GETSYSTIME me donne la date).
Mais si j'utilise le "DoIO" du device dans une autre commande externe, j'ai un Guru directement.

L'appel en "extern struct MavarDevice" ne semble pas suivre le pointeur que j'y enregistre lors de l'ouverture du device.

Si quelqu'un à une poste ou une solution pour cela ???

Je reste à l'écoute de vos suggestions...
Projet AmOS4 - Retour vers l'Amos sous OS4...

SAM440EP - A1200 3.1 de base
YesCop YesCopicon_post
Voici le code

Sam Flex 800 Mhz Amiga OS4.1 FE
Sharynn Sharynnicon_post
@YesCop:
salut,

Si tu as une source qui tourne alors envoi moi là.

Si elle ne fonctionne pas ici, c'est que j'ai un soucis avec mon système.

@Alain:
Je vais continuer de voir dans des sources diverses aussi.


Merci les gars


Projet AmOS4 - Retour vers l'Amos sous OS4...

SAM440EP - A1200 3.1 de base
YesCop YesCopicon_post
Tu m'étonnes.
J'ai compilé un des programmes fournis sans modification, il fonctionne bien.
Le programme retourne le code de la touche en ascii ou raw, le code du qualifier.
Si tu ne trouves pas, je peux t'envoyer le code dimanche.
Sam Flex 800 Mhz Amiga OS4.1 FE
thellier thelliericon_post
c'est très étonnant tu dois pas avoir toutes les sources de SDL
Sinon dans les sources de E-UAE ou tout autre émulateur utilisant le clavier
Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig
Sharynn Sharynnicon_post
Non a part des appels à des variables ou des commandes s'appelant SDL_xxx, je ne trouve rien.

J'ai regardé tous les fichiers que j'ai trouvé, mais il n'y a aucun appel sur des commandes systèmes.
Tout semble caché derrière de valeur avec les nom SDL_xxx

Je ne dois pas avoir de bonne sources.
Projet AmOS4 - Retour vers l'Amos sous OS4...

SAM440EP - A1200 3.1 de base
Sharynn Sharynnicon_post
Salut Alain,

Tu es au TOP, je vais regarder cela...

Je n'y avait pas pensé..
Projet AmOS4 - Retour vers l'Amos sous OS4...

SAM440EP - A1200 3.1 de base
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme