Un micro remplace le clavier d'un autre micro(via une interface
electronique). il emule donc les touches du clavier en envoyant les codes
ascii vers le second pc .
ca fonctionne pour les cara classiques (A..Z,0..9) , mais pour les touches
de fonction F1,F2 etc .. quel code envoy¨¦ pour que le prog qui tourne sur
le second PC traite le code recu correctement.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Marc
"Rosalie Mignon" a écrit dans le message de news:42bef937$0$22310$
Un micro remplace le clavier d'un autre micro(via une interface electronique). il emule donc les touches du clavier en envoyant les codes ascii vers le second pc . ca fonctionne pour les cara classiques (A..Z,0..9) , mais pour les touches de fonction F1,F2 etc .. quel code envoy¨¦ pour que le prog qui tourne sur le second PC traite le code recu correctement.
Hello,
tu peux utiliser le fait que l'évènement _keyDown ernvoie non pas un code ascii mais un code de touche. Parmi ces touches, il y a bien sur les touches de fonctions.
Extrait de la documentation: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vb98/html/vbevtKeyDown.asp
Exemple de code:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Dim msg As String
If (KeyCode >= vbKeyF1) And (KeyCode <= vbKeyF12) Then msg = "une touche de fonction est appuyée." & vbCrLf msg = msg & "Code = " & KeyCode & " - Touche = F" & KeyCode - vbKeyF1 + 1 MsgBox msg End If End Sub
Pour info, VBKeyF1 = 112 et les autres suivent: VBKeyF2 = 113, etc.
Bonne prog!
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
"Rosalie Mignon" <personne@microsoft.com> a écrit dans le message de
news:42bef937$0$22310$626a14ce@news.free.fr...
Un micro remplace le clavier d'un autre micro(via une interface
electronique). il emule donc les touches du clavier en envoyant les codes
ascii vers le second pc .
ca fonctionne pour les cara classiques (A..Z,0..9) , mais pour les touches
de fonction F1,F2 etc .. quel code envoy¨¦ pour que le prog qui tourne sur
le second PC traite le code recu correctement.
Hello,
tu peux utiliser le fait que l'évènement _keyDown ernvoie non pas un code
ascii mais un code de touche.
Parmi ces touches, il y a bien sur les touches de fonctions.
Extrait de la documentation:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vb98/html/vbevtKeyDown.asp
Exemple de code:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim msg As String
If (KeyCode >= vbKeyF1) And (KeyCode <= vbKeyF12) Then
msg = "une touche de fonction est appuyée." & vbCrLf
msg = msg & "Code = " & KeyCode & " - Touche = F" & KeyCode -
vbKeyF1 + 1
MsgBox msg
End If
End Sub
Pour info, VBKeyF1 = 112 et les autres suivent: VBKeyF2 = 113, etc.
Bonne prog!
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
"Rosalie Mignon" a écrit dans le message de news:42bef937$0$22310$
Un micro remplace le clavier d'un autre micro(via une interface electronique). il emule donc les touches du clavier en envoyant les codes ascii vers le second pc . ca fonctionne pour les cara classiques (A..Z,0..9) , mais pour les touches de fonction F1,F2 etc .. quel code envoy¨¦ pour que le prog qui tourne sur le second PC traite le code recu correctement.
Hello,
tu peux utiliser le fait que l'évènement _keyDown ernvoie non pas un code ascii mais un code de touche. Parmi ces touches, il y a bien sur les touches de fonctions.
Extrait de la documentation: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vb98/html/vbevtKeyDown.asp
Exemple de code:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Dim msg As String
If (KeyCode >= vbKeyF1) And (KeyCode <= vbKeyF12) Then msg = "une touche de fonction est appuyée." & vbCrLf msg = msg & "Code = " & KeyCode & " - Touche = F" & KeyCode - vbKeyF1 + 1 MsgBox msg End If End Sub
Pour info, VBKeyF1 = 112 et les autres suivent: VBKeyF2 = 113, etc.
Bonne prog!
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
Jean-Marc
Re, je ne sais pas comment marche ton protocole de transmission. Moi ce que je faisais quand je programmais des choses comme cela: Pour tous les codes correspondant à des caractères ou à des séquences d'échappement connues (en gros, tout l'Ascii de 7 à 128, plus l'Ascii étendu de 129 à 255), j'envoyais la valeur telle qu'elle. Pour le cas particulier des touches de fonction, j'envoyais un caractère 0 (zéro), suivi de la touche de Fonction avec comme convention F1 = "H", F2 = "I", etc.
C'est comme ça que faisait MS-Dos pour renvoyer les codes des touches de fonction.
L'application qui traitait les caractères reçus faisait qq chose comme ça:
Read_RS232(caractere) if caractere if caractere <> 0 then ' cas normal ' utilise le caractère else ' cas particulier Read_RS232(caractere) select case caractere case 'H' ' //=> Touche F1 case 'I' ' //=> Touche F2 case 'J' ' //=> Touche F3 ' // etc end select endif endif
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
Re,
je ne sais pas comment marche ton protocole de transmission.
Moi ce que je faisais quand je programmais des choses comme
cela:
Pour tous les codes correspondant à des caractères ou à des
séquences d'échappement connues (en gros, tout l'Ascii de 7
à 128, plus l'Ascii étendu de 129 à 255), j'envoyais la valeur
telle qu'elle. Pour le cas particulier des touches de fonction,
j'envoyais un caractère 0 (zéro), suivi de la touche de Fonction
avec comme convention F1 = "H", F2 = "I", etc.
C'est comme ça que faisait MS-Dos pour renvoyer les codes des
touches de fonction.
L'application qui traitait les caractères reçus faisait qq chose
comme ça:
Read_RS232(caractere)
if caractere
if caractere <> 0 then
' cas normal
' utilise le caractère
else
' cas particulier
Read_RS232(caractere)
select case caractere
case 'H'
' //=> Touche F1
case 'I'
' //=> Touche F2
case 'J'
' //=> Touche F3
' // etc
end select
endif
endif
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
Re, je ne sais pas comment marche ton protocole de transmission. Moi ce que je faisais quand je programmais des choses comme cela: Pour tous les codes correspondant à des caractères ou à des séquences d'échappement connues (en gros, tout l'Ascii de 7 à 128, plus l'Ascii étendu de 129 à 255), j'envoyais la valeur telle qu'elle. Pour le cas particulier des touches de fonction, j'envoyais un caractère 0 (zéro), suivi de la touche de Fonction avec comme convention F1 = "H", F2 = "I", etc.
C'est comme ça que faisait MS-Dos pour renvoyer les codes des touches de fonction.
L'application qui traitait les caractères reçus faisait qq chose comme ça:
Read_RS232(caractere) if caractere if caractere <> 0 then ' cas normal ' utilise le caractère else ' cas particulier Read_RS232(caractere) select case caractere case 'H' ' //=> Touche F1 case 'I' ' //=> Touche F2 case 'J' ' //=> Touche F3 ' // etc end select endif endif
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
Rosalie Mignon
c'est aussi ce que je faisais en pascal, mais au sein d'un même pc. Ici, j'ai essaye mais ca ne marche pas
"Jean-Marc" a écrit dans le message de news: 42bf02f1$0$324$
Re, je ne sais pas comment marche ton protocole de transmission. Moi ce que je faisais quand je programmais des choses comme cela: Pour tous les codes correspondant à des caractères ou à des séquences d'échappement connues (en gros, tout l'Ascii de 7 à 128, plus l'Ascii étendu de 129 à 255), j'envoyais la valeur telle qu'elle. Pour le cas particulier des touches de fonction, j'envoyais un caractère 0 (zéro), suivi de la touche de Fonction avec comme convention F1 = "H", F2 = "I", etc.
C'est comme ça que faisait MS-Dos pour renvoyer les codes des touches de fonction.
L'application qui traitait les caractères reçus faisait qq chose comme ça:
Read_RS232(caractere) if caractere if caractere <> 0 then ' cas normal ' utilise le caractère else ' cas particulier Read_RS232(caractere) select case caractere case 'H' ' //=> Touche F1 case 'I' ' //=> Touche F2 case 'J' ' //=> Touche F3 ' // etc end select endif endif
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
c'est aussi ce que je faisais en pascal, mais au sein d'un même pc.
Ici, j'ai essaye mais ca ne marche pas
"Jean-Marc" <NO_SPAM_jean_marc_n2@yahoo.fr> a écrit dans le message de news:
42bf02f1$0$324$ba620e4c@news.skynet.be...
Re,
je ne sais pas comment marche ton protocole de transmission.
Moi ce que je faisais quand je programmais des choses comme
cela:
Pour tous les codes correspondant à des caractères ou à des
séquences d'échappement connues (en gros, tout l'Ascii de 7
à 128, plus l'Ascii étendu de 129 à 255), j'envoyais la valeur
telle qu'elle. Pour le cas particulier des touches de fonction,
j'envoyais un caractère 0 (zéro), suivi de la touche de Fonction
avec comme convention F1 = "H", F2 = "I", etc.
C'est comme ça que faisait MS-Dos pour renvoyer les codes des
touches de fonction.
L'application qui traitait les caractères reçus faisait qq chose
comme ça:
Read_RS232(caractere)
if caractere
if caractere <> 0 then
' cas normal
' utilise le caractère
else
' cas particulier
Read_RS232(caractere)
select case caractere
case 'H'
' //=> Touche F1
case 'I'
' //=> Touche F2
case 'J'
' //=> Touche F3
' // etc
end select
endif
endif
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
c'est aussi ce que je faisais en pascal, mais au sein d'un même pc. Ici, j'ai essaye mais ca ne marche pas
"Jean-Marc" a écrit dans le message de news: 42bf02f1$0$324$
Re, je ne sais pas comment marche ton protocole de transmission. Moi ce que je faisais quand je programmais des choses comme cela: Pour tous les codes correspondant à des caractères ou à des séquences d'échappement connues (en gros, tout l'Ascii de 7 à 128, plus l'Ascii étendu de 129 à 255), j'envoyais la valeur telle qu'elle. Pour le cas particulier des touches de fonction, j'envoyais un caractère 0 (zéro), suivi de la touche de Fonction avec comme convention F1 = "H", F2 = "I", etc.
C'est comme ça que faisait MS-Dos pour renvoyer les codes des touches de fonction.
L'application qui traitait les caractères reçus faisait qq chose comme ça:
Read_RS232(caractere) if caractere if caractere <> 0 then ' cas normal ' utilise le caractère else ' cas particulier Read_RS232(caractere) select case caractere case 'H' ' //=> Touche F1 case 'I' ' //=> Touche F2 case 'J' ' //=> Touche F3 ' // etc end select endif endif
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't." mailto: remove '_no_spam_' ;
Clive
Rosalie,
Chez l'ordinateur "esclave" que reçoit les codes ? Est-ce un logiciel qui écoute sur le RS323 ou est-ce le bios même qui recoit sur la prise clavier ?
Ce site donne des infos utiles sur les codes rééllement envoyés par un clavier http://www.barcodeman.com/altek/mule/scandoc.php On voit par exemple que l'appui sur F1 envoie 05, puis quand relachée cela envoie F0 05.
Cive
Rosalie,
Chez l'ordinateur "esclave" que reçoit les codes ? Est-ce un logiciel
qui écoute sur le RS323 ou est-ce le bios même qui recoit sur la
prise clavier ?
Ce site donne des infos utiles sur les codes rééllement envoyés par
un clavier
http://www.barcodeman.com/altek/mule/scandoc.php
On voit par exemple que l'appui sur F1 envoie 05, puis quand relachée
cela envoie F0 05.
Chez l'ordinateur "esclave" que reçoit les codes ? Est-ce un logiciel qui écoute sur le RS323 ou est-ce le bios même qui recoit sur la prise clavier ?
Ce site donne des infos utiles sur les codes rééllement envoyés par un clavier http://www.barcodeman.com/altek/mule/scandoc.php On voit par exemple que l'appui sur F1 envoie 05, puis quand relachée cela envoie F0 05.
Cive
jean-marc
Peux tu détailler ce qui ne marche pas?
Sur le second PC, qui écoute? UUn process ou une fonction dédiée? Ecrite par toi ou par un autre?
Que fais l'application qui écoute? Elle doit juste stocker les valeurs des touches? Elle doit les ré-emettre?
Plus de détails seraient utiles pour aidre, je pense.
-- Jean-marc
"Rosalie Mignon" wrote in message news:42bf1bce$0$9316$
c'est aussi ce que je faisais en pascal, mais au sein d'un même pc. Ici, j'ai essaye mais ca ne marche pas
"Jean-Marc" a écrit dans le message de
news:
42bf02f1$0$324$ > Re, > je ne sais pas comment marche ton protocole de transmission. > Moi ce que je faisais quand je programmais des choses comme > cela: > Pour tous les codes correspondant à des caractères ou à des > séquences d'échappement connues (en gros, tout l'Ascii de 7 > à 128, plus l'Ascii étendu de 129 à 255), j'envoyais la valeur > telle qu'elle. Pour le cas particulier des touches de fonction, > j'envoyais un caractère 0 (zéro), suivi de la touche de Fonction > avec comme convention F1 = "H", F2 = "I", etc. > > C'est comme ça que faisait MS-Dos pour renvoyer les codes des > touches de fonction. > > L'application qui traitait les caractères reçus faisait qq chose > comme ça: > > Read_RS232(caractere) > if caractere > if caractere <> 0 then > ' cas normal > ' utilise le caractère > else > ' cas particulier > Read_RS232(caractere) > select case caractere > case 'H' > ' //=> Touche F1 > case 'I' > ' //=> Touche F2 > case 'J' > ' //=> Touche F3 > ' // etc > end select > endif > endif > > -- > Jean-marc > "There are only 10 kind of people > those who understand binary and those who don't." > mailto: remove '_no_spam_' ; > >
Peux tu détailler ce qui ne marche pas?
Sur le second PC, qui écoute? UUn process ou une fonction dédiée? Ecrite par
toi ou par un autre?
Que fais l'application qui écoute? Elle doit juste stocker les valeurs des
touches? Elle doit les ré-emettre?
Plus de détails seraient utiles pour aidre, je pense.
--
Jean-marc
"Rosalie Mignon" <personne@microsoft.com> wrote in message
news:42bf1bce$0$9316$626a14ce@news.free.fr...
c'est aussi ce que je faisais en pascal, mais au sein d'un même pc.
Ici, j'ai essaye mais ca ne marche pas
"Jean-Marc" <NO_SPAM_jean_marc_n2@yahoo.fr> a écrit dans le message de
news:
42bf02f1$0$324$ba620e4c@news.skynet.be...
> Re,
> je ne sais pas comment marche ton protocole de transmission.
> Moi ce que je faisais quand je programmais des choses comme
> cela:
> Pour tous les codes correspondant à des caractères ou à des
> séquences d'échappement connues (en gros, tout l'Ascii de 7
> à 128, plus l'Ascii étendu de 129 à 255), j'envoyais la valeur
> telle qu'elle. Pour le cas particulier des touches de fonction,
> j'envoyais un caractère 0 (zéro), suivi de la touche de Fonction
> avec comme convention F1 = "H", F2 = "I", etc.
>
> C'est comme ça que faisait MS-Dos pour renvoyer les codes des
> touches de fonction.
>
> L'application qui traitait les caractères reçus faisait qq chose
> comme ça:
>
> Read_RS232(caractere)
> if caractere
> if caractere <> 0 then
> ' cas normal
> ' utilise le caractère
> else
> ' cas particulier
> Read_RS232(caractere)
> select case caractere
> case 'H'
> ' //=> Touche F1
> case 'I'
> ' //=> Touche F2
> case 'J'
> ' //=> Touche F3
> ' // etc
> end select
> endif
> endif
>
> --
> Jean-marc
> "There are only 10 kind of people
> those who understand binary and those who don't."
> mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
>
>
Sur le second PC, qui écoute? UUn process ou une fonction dédiée? Ecrite par toi ou par un autre?
Que fais l'application qui écoute? Elle doit juste stocker les valeurs des touches? Elle doit les ré-emettre?
Plus de détails seraient utiles pour aidre, je pense.
-- Jean-marc
"Rosalie Mignon" wrote in message news:42bf1bce$0$9316$
c'est aussi ce que je faisais en pascal, mais au sein d'un même pc. Ici, j'ai essaye mais ca ne marche pas
"Jean-Marc" a écrit dans le message de
news:
42bf02f1$0$324$ > Re, > je ne sais pas comment marche ton protocole de transmission. > Moi ce que je faisais quand je programmais des choses comme > cela: > Pour tous les codes correspondant à des caractères ou à des > séquences d'échappement connues (en gros, tout l'Ascii de 7 > à 128, plus l'Ascii étendu de 129 à 255), j'envoyais la valeur > telle qu'elle. Pour le cas particulier des touches de fonction, > j'envoyais un caractère 0 (zéro), suivi de la touche de Fonction > avec comme convention F1 = "H", F2 = "I", etc. > > C'est comme ça que faisait MS-Dos pour renvoyer les codes des > touches de fonction. > > L'application qui traitait les caractères reçus faisait qq chose > comme ça: > > Read_RS232(caractere) > if caractere > if caractere <> 0 then > ' cas normal > ' utilise le caractère > else > ' cas particulier > Read_RS232(caractere) > select case caractere > case 'H' > ' //=> Touche F1 > case 'I' > ' //=> Touche F2 > case 'J' > ' //=> Touche F3 > ' // etc > end select > endif > endif > > -- > Jean-marc > "There are only 10 kind of people > those who understand binary and those who don't." > mailto: remove '_no_spam_' ; > >