Как я могу исправить цикл нажатия клавиш, который останавливается при нажатии другой клавиши? - PullRequest
0 голосов
/ 16 декабря 2018

Я запрограммировал петлю, которая спамит пробел (низкоуровневый ввод), когда я удерживаю пробел.Это работает, но внезапно перестает работать, когда я нажимаю любую другую клавишу, удерживая клавишу пробела.Как я могу это исправить?Я использую InputManager API из здесь .

        private void GlobalHookKBKeyUp(object sender, KeyEventArgs e)
    {
        if (spacePressed == true)
        {
            if (e.KeyCode == Keys.Space)
            {
                spacePressed = false;
                timer1.Stop();
            }
        }
    }

    private void GlobalHookKBKeyDown(object sender, KeyEventArgs e)
    {
        if (checkBox2.Checked == true)
        {
            if (canJump == true)
            {
                if (e.KeyCode == Keys.Space)
                {
                    spacePressed = true;
                    timer2.Start();
                }
            }
        }
    }

    private void timer2_Tick(object sender, EventArgs e)
    {
        if (spacePressed == true)
        {
            Keyboard.KeyPress(Keys.Space);
        }
    }
...