Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Hook Clavier

8 réponses
Avatar
COASNE Victor
Bonjour,

J'ai un clavier PS/2 et un pavé numérique USB.
Seulement il a été conçu comme pour un clavier américain.
C'est à dire que pour avoir les numéros du pavé numérique je dois
activer la majuscule de mon clavier.
En plus le . se transforme en /

Bref le but est donc de créer un hook qui intercepte le pavé mais pas le
clavier.

Si vous avez des questions ou si je n'ai pas été assez clair dîtes-le moi.

Merci d'avance,

Victor

8 réponses

Avatar
Christian ASTOR
On 23 juil, 11:40, COASNE Victor wrote:

J'ai un clavier PS/2 et un pavé numérique USB.
Seulement il a été conçu comme pour un clavier américain.
C'est à dire que pour avoir les numéros du pavé numérique je dois
activer la majuscule de mon clavier.
En plus le . se transforme en /

Bref le but est donc de créer un hook qui intercepte le pavé mais pas le
clavier.

Si vous avez des questions ou si je n'ai pas été assez clair dîtes- le moi.



Par ex, LL Hook (WH_KEYBOARD_LL) pour éviter une DLL puis
GetKeyNameText() pour tester si Pavé Num puis keybd_event() ou
SendInput() pour changer les touches
Avatar
COASNE Victor
Christian ASTOR a écrit :
On 23 juil, 11:40, COASNE Victor wrote:

J'ai un clavier PS/2 et un pavé numérique USB.
Seulement il a été conçu comme pour un clavier américain.
C'est à dire que pour avoir les numéros du pavé numérique je dois
activer la majuscule de mon clavier.
En plus le . se transforme en /

Bref le but est donc de créer un hook qui intercepte le pavé mais pas le
clavier.

Si vous avez des questions ou si je n'ai pas été assez clair dîtes-le moi.



Par ex, LL Hook (WH_KEYBOARD_LL) pour éviter une DLL puis
GetKeyNameText() pour tester si Pavé Num puis keybd_event() ou
SendInput() pour changer les touches



Bonjour,

GetKeyNameText() m'indique juste la touche qui est pressé et comme mon
pavé émule la même touche que sur mon clavier
Exemple : le 1 du pavé c'est la touche 1&
le 2 du pavé c'est la touche 2é~
etc..
Donc je me récupère la même touche.
Cette fonction ne me dit pas le périphérique d'où provient la touche
mais la touche en elle même.

Je ne peux donc pas distinguer qui a tapé cette touche.

Cordialement,

Victor
Avatar
Mickael
COASNE Victor wrote:

Bonjour,

GetKeyNameText() m'indique juste la touche qui est pressé et comme mon
pavé émule la même touche que sur mon clavier
Exemple : le 1 du pavé c'est la touche 1&
le 2 du pavé c'est la touche 2é~
etc..
Donc je me récupère la même touche.
Cette fonction ne me dit pas le périphérique d'où provient la touche
mais la touche en elle même.

Je ne peux donc pas distinguer qui a tapé cette touche.

Cordialement,

Victor



Tu as testé ?
Car ça rajoute bien "(PAVE NUM.)" quand la touche vient du pavé.
Avatar
COASNE Victor
Mickael a écrit :
COASNE Victor wrote:

Bonjour,

GetKeyNameText() m'indique juste la touche qui est pressé et comme mon
pavé émule la même touche que sur mon clavier
Exemple : le 1 du pavé c'est la touche 1&
le 2 du pavé c'est la touche 2é~
etc..
Donc je me récupère la même touche.
Cette fonction ne me dit pas le périphérique d'où provient la touche
mais la touche en elle même.

Je ne peux donc pas distinguer qui a tapé cette touche.

Cordialement,

Victor



Tu as testé ?
Car ça rajoute bien "(PAVE NUM.)" quand la touche vient du pavé.


Bonjour,

Oui j'ai testé j'obtient le même code.
Je ne me permet pas de dire que cela marche pas si je ne teste pas.

Le pavé n'émule pas un pavé mais les touches qui ne sont pas du pavé à
savoir celles qu'il y a au dessus de tes lettres [1&; 2é; 3"; 4'; 5(;
6-; 7è ;8_ ;9ç ...].
Voilà pourquoi je suis obligé d'activer la majuscule de mon clavier pour
avoir les chiffres (et je parle pas des opérateurs).

Donc aucun risque de savoir qui ça vient de là.

Cordialement,

Victor
Avatar
Mickael
COASNE Victor wrote:

Tu as testé ?
Car ça rajoute bien "(PAVE NUM.)" quand la touche vient du pavé.


Bonjour,

Oui j'ai testé j'obtient le même code.
Je ne me permet pas de dire que cela marche pas si je ne teste pas.

Le pavé n'émule pas un pavé mais les touches qui ne sont pas du pavé à
savoir celles qu'il y a au dessus de tes lettres [1&; 2é; 3"; 4'; 5(;
6-; 7è ;8_ ;9ç ...].
Voilà pourquoi je suis obligé d'activer la majuscule de mon clavier pour
avoir les chiffres (et je parle pas des opérateurs).

Donc aucun risque de savoir qui ça vient de là.



Ok.
En passant, tu as bien renseigné le scanCode << 16 ?
Sinon, si c'est un pavé qui n'émule pas un pavé, effectivement, ça ne
facilite pas les choses :-)
Avatar
COASNE Victor
Mickael a écrit :
COASNE Victor wrote:

Tu as testé ?
Car ça rajoute bien "(PAVE NUM.)" quand la touche vient du pavé.


Bonjour,

Oui j'ai testé j'obtient le même code.
Je ne me permet pas de dire que cela marche pas si je ne teste pas.

Le pavé n'émule pas un pavé mais les touches qui ne sont pas du pavé à
savoir celles qu'il y a au dessus de tes lettres [1&; 2é; 3"; 4'; 5(;
6-; 7è ;8_ ;9ç ...].
Voilà pourquoi je suis obligé d'activer la majuscule de mon clavier
pour avoir les chiffres (et je parle pas des opérateurs).

Donc aucun risque de savoir qui ça vient de là.



Ok.
En passant, tu as bien renseigné le scanCode << 16 ?
Sinon, si c'est un pavé qui n'émule pas un pavé, effectivement, ça ne
facilite pas les choses :-)


Bonjour,

J'ai essayé avec le scanCode 16 marche pas, j'avais mis 256 sans succès
non plus.

J'ai trouvé la solution : je vais rendre le pavé numérique à Auchan.

Merci beaucoup pour ton aide,

Bonne journée,

Victor
Avatar
François
"COASNE Victor" wrote in message news:g6cgc7$t8o$

Ok.
En passant, tu as bien renseigné le scanCode << 16 ?
Sinon, si c'est un pavé qui n'émule pas un pavé, effectivement, ça ne
facilite pas les choses :-)



J'ai essayé avec le scanCode 16 marche pas, j'avais mis 256 sans succès
non plus.



Donc ça veut dire que tu as le même scan code pour le pavé et pour le clavier ?!
Avatar
COASNE Victor
François a écrit :
"COASNE Victor" wrote in message news:g6cgc7$t8o$

Ok.
En passant, tu as bien renseigné le scanCode << 16 ?
Sinon, si c'est un pavé qui n'émule pas un pavé, effectivement, ça ne
facilite pas les choses :-)



J'ai essayé avec le scanCode 16 marche pas, j'avais mis 256 sans succès
non plus.



Donc ça veut dire que tu as le même scan code pour le pavé et pour le clavier ?!




Exact car le pavé émulait le clavier.