마우스 프로그래밍 다시 질문입니다.. 휠버튼 읽어오기

nekoko의 이미지

마우스로부터 3바이트 읽어오는 내용에 대해 알았는데요

휠을 위로 굴리거나 아래로 굴리거나
값이 모두 "마우스 버튼 릴리즈"값이랑 똑같이 나오더라구요

그래서 휠값을 특정지을 수가 없는데..

첫 1바이트 값이 버튼 정보라고 글을 읽었는데

휠 값(위아래로 굴리기)에 대해선 어떤지 모르겠습니다.

어떻게 처리해야 하나요..?

ganadist의 이미지

저번에 올린 소스에서 button4, button5 값이 참이면, 휠 위, 아래 동작으로 처리하면 될껍니다.

자세한 내용은 X서버의 마우스 드라이버 소스을 참조하세요.

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

nekoko의 이미지

말씀하신 코드로 출력해봤는데..
아예 휠 굴릴 때의 코드 자체가 똑같이 날라오는거 같습니다.
그래서 여전히 구분할 수 없는 값으로 찍히네요..
char tmp[3];
char buttons;
read(fd, tmp, 3);
buttons = (tmp[0] & 0x04) >> 1 | /* Middle */
(tmp[0] & 0x02) >> 1 | /* Right */
(tmp[0] & 0x01) << 2 | /* Left */
(tmp[0] & 0x40) >> 3 | /* button 4 */
(tmp[0] & 0x80) >> 3; /* button 5 */
printf("%d\n",buttons);

이렇게 해봤는데..

usb 마우스라 그런 것일까요..?

"I'm convinced that the only thing that kept me going was that I loved what I did." - Steve Jobs 1955-2011