2014-06-05 5 views
0

Linux에서 마우스 이벤트를 발생시키지 않고 Wacom 타블렛에서 데이터를 읽을 수있는 방법이 있습니까?Wacom 타블렛에서 데이터 읽기 전용

우분투 12.04 LTS 및 Wacom Intuos 5를 사용하고 있습니다. 우분투에서 타블렛을 사용해도 괜찮습니다. Ggtkmm3.0을 통해 타블렛을 사용하고 있습니다. 그러나 나는 창에 바인딩하지 않고 태블릿의 축 데이터 만 얻고 싶습니다. Gtkmm의 창은 타블렛 이벤트를 얻을 수 있지만 이벤트 주도적이기 때문에 주기적이지 않습니다.

+0

축 데이터 만 얻으려면 전체 크기 창을 사용하는 것이 좋지 않다고 생각합니다. 축만 CUI를 얻을 수있는 방법이 있습니까? – user3079127

답변

0

Linux 입력 서브 시스템을 사용하면 작업을 수행 할 수 있습니다.

코드가 여기 있습니다. 이것은 cordinate (X, Y) 및 압력을 인쇄합니다. 당신의 pentablet 장치 경로 인 경우

이는/dev/입/event7는,이 프로그램의 사용법은
% gcc -o lis_read lis_read.c 

:

#include <stdio.h> 
#include <stdlib.h> 
#include <linux/input.h> 
#include <unistd.h> 

int main (int argc, char *argv[]) { 
    struct input_event event; 

    for (;;) { 
     if (read(0, &event, sizeof(event)) != sizeof(event)) { 
      exit(EXIT_FAILURE); 
     } 

     switch(event.type) { 
     case EV_ABS: 
      switch (event.code) { 
      case ABS_X: 
       printf("ABS_X: %d\n", event.value); 
       break; 
      case ABS_Y: 
       printf("ABS_Y: %d\n", event.value); 
       break; 
      case ABS_PRESSURE: 
       printf("ABS_PRESSURE: %d\n", event.value); 
       break; 
      default: 
       break; 
      } 
      break; 
     } 
    } 

    return EXIT_SUCCESS; 
} 

당신은이를 구축 할 수 있습니다 (예를 들어, 파일 이름은 lis_read.c입니다)

% ./lis_read < /dev/input/event7 

이 프로그램은 루트 권한이 필요합니다.