Beispiel #1
0
        private void tmrProcess_Tick(object sender, EventArgs e)
        {
            byte keyCount = 0;

            for (int i = 0; i < buttonCount; i++)
            {
                keyCount += btns[i].Process();
            }
            kpsHandler.Update(keyCount);
        }
Beispiel #2
0
        private void tmrProcess_Tick(object sender, EventArgs e)
        {
            byte keyCount  = 0;
            uint eventmask = 0;

            for (int i = 0; i < buttonCount; i++)
            {
                byte state = btns[i].Process();
                if (state == 1 && ((previousbuttonstate >> i) & 1) == 0)
                {
                    previousbuttonstate |= 1 << i;
                    keyCount            += state;
                }
                else if (state == 0)
                {
                    previousbuttonstate &= ~(1 << i);
                }
                eventmask = (eventmask << 1) | state;
            }
            eventmask <<= (MAX_BUTTONS - buttonCount);
            kpsHandler.Update(keyCount);
            UpdateRecord(eventmask);
        }