Souris et clavier
2 participants
Page 1 sur 1
Souris et clavier
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.
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
Re: Souris et clavier
Merci Rockyone pour cet exemple en Omicron , il faut que je teste ça avec mon code d'émission IR
ManuM- Messages : 171
Date d'inscription : 01/01/2018
Localisation : Loir et Cher
Re: Souris et clavier
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.
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
Sujets similaires
» Débutant 03 Gestion de la SOURIS
» Test Clavier
» Débutants 09 lire le clavier
» Débutant 06 Entrées simples au clavier
» TUTO amateur 003 désactive le bip clavier
» Test Clavier
» Débutants 09 lire le clavier
» Débutant 06 Entrées simples au clavier
» TUTO amateur 003 désactive le bip clavier
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|