Publicité
+ Répondre à la discussion
Page 3 sur 3 PremièrePremière 123
Affichage des résultats 41 à 48 sur 48
  1. #41
    Invité de passage
    Homme Profil pro Benjamin
    Responsable des études
    Inscrit en
    novembre 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Nom : Homme Benjamin
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : novembre 2012
    Messages : 26
    Points : 3
    Points
    3

    Par défaut

    je te remercie sincerement pour tout ton temps accordé.

    je regarde ca et je te tiens au courant.
    Mais je demande plus rien promis

  2. #42
    Invité de passage
    Homme Profil pro Benjamin
    Responsable des études
    Inscrit en
    novembre 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Nom : Homme Benjamin
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : novembre 2012
    Messages : 26
    Points : 3
    Points
    3

    Par défaut

    Citation Envoyé par Obsidian Voir le message
    Félicitations ! Et merci d'avoir joint le code à chaque fois.
    Sache toutefois que c'est de la bidouille qui s'ajoute et de la bidouille et que cela risquera de te mener tôt ou tard ans une impass


    C'était à prévoir, malheureusement. Pour cela, il faut déjà que tu détermines si c'est ton clavier qui gère cette répétition ou si c'est le système d'exploitation du PC qui l'émule tant qu'il n'a pas reçu le code de libération.

    Ensuite, dans les deux cas, il faudra provoquer la libération de la touche. Pour cela, il faut que tu voies déjà si ton logiciel détecte les relachements de touche à son niveau, et de quelle manière. En principe, tu dois avoir une table dans laquelle tu mets les points d'entrée de toutes les routines que tu as écrites et que tu m'as présentées ici. Cette table est exploitée par une procédure qui les appelle et qui, en principe, doit ou non conserver l'état de chaque touche (en mettant un flag à 1 ou à0)

    Une dernière petite question après je passe en résolu. Parce que j'ai réussi à rien aujourd'hui. Si je passe le flag a 0 après lenvoi des scancodes je devrait éviter ce problème?

    Merci pour tout encore

  3. #43
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    septembre 2007
    Messages
    5 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2007
    Messages : 5 480
    Points : 14 012
    Points
    14 012

    Par défaut

    Si tu parles du flag du modificateur (Shift), tu peux essayer, dans la mesure où tu n'envoies pas d'autre scan code immédiatement après. Le problème est que, en principe, ta routine envoie immédiatement tout ce qui se trouve dans le buffer dès qu'un modificateur est enfoncé ou relaché parce le buffer qui contient les scan codes des touches ordinaires ne fait pas la différence entre les touches qui ont été enfoncées avec et sans modificateur associé.

    Mais c'est sûr qu'à ce stade, ce ne sera pas pire qu'appeler la procédure d'envoi artificiellement et au milieu de la boucle.

  4. #44
    Invité de passage
    Homme Profil pro Benjamin
    Responsable des études
    Inscrit en
    novembre 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Nom : Homme Benjamin
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : novembre 2012
    Messages : 26
    Points : 3
    Points
    3

    Par défaut

    Lol c'est sur. Tu dois me prendre pour un bricoleur ! Maintenant il ne me reste qua trouver le flag de shift. Merci encore

  5. #45
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    septembre 2007
    Messages
    5 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2007
    Messages : 5 480
    Points : 14 012
    Points
    14 012

    Par défaut

    Citation Envoyé par darkofmadness Voir le message
    Lol c'est sur. Tu dois me prendre pour un bricoleur !
    Pas spécialement parce que je sais dans quelle situation tu te trouves, je sais ce qu'est une deadline, tu as ouvert la discussion en précisant d'emblée quel était ton niveau et ta mission, et que tu reprends un code écrit par un tiers, qui a probablement eu les mêmes ennuis.

    Mais le fait est que l'on fait ce que l'on peut avec ce que l'on a.

    Maintenant il ne me reste qua trouver le flag de shift. Merci encore
    Ça, je te l'ai donné au dessus : c'est dans « ksc_mod0 ». Tu charges LEFT_SHIFT_BIT dans A, tu trouves le complément avec « cpl » et tu fais un « AND » de ksc_mod0 avec.

  6. #46
    Invité de passage
    Homme Profil pro Benjamin
    Responsable des études
    Inscrit en
    novembre 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Nom : Homme Benjamin
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : novembre 2012
    Messages : 26
    Points : 3
    Points
    3

    Par défaut

    ah c'est nickel merci beaucoup !
    Donc ca donnerait un truc du genre :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	POP	A
    	MOV	A,AT101KB_LEFTSHIFT
    	call	usbkey_putkey
    	MOV	A,AT101KB_RIGHTANGLE
    	call	usbkey_putkey
    	PUSH	A
    	MOv	A,LEFT_SHIFT_BIT
    	CPL
    	AND	ksc_mod0,A
    	POP	A
    	jmp	.tx_down_key_fonction
    C'est bien ca, j'ai bien compris?
    (ou faut-il que je fasse un AND avec la valeur de ksc_mod0 ?)

    j'essaies demain alors
    Si ca marche je ne saurais pas comment te remercier !

  7. #47
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    septembre 2007
    Messages
    5 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2007
    Messages : 5 480
    Points : 14 012
    Points
    14 012

    Par défaut

    Il faudra peut-être mettre des crochets « [ ] » autour de ksc_mod0, mais l'idée est là.

  8. #48
    Invité de passage
    Homme Profil pro Benjamin
    Responsable des études
    Inscrit en
    novembre 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Nom : Homme Benjamin
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : novembre 2012
    Messages : 26
    Points : 3
    Points
    3

    Par défaut

    je te remercie, j'ai l'impression d'etre dans la bonne voie !
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    	PUSH	X
    	PUSH	A
    	MOV	X,ksc_mod0
    	MOV	A,LEFT_SHIFT_BIT
    	OR	[X+0],A
    	SETC
        	mov     A,[ksc_mod0]
        	mov     [usb_last_mod],A
    	POP	A
    	POP	X
     
    	MOV	A,AT101KB_RIGHTANGLE
     
    	PUSH	X
    	PUSH	A
    	MOV	X,ksc_mod0
    	MOV	A,LEFT_SHIFT_BIT
    	CPL	A
    	AND	[X+0],A
    	SETC
       	mov     A,[ksc_mod0]
      	mov     [usb_last_mod],A
    	POP	A
    	POP	X
     
    	jmp	.tx_down_key_Fonction
    Avec ca il ne fait pas SHIFT,
    mais si je met que la partie ou je met le bit a 1, on voit bien que le shift est appuyé. je dois donc trouver un moyen de prendre en compte les deux.
    (la il s'active et s'annule mais ne passe pas par la boucle d'envoi de touches donc il ne passe rien)
    je vais creuser la dessus.

    Je te remercie encore (faudrait peut etre que j'arrete ) !!!

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •