2014-02-21 2 views
0

콘솔에서 마우스 위치를 얻으려고합니다.(Linux) 마우스의 초기 위치를 얻거나 C없이 x없이 커서 위치를 설정하는 방법은 무엇입니까?

하지만 x/y는 움직임에 관한 것입니다. 그래서 나는 위치를 계산해야합니다. X를 사용할 수있는 방법이 있지만 프로그램에서 프레임 버퍼를 사용하고 있으므로 X없이 얻는 방법을 원합니다.

이 코드로 움직임이 있습니다.

#include <stdio.h> 
#include <fcntl.h> 
#include <linux/input.h> 
#include <unistd.h> 
#define MOUSEDEV "/dev/input/event0" 
//#pragma pack(1) 

int filedesc; 

int x, y; 

void readm(){ 
    struct input_event in; 
    read(filedesc, &in, sizeof(struct input_event)); /* there was data to read */ 
    if(in.type == 3) 
    printf("Input: Time: %d.%d Type: %d Code: %d Value: %d\n", in.time.tv_sec, in.time.tv_usec, in.type, in.code, in.value); 
    usleep(1000); 
} 

int main(){ 
    filedesc = open(MOUSEDEV, O_RDWR); 
    while(1) readm(); 
    return 0; 
} 
+0

외부 마우스를 사용하는 GPM 소프트웨어 왜 물어합니까? –

답변

1

마우스는 지정되지 않은 단위로 상대 위치를 제외하고는 아무 것도 알려주지 않습니다.

당신은 알 필요가 없습니다.

시작점과 트랙 위치를 결정하면됩니다.

1

정의에 따르면 mouse은 상대 위치 (절대 위치가 아니라 마우스 하드웨어의 작동 방식)를 제공합니다.

사용 (또는 적어도 연구) X.

관련 문제