현재 DirectInput을 초기화 시키고 키 값을 입력받아서 사용하게 만들어 놓았습니다.
메시지큐를 1초에 33번정도만 보도록 해 놓았구요
문제는 연속으로 입력되는 것에 있는데 말이죠.
키보드를 누르고 있으면 그 키보드를 계속 입력받습니다.
그런데 제가 원하는 것은 키보드를 누르고 있어도 한 번만 입력받게 하는 것인데 말이죠.
어떻게 하면 좋을까요?
::ZeroMemory(buffer, sizeof(buffer));
hr = g_lpDIDevice->GetDeviceState(sizeof(buffer),(LPVOID)&buffer);
이렇게 얻어와서 사용하게 만들어 놓았구요
define에 의해서 KEYDOWN(buffer, DIK_UP)이렇게 사용가능하게 해 놓았습니다.(도큐먼트에 나와 있더군요)
좀 많이 고민해 봤었는데 전의 메시지를 조사해서 지금 메시지와 같으면 입력이 안되게 한다.. 뭐 이렇게 생각해 봤는데 말이죠
혹시라도 소스로 보여주시면 고맙겠습니다만, -ㅅ- 귀찮으시면 말로라도 설명해 주시길 부탁드립니다.
그럼 답변 기다릴께요(씨익~)
전의 메세지를 조사한다고 해봤자 buffer를 m_pPreviousBuffer 정도에 복사해놨다가(memcpy) 그값이랑 다를때만 처리하시면 될 듯 합니다