Donc, j'utilise un contrôle de la grille WPF troisième partie qui est codé dur pour n'accepter que certaines touches de frappe pour effectuer des réactions de coupe courtes et l'une de celles-ci est la languette de changement de vitesse. Cependant, ma base d'utilisateur est utilisée pour frapper une flèche vers le haut et le bas de la flèche et leur dire «non» n'est pas une option actuelle. Donc, ma seule option que je pense consiste à intercepter la clé de prévisualisation et à envoyer une combinaison de traitreurs clé différente.
Maintenant, j'utilise le code suivant que j'ai trouvé ici pour envoyer un onglet lorsque l'utilisateur appuie sur la flèche vers le bas: < / p> Cependant, cette méthode est limitée en ce que vous ne semblez pas être capable de simuler une pression sur le bouton de décalage? WPF semble regarder les claviers.Modificateurs pour pouvoir "lire" un quart de travail ou un CTRL, mais il ne semble pas y avoir de facilité pour définir le clavier.Modificateurs de manière programmable. Toute aide là-bas? P> p>
3 Réponses :
Je simulez ce que vous dites bien en utilisant ce qui suit n'est pas ce que vous voulez dire? Sortie: P> LeftShift
Tab
Merci, mais je ne pense pas que c'était ça. Ce que je cherche, c'est une combinaison de clés de l'onglet de changement de vitesse en même temps.
Hmm je vois. C'est bizarre parce que l'utilisation de clé.leftshift | Key.Tab résulte dans une Ctrlleft pour une certaine raison étrangère mais probablement bonne raison. J'aurai un peu plus d'enquête quand je peux
@Rea_andrew: Vous voyez que cela se produit parce que clés code> ne sont pas des indicateurs pouvant être combinés, c'est une énumération où
clé.leftshift = 116 code> et
key.tab = 3 < / code>. Le résultat est de 119 quelle carte vers
clé.rightctrl = 119 code> (Appuyez sur F12 dans Visual Studio lorsque le curseur est sur la touche code> code> pour ouvrir la définition).
Essayez ce dans l'application WPF, SendKeys.Send ne fonctionne pas, mais Sendwait fonctionne bien. p> p>
Créer un makkeyboardDevice comme ceci (félicitations à Jared Parsons):
https://github.com/vsvim/vsvim/blob/master/src/vimtestutils/mock/mockkeyboardDevice.cs P>
Utilisation: P>
var modKey = ModifierKeys.Shift; var device = new MockKeyboardDevice(InputManager.Current) { ModifierKeysImpl = modKey }; var keyEventArgs = device.CreateKeyEventArgs(Key.Tab, modKey); ...