Esempio n. 1
0
 private Buttons.ButtonStates GetDebounced()
 {
     Buttons.ButtonStates s2 = Buttons.ButtonStates.None;
     for (;;)
     {
         Buttons.ButtonStates s1 = ReadStates();
         if (s1 == s2)
         {
             return(s1);
         }
         Thread.Sleep(debounceTime);
         s2 = ReadStates();
     }
 }
Esempio n. 2
0
 public Buttons.ButtonStates GetKeypress(CancellationToken token)
 {
     Buttons.ButtonStates bs = GetDebounced();
     while (bs != Buttons.ButtonStates.None && !token.IsCancellationRequested)
     {
         bs = GetDebounced();
     }
     do
     {
         Thread.Sleep(pollTime);
         bs = GetDebounced();
     } while (bs == Buttons.ButtonStates.None && !token.IsCancellationRequested);
     return(bs);
 }
Esempio n. 3
0
		public void EnterReleased()
		{
			state &= ~Buttons.ButtonStates.Enter;
		}
Esempio n. 4
0
 public void EscPressed()
 {
     state = state | Buttons.ButtonStates.Escape;
 }
Esempio n. 5
0
		public void EscPressed()
		{
			state = state | Buttons.ButtonStates.Escape;
		}
Esempio n. 6
0
		public void RightPressed()
		{
			state = state | Buttons.ButtonStates.Right;
		}
Esempio n. 7
0
		public void LeftPressed()
		{
			state = state | Buttons.ButtonStates.Left;
		}
Esempio n. 8
0
		public void UpPressed()
		{
			state = state | Buttons.ButtonStates.Up;
		}
Esempio n. 9
0
 public void UpPressed()
 {
     state = state | Buttons.ButtonStates.Up;
 }
Esempio n. 10
0
 public void DownReleased()
 {
     state &= ~Buttons.ButtonStates.Down;
 }
Esempio n. 11
0
 public void DownPressed()
 {
     state = state | Buttons.ButtonStates.Down;
 }
Esempio n. 12
0
 public void EnterReleased()
 {
     state &= ~Buttons.ButtonStates.Enter;
 }
Esempio n. 13
0
 public void EnterPressed()
 {
     state = state | Buttons.ButtonStates.Enter;
 }
Esempio n. 14
0
 public void EscReleased()
 {
     state &= ~Buttons.ButtonStates.Escape;
 }
Esempio n. 15
0
		public void DownPressed()
		{
			state = state | Buttons.ButtonStates.Down;
		}
Esempio n. 16
0
		public void DownReleased()
		{
			state &= ~Buttons.ButtonStates.Down;
		}
Esempio n. 17
0
 public void UpReleased()
 {
     state &= ~Buttons.ButtonStates.Up;
 }
Esempio n. 18
0
		public void UpReleased()
		{
			state &= ~Buttons.ButtonStates.Up;	
		}
Esempio n. 19
0
 public void LeftPressed()
 {
     state = state | Buttons.ButtonStates.Left;
 }
Esempio n. 20
0
		public void LeftReleased()
		{
			state &= ~Buttons.ButtonStates.Left;	
		}
Esempio n. 21
0
 public void LeftReleased()
 {
     state &= ~Buttons.ButtonStates.Left;
 }
Esempio n. 22
0
		public void RightReleased()
		{
			state &= ~Buttons.ButtonStates.Right;	
		}
Esempio n. 23
0
 public void RightPressed()
 {
     state = state | Buttons.ButtonStates.Right;
 }
Esempio n. 24
0
        void ButtonPollThread()
        {
            Thread.CurrentThread.IsBackground = true;
            Buttons.ButtonStates lastState = Buttons.Instance.GetDebounced();
            while (!stopPolling.WaitOne(pollTime))
            {
                Buttons.ButtonStates bs = Buttons.Instance.GetDebounced();
                if (bs != lastState)
                {
                    Buttons.ButtonStates pressed = (bs ^ lastState) & (~lastState);
                    switch (pressed)
                    {
                    case Buttons.ButtonStates.Down:
                        queue.Enqueue(DownPressed);
                        break;

                    case Buttons.ButtonStates.Enter:
                        queue.Enqueue(EnterPressed);
                        break;

                    case Buttons.ButtonStates.Escape:
                        queue.Enqueue(EscapePressed);
                        break;

                    case Buttons.ButtonStates.Left:
                        queue.Enqueue(LeftPressed);
                        break;

                    case Buttons.ButtonStates.Right:
                        queue.Enqueue(RightPressed);
                        break;

                    case Buttons.ButtonStates.Up:
                        queue.Enqueue(UpPressed);
                        break;
                    }

                    Buttons.ButtonStates released = (bs ^ lastState) & lastState;
                    switch (released)
                    {
                    case Buttons.ButtonStates.Down:
                        queue.Enqueue(DownReleased);
                        break;

                    case Buttons.ButtonStates.Enter:
                        queue.Enqueue(EnterReleased);
                        break;

                    case Buttons.ButtonStates.Escape:
                        queue.Enqueue(EscapeReleased);
                        break;

                    case Buttons.ButtonStates.Left:
                        queue.Enqueue(LeftReleased);
                        break;

                    case Buttons.ButtonStates.Right:
                        queue.Enqueue(RightReleased);
                        break;

                    case Buttons.ButtonStates.Up:
                        queue.Enqueue(UpReleased);
                        break;
                    }
                    lastState = bs;
                }
            }
        }
Esempio n. 25
0
		public void EscReleased()
		{
			state &= ~Buttons.ButtonStates.Escape;	
		}
Esempio n. 26
0
		public void EnterPressed()
		{
			state = state | Buttons.ButtonStates.Enter;
		}
Esempio n. 27
0
 public void RightReleased()
 {
     state &= ~Buttons.ButtonStates.Right;
 }