Je viens de commencer à utiliser l'entrée brute pour mon application. En arrivant directement à la question, dans les anciens messages WM_KEYDOWN
, le lParam
pourrait être vérifié pour obtenir des informations supplémentaires sur la touche. Comme ces-Recherche de données de répétition de clé dans le message WM_INPUT
Bits Meaning
0-15 The repeat count for the current message.
The value is the number of times the keystroke is autorepeated as a
result of the user holding down the key. If the keystroke is
held long enough, multiple messages are sent. However, the repeat
count is not cumulative.
16-23 The scan code. The value depends on the OEM.
24 Indicates whether the key is an extended key, such as the right-hand
ALT and CTRL keys that appear on an enhanced 101- or 102-key
keyboard. The value is 1 if it is an extended key; otherwise, it is
0.
25-28 Reserved; do not use.
29 The context code. The value is always 0 for a WM_KEYDOWN message.
30 The previous key state. The value is 1 if the key is down before the
message is sent, or it is zero if the key is up.
31 The transition state. The value is always 0 for a WM_KEYDOWN
message.
Je veux savoir si un message WM_INPUT
est une clé répétée, afin que je puisse ignorer ce message. (Désactiver keyrepeat.)
Le problème que j'ai est que cette les informations ne peuvent pas être trouvées pour le message WM_INPUT
. le lParam
du message WM_INPUT
contient le handle d'une structure RAWINPUT
. En faisant quelques recherches, je trouve que l'intérieur RAWINPUT::header
contient un membre appelé wparam dans MSDN et décrit comme
wParam
Type:WPARAM
La valeur passée dans le paramètrewParam
du messageWM_INPUT
. Est-ce que je trouverai l'information requise ici ou est-ce quelque part ailleurs?
Essayez de consigner les messages 'WM_INPUT' dans la fenêtre de console/débogage. IIRC le système vous envoie un 'WM_INPUT' pour chacune des répétitions. – theB
@theB oui, que je suis au courant. Je veux savoir si un message est répété pour que je puisse l'ignorer. Je vais mettre à jour la question avec cette info –