c언어, 코드스페이스 사용중입니다.

main함수 구조는 이런식이고요

int main()
{
    setlocale(LC_ALL, "");

    init();


    while (m_bRunning)
    {
        handleEvents();
        render();

    }

    clean();
    return 0;
}


init에서 실행 전 기초 함수를 호출했습니다.

void init()
{
    initscr();              
    keypad(stdscr, TRUE);
    noecho();              
    nodelay(stdscr, TRUE);
    curs_set(FALSE);        
    timeout(50);
}


입력 제어는 handleEvents에서 하는데,
v키 hold하는 동안 swim상태를 유지하고 싶은데,
키보드 반복 입력 제한? 때문에 v키 초기 입력 이후 몇 프레임 동안 v키 입력이 씹히는 현상이 발생합니다.

혹시 해당 문제에 대한 해결 방안을 아시는 분 계실까요?

void handleEvents()
{
    int input = getch();

    switch (input)
    {
        case 'q':
            m_bRunning = false;
            break;
        case 'w':
            if (Map1[playerY-1][playerX] != 1 && Map1[playerY-1][playerX] != 9)
            {
                --playerY;
            }
            pos = -3;   // 위 = -3
            break;
        case 's':
            if (Map1[playerY+1][playerX] != 1 && Map1[playerY+1][playerX] != 9)
            {
                ++playerY;
            }
            pos = 3;    // 아래 = 3
            break;
        case 'a':
            if (Map1[playerY][playerX-1] != 1 && Map1[playerY][playerX-1] != 9)
            {
                --playerX;
            }
            pos = -1;   // 왼 = -1
            break;
        case 'd':
            if (Map1[playerY][playerX+1] != 1 && Map1[playerY][playerX+1] != 9)
            {
                ++playerX;
            }
            pos = 1;    // 오 = 1;
            break;
        case ' ':
            fire();
            break;
        case 'v':
            Swim();
            break;
    }
}