Example #1
0
 // Update Thread
 private void Update(object sender)
 {
     while (true)
     {
         if (keys.Count > 0)
         {
             List <Key> keysData = new List <Key>(keys.Values);
             if (keysData != null && keysData.Count > 0)
             {
                 foreach (Key key in keysData)
                 {
                     if (Convert.ToBoolean(Managed.GetKeyState(key.Id) & Managed.KEY_PRESSED))
                     {
                         if (!key.IsKeyDown)
                         {
                             key.IsKeyDown = true;
                             OnKeyDown(key.Id, key.Name);
                         }
                     }
                     else
                     {
                         if (key.IsKeyDown)
                         {
                             key.IsKeyDown = false;
                             OnKeyUp(key.Id, key.Name);
                         }
                     }
                 }
             }
         }
         Thread.Sleep(interval);
     }
 }
Example #2
0
 private void Update(object sender)
 {
     while (true)
     {
         if (this.keys.Count > 0)
         {
             List <Key> list = new List <Key>(this.keys.Values);
             if ((list != null) && (list.Count > 0))
             {
                 foreach (Key key in list)
                 {
                     if (Convert.ToBoolean((int)(Managed.GetKeyState(key.Id) & 0x8000)))
                     {
                         if (!key.IsKeyDown)
                         {
                             key.IsKeyDown = true;
                             this.OnKeyDown(key.Id, key.Name);
                         }
                     }
                     else if (key.IsKeyDown)
                     {
                         key.IsKeyDown = false;
                         this.OnKeyUp(key.Id, key.Name);
                     }
                 }
             }
         }
         Thread.Sleep(this.interval);
     }
 }