Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS

Silverlight : Détecter les touches Alt, Ctrl, Pomme…

[new:19/06/2010] Dans un précédent billet je vous ai présenté ma classe KeyLogger (voir Création de jeux et détection de touches clavier multiples sous Silverlight) qui permet de détecter toutes les touches et notamment la pression de plusieurs touches en même temps. Cela est idéal pour les jeux notamment. Mais dans certains cas on a juste besoin de détecter la pression sur les touches de modification telles que Control, Alt ou Pomme sur un Mac.

Si le besoin est ponctuel et si la détection simultanée d’autres touches n’est pas importante, on peut utiliser un code plus simple (quoi que la classe KeyLogger est déjà écrite pour vous et qu’il suffit de l’utiliser).

Pour connaître les “modificateurs” (modifiers en anglais) il suffit de consulter KeyBoard.Modifiers qui retourne tous les modificateurs appuyés à un instant donné.

Pour interpréter le résultat voici un bout de code :

   1: var keys = Keyboard.Modifiers; 
   2: var shiftKey = (keys & ModifierKeys.Shift) != 0; 
   3: var altKey = (keys & ModifierKeys.Alt) != 0; 
   4: var appleKey = (keys & ModifierKeys.Apple) != 0; // pour les Mac
   5: var controlKey = (keys & ModifierKeys.Control) != 0; 
   6: var windowsKey = (keys & ModifierKeys.Windows) != 0;

C’est tout simple et ça peut servir…

Faites des heureux, partagez l'article !
blog comments powered by Disqus