(가상) 직렬 포트를 통해 PC와 통신하는 장치에서 작업하고 있습니다. 문제는 때때로 우리가 보내고있는 데이터가 Windows에서 버스 마우스로 잘못 식별되는 것입니다. "Microsoft Serial Ballpoint"드라이버가로드되고 마우스 포인터가 화면에서 점프하여 무작위로 클릭하기 시작합니다.장치가 직렬 마우스로 잘못 감지되었습니다.
인터넷 검색의 한 비트는 직렬 장치에서 오래되고 잘 알려진 문제로서 일반적인 해결 방법은 위반하는 드라이버를 비활성화하기위한 레지스트리 해킹이라고 설명합니다. 그러나 사용자로부터 요구하는 것이 많아서 응용 프로그램을 사용자 레지스트리와 함께 사용하지 않는 것이 좋습니다. 특히 Windows 버전에 따라 수정 사항이 달라지면 사용자가 버스 마우스를 사용할 수도 있습니다.
대신 우리가 마우스로 잘못 식별 할 수있는 데이터를 보내지 않도록 프로토콜을 변경하여 문제를 피하고 싶습니다. 유일한 문제는 어떤 패턴을 피해야하는지 확실히 알 수 없다는 것입니다. 분명히 Microsoft의 마우스 프로토콜은 첫 번째 MSB가 설정되고 마지막 세 MSB가 설정된 4 바이트 패킷으로 구성됩니다.
전송은 7 비트 ASCII로 충분합니까? 내가 탐지되는 것에 대해 걱정할 필요가있는 다른 장치가 있습니까?
당신은 일반적으로 사용할 수 없습니다 구현 세부 사항을 요구한다. 당신을 도울 수있는 누군가가 있습니다. 그는 Redmond에 거주하며 파트너 프로그램이나 Microsoft 지원을 통해 액세스 할 수 있습니다. –
나는 과거에 장치가 COM 포트로 Windows에 자신을 소개 한 다음 시스템에 연결되면 마우스로 인식되는 즉시 자동으로 전송하기 시작한다는 것을 발견했습니다. 이것은 전송하는 데이터와 상관없이 4 바이트와 일치하지 않습니다. 기기가 전송을 시작하기 전에 잠시 기다릴 수 있습니까? – tinman
주석 : 힌트를 보내 주셔서 감사합니다! 대신 PC 응용 프로그램에서 업데이트를 폴링하고 첫 번째 요청을하기 전에 두 번째 또는 두 번 기다려 봅니다. – doynax