GFA
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-50%
Le deal à ne pas rater :
-50% Baskets Nike Air Huarache Runner
69.99 € 139.99 €
Voir le deal

Souris et clavier

2 participants

Aller en bas

Souris et clavier Empty Souris et clavier

Message par rockyone Ven 27 Sep - 6:02

Je suppose que vous avez déjà eu  en GFA le problème avec la gestion du clavier perturbé par les mouvements de la souris  même quand elle n'est pas affichée à l'écran.

Et bien j'ai aussi eu ce  problème en Omikron,  même après  avoir désactivée la souris dans le processeur clavier par la commande $12.

Exemples  simplifiés des deux boucles dans  MI-3 qui ne sont pas interrompue par les déplacements de la souris quelque soit sont état.

Code:


Pour l'affichage des images Sprectrum, je désactive la souris ( cmd $12) pour ne
  pas perturber la VBL
Cela désactive aussi les retours dans MOUSEX, MOUSEY et MOUSEBUT

Dans ce cas, la seule sortie possible de la boucle REPEAT UNTIL est le clavier. Cool ?!
Mais attention aux scancode<16 !

---------------------------------------------------
              BOUCLE PRINCIPALE DE MI-3
---------------------------------------------------
-boucle
    Case%=0
    But%=0
    Xm%=MOUSEX
    Ym%=MOUSEY

    REPEAT
           IF Xm% <> MOUSEX OR Ym% <> MOUSEY THEN EXIT ENDIF
           But%= MOUSEBUT
           Case%= FN Keybord
    UNTIL but% or case%

    IF Case% THEN GOSUB "key_"+MID$(STR$(Key$),2) endif
    *******   important, car key% est affecté par les mouvements de la souris !
    If but% THEN ...


GOTO Boucle
----------------------------------------------------
                LECTURE DU CLAVIER
----------------------------------------------------
DEF FN Keyboard
    A$=INKEY$
    IF LEN(A$) THEN
       Touche=CVIL(A$)
       Scancode= Touche SHR 16 AND $FF

       IF Scancode>58 AND Scancode<99 THEN Touche "F1 à Help"
           Key%= Scancode-58                              Pour différencier avec les code ASCII
                                                              65,66,67...
       ELSE
           Key%= Touche AND $FF                            Code ASCII de la touche
           IF  BIT(6, Key%) THEN BIT(5,Key%)=0 ENDIF '     Minuscule en Majuscule
       ENDIF
                                                           Pas de scancode <16, mais j'ai besoin
                                                           de la touche "Esc" scancode 01 = ascii 27
      
       IF Scancode>15 OR key%=27 THEN RETURN Key% ENDIF '                 Simplifié
       IF Scancode>15 OR key%=27 THEN RETURN PEEK (AllKey+Key%) ENDIF '   Retourne 1 si touche active
    ENDIF
RETURN 0                                                    Aucune touche n'a été appuyée !


---------------------------------------------------
        BOUCLE PRINCIPALE DU DIAPORAMA
----------------------------------------------------

-diaporama

           Après l'affichage d'une image
           ------------------------------
           Case%=0
           Time!=5                              Durée maximum en seconde de l'affichage
           Time_Key_Mouse                       Attente d'un événement.

           IF Case% then                        key%  est altéré par les mouvements de la souris !
               ****
                        ..........
           ENDIF

GOTO diaporama
----------------------------------------------------
      Attente événement pour le diaporama
----------------------------------------------------

DEF PROC Time_key_Mouse

   WHILE Time!>0 AND Case%=0 AND MOUSEBUT=0 '      Hé oui, un clic = touche "N" quand la
                     *******             '         souris n'est pas désactivée !
           Time!=Time!-.016
           Case%= FN Keybord
           XBIOS,37
     WEND
RETURN
-



Dernière édition par rockyone le Sam 28 Sep - 9:36, édité 2 fois

rockyone

Messages : 68
Date d'inscription : 14/01/2018
Localisation : Hauterives

Revenir en haut Aller en bas

Souris et clavier Empty Re: Souris et clavier

Message par ManuM Ven 27 Sep - 21:50

Merci Rockyone pour cet exemple en Omicron , il faut que je teste ça avec mon code d'émission IR Smile

ManuM

Messages : 171
Date d'inscription : 01/01/2018
Localisation : Loir et Cher

Revenir en haut Aller en bas

Souris et clavier Empty Re: Souris et clavier

Message par rockyone Sam 28 Sep - 9:42

J'ai fait corrige key% par Case% ..
Et complété la fonction Keyboard tel que je l'utilise.
J'aurais du faire un copier coller, cela aurait évité que je fasse des erreurs avec Case% et key% qui est altéré par les mouvements de la souris.

rockyone

Messages : 68
Date d'inscription : 14/01/2018
Localisation : Hauterives

Revenir en haut Aller en bas

Souris et clavier Empty Re: Souris et clavier

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum