· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/Wacom-KLDP

* 장치 선택막대

장치는 xsetpointer -l 또는 xinput list명령에서 확인했던 입력장치로 Wacom 타블렛을 지정하면 된다.

* 모드 선택막대

모드에는 3종류가 있다.

  • 사용 안함 : 지정한 입력장치를 사용하지 않는다.
  • 화면 : 입력장치의 X, Y 좌표를 전체 화면과 매칭하여 입력받는다.
  • : 입력장치의 X, Y 좌표를 그림창 화면과 매칭하여 입력받는다.

* 축 탭

5개 또는 6개의 축을 지정한다. 이 값을 바꿀 필요는 없다. 만약 X축을 2로, Y축을 1로 변경한다면 180° 회전한 상태로 입력이 될 것이다.

* 글쇠 탭

매크로 키를 할당하는 탭이다. ArtPad 시리즈, Ultrapad 시리즈는 매크로 키를 사용할 수 있지만 Intuos 시리즈는 사용할 수 없다. 필자는 총 32개의 매크로 키를 입력 받을 수 있다. 1번 키에 Ctrl+N(새 그림), 2번 키에 Ctrl+O(열기)를 넣어본 후 타블렛의 1번 매크로 키를 클릭하면 새 그림을 만드는 창이 열리게 된다.

5. 콘솔에서 사용하기

gpm(general purpose mouse) 데몬은 콘솔에서 마우스, 타블렛, 조이스틱 등을 사용하여 자르기 & 붙이기를 할 수 있는 마우스 서버다. 최신 gpm 은 ftp://ftp.prosa.it/pub/gpm 에서 얻을 수 있다. 현재(2000년 5월 초) 최신 버전은 1.19.2, 안정버전은 1.18.1 이다.

필자는 여러 gpm 버전에서 타블렛을 사용해보려고 했지만 동작하지 않았다. 하지만 이 글에서는 하우트 문서 등을 통해 얻은 내용을 정리해보겠다.

gpm 버전에 따라 지원하는 Wacom 타블렛 시리즈가 다르며 옵션 또한 다르다. 따라서 자신의 타블렛 시리즈에 맞는 gpm 버전을 사용해야 한다.

  • v1.18.1 이전 : 옛 ArtPad 시리즈
    gpm -k;gpm -t wacom -m /dev/ttyS0
    
  • v1.18.1 부터 : Graphire 시리즈(펜, 마우스)
    gpm -k;gpm -t wacom -o relative -m /dev/ttyS0 (상대 좌표 모드)
    gpm -k;gpm -t wacom -o absolute -m /dev/ttyS0 (절대 좌표 모드) 
    

gpm의 버전과 지원하는 입력장치 목록을 확인해보자.

~# gpm -t help

gpm-Linux 1.17.5, $Date: 2003/08/10 02:52:29 $
Available mouse types are:

  name   synonym         description

  ps2    PS/2         Busmice of the ps/2 series. Most busmice, actually.
  ...
  wacom               Wacom tablet
  genitizer              "Genitizer" tablet, in relative mode.
  ...
  js     Joystick     Joystick mouse emulation

5.1 콘솔에서 마우스와 타블렛 사용 전환 쉽게하기

마우스와 타블렛을 함께 사용하는 경우에 마우스에서 타블렛으로, 또는 타블렛에서 마우스로 전환하는 것이 불편할 것이다. loadkeys를 사용하면 쉽게 전환이 가능하다.

F11을 누르면 마우스를 F12을 누르면 타블렛을 사용하도록 해보자. 물론 이 F11, F12는 콘솔에서만 적용된다.

#!/bin/sh

loadkeys << END
keycode 87 = F11
keycode 88 = F12
string F11 = "gpm -k;/etc/rc.d/init.d/gpm start^M"
string F12 = "gpm -k;gpm -t wacom -m /dev/ttyS0^M"
END

쉘스크립트를 리눅스 부팅할 때 실행되도록 한다. 스크립트 중 ^M은 Ctrl+V를 누른 다음 Enter 키를 눌러야 한다. loadkeys에 대한 것은 리눅스 한글 문서 프로젝트에서 키보드와 콘솔 하우트를 읽어보기 바란다.

5.2 gpm와 XFree86를 동시할 때 문제

gpm에서 타블렛을 사용하도록 했다면, XFree86에서 타블렛을 사용할 수 없으며, XFree86은 다음과 같은 메시지를 뿌릴 것이다.

(--) Wacom tablet model : UD-0608-R00 V1.4-2
Wacom unable to read first byte of request '~R' answer after 3 tries
Wacom unable to read first byte of request '~#' answer after 3 tries

이를 해결하는 방법은 XFree86 시작 전에 gpm 데몬을 죽이거나(무서운 표현인가요?) gpm이 마우스를 사용하도록 바꾸면 된다.

gpm -k;/etc/rc.d/init.d/gpm start; startx 또는
gpm -k; startx

6. 참고 자료

  • Wacom 타블렛 제품 정보 : intuos 시리즈, graphire 시리즈, PL300/PL400 등의 제품 정보를 제공한다. - http://www.wacom.com/productinfo/index.html
  • Wacom 타블렛 하우트 문서 : Wacom 타블렛을 XFree86, gpm, GIMP 등에서 사용하는 방법을 설명하고, XFree86 FAQ, gpm FAQ도 제공한다. 타블렛을 쓰기위한 필수 문서이다. - http://www.linuxdoc.org/HOWTO/Wacom-Tablet-HOWTO.html
  • XInput 하우트 문서 : XFree86에서 표준 입력장치인 마우스, 키보드를 확장하여 타블렛, 터치스크린, 조이스틱을 쓸 수 있도록 지원하는 XInput 확장에 대해 소개한다. - http://www.gtk.org/~otaylor/xinput/howto/index.html
  • XFree86 용 Wacom XInput 드라이버 : Wacom XInput 드라이버의 변화상을 한 눈에 볼 수 있는 곳이다. 드라이버 제작자인 Frederic Lepied의 XF86Config 의 설정도 볼 수 있다. - http://lepied.com/xfree86/
  • XFree86에서 XInput 에 대한 정보 : http://www.xfree86.org/3.3.6/xinput.html
  • XF86Config 맨페이지 : XInput Section 설정 방법을 설명한다.
  • XFree86 README 파일 (/usr/X11R6/lib/X11/doc/README)



Wacom 타블렛(Tablet) KLDP

Wacom 타블렛(Tablet) KLDP

황보 진호 truefeel@sarang.net

v0.1, 2000년 4월 28일 부터 5월 초
리눅서들의 꿈 중 하나가 PC에서 사용할 수 있다는 모든 하드웨어를 리눅스에서도 사용할 수 있기를 바라는 것이다. 어느 하드웨어를 구입해야 제대로 쓸 수 있게 되는지 고민하지 않게 될기 바라며 타블렛 중에서는 가장 많이 사용되는 것으로 알려진 Wacom 타블렛 사용법을 소개한다. 잘 못된 부분, 오자, 탈자가 있거나 도움을 줄 분은 truefeel@sarang.net 또는 truefeel@kisc.net 으로 메일을 보내주기 바란다.

1. 들어가기

Wacom 타블렛은 콘솔상에서 뿐만 아니라 Xwindow 에서도 사용할 수 있다.

  • 콘솔에서 사용 : gpm
  • Xwindow에서 사용 : XFree86 자체에 모듈형식으로 드라이버 제공

필자의 사용 환경은 다음과 같다.

  • CPU : 펜티엄 셀러론 400
  • Tablet : Wacom 타블렛(DIGITIZER II, 크기 : 6X8, 모델명 : UD-0608-R, ROM 버전 : v1.4-2)
  • Keyboard, Mouse : 세진전자 무선키보드(FREEBOARD, 모델명 : SWK-8695WT)
  • 배포판 : Redhat v6.1, v6.0
  • XFree86 : XFree86 v3.3.5, v3.3.3.1
  • gpm : gpm-Linux 1.17.5
  • gimp : 1.1.17
  • gtk+ : 1.2.6

2. XFree86 에서 사용하기

XFree86은 모듈 형식으로 조이스틱, 터치스크린 등을 포함한 AceCad, Wacom 타블렛 드라이버를 제공하고 있다. 이들 드라이버는 Frederic Lepied가 만들었으며, Wacom 타블렛용 드라이버는 xf86Wacom.so 이다. 드라이버는 XFree86 설정 파일인 XF86Config에서 Module Section 을 통해 로딩하여 사용하게 된다.

XFree86에서 지원하는 Wacom 타블렛은 다음과 같다.

  • ArtZ II 시리즈
  • ArtPad II
  • PL300(LCD 액정 펜 타블렛)
  • Pen Partner - XFree86 3.3.6 까지 동작, 하지만 XFree86 4.0에서 성공했다는 글은 아직 본적이 없다.
  • Graphire
  • Intuos 시리즈
  • SD와 HD 시리즈 - 표준 XFree86 에서는 지원하지 않는다.

XFree86 드라이버는 /usr/X11R6/lib/modules에 있다.

truefeel:/usr/X11R6/lib/modules# ls -lF
total 1392
drwxr-xr-x   2 root     root         4096 Apr  6 23:53 codeconv/
-rwxr-xr-x   1 root     root       599867 Oct 12  1999 pex5.so*
-rwxr-xr-x   1 root     root        18834 Oct 12  1999 xf86AceCad.so*
-rwxr-xr-x   1 root     root        19313 Oct 12  1999 xf86Calcomp.so*
-rwxr-xr-x   1 root     root        18185 Oct 12  1999 xf86Dial.so*
-rwxr-xr-x   1 root     root        14032 Oct 12  1999 xf86Dyna.so*
-rwxr-xr-x   1 root     root        19546 Oct 12  1999 xf86Elo.so*
-rwxr-xr-x   1 root     root        14689 Oct 12  1999 xf86Jstk.so*
-rwxr-xr-x   1 root     root        20652 Oct 12  1999 xf86MuTouch.so*
-rwxr-xr-x   1 root     root        19642 Oct 12  1999 xf86Summa.so*
-rwxr-xr-x   1 root     root        33957 Oct 12  1999 xf86Wacom.so*
-rwxr-xr-x   1 root     root       602169 Oct 12  1999 xie.so*

위와 같이 Wacom 타블렛, AceCad 타블렛, SummaSketch 타블렛 등의 타블렛과 조이스틱, Elographics 터치스크린, MicroTouch 터치스크린을 XFree86에서는 지원한다.

Wacom 타블렛을 사용하기 위한 XF86Config 설정 예를 보자. XF86Config은 /etc, /etc/X11 또는 /usr/X11R6/lib/X11 디렉토리에 있다.

# 모듈 경로 지정(모듈이 /usr/X11R6/lib/Modules 이외의 디렉토리에 있을 때 지정) 
#
Section "Files"
    ModulePath "/usr/X11R6/lib/modules"
EndSection

# Wacom 타블렛 모듈 로딩
#
Section "Module"
  Load "xf86Wacom.so"
EndSection

# Xinput 섹션 설정
#
Section "Xinput" 

    # WacomStylus 서브섹션 설정
    #
    # 1. 절대 모드(Wacom)
    # 2. 상대 모드(WacomRv)
    # 3. 절대 모드, AlwaysCore(WacomCore)
    #
    SubSection "WacomStylus"
        Port "/dev/ttyS0"
        DeviceName "Wacom"
        Mode Absolute
        Suppress 6
    EndSubSection
    SubSection "WacomStylus"
        Port "/dev/ttyS0"
        DeviceName "WacomRv"
        Mode Relative
    EndSubSection
    SubSection "WacomStylus"
        Port "/dev/ttyS0"
        DeviceName "WacomCore"
        Mode Absolute
        TiltMode
        AlwaysCore
    EndSubSection

    # WacomEraser 서브섹션 설정
    #
    # 1. 절대모드(Eraser)
    # 2. 절대모드, AlwaysCore(EraserCore)
    #
    SubSection "WacomEraser"
        Port "/dev/ttyS0"
        Mode Absolute
    EndSubSection
    SubSection "WacomEraser"
        Port "/dev/ttyS0"
        DeviceName "EraserCore"
        Mode Absolute
        AlwaysCore
    EndSubSection

    # WacomCursor 서브섹션 설정
    #
    SubSection "WacomCursor"
        Port "/dev/ttyS0"
    EndSubSection
EndSection

Wacom 타블렛 같은 확장 입력장치의 환경설정은 XInput Section에서 한다. Wacom 타블렛 관련 SubSection은 3가지가 있다.

  • WacomStylus : pen 또는 airbrush 조정
  • WacomEraser : pen 또는 airbrush의 지우개 버튼 조정
  • WacomCursor : Intuos 4D 마우스, graphire 마우스와 렌즈 커서(Lens cursor) 조정

3가지 SubSection에서 사용하는 옵션은 다음과 같다.

* Port "포트명"

타블렛이 연결된 시리얼 포트명을 지정한다. /dev/ttyS0은 COM1 포트이다.

* DeviceName "디바이스명"

디바이스명을 지정한다. 이 디바이스명은 X Input 장치를 선택할 때 등 프로그램 에서 사용하게 된다. 지정하지 않으면 디바이스 유형(Stylus, Eraser, Cursor) 이 디폴트로 지정된다.

* Mode "Absolute|Relative"

절대 좌표 또는 상대 좌표로 사용할 것인지 디바이스 모드를 지정한다. 이 모드는 X-window 사용 중에 xsetmode 로 변경할 수 있다.

* AlwaysCore

포인터(마우스, Stylus, Eraser, 등)를 공유할 수 있도록 한다. 즉, 2개 이상의 포인터를 동시에 사용할 수 있다. 마우스와 타블렛을 동시에 사용하고 싶다면 반드시 지정하기 바란다. AlwaysCore를 지정한 SubSection의 장치와 마우스는 동시에 사용하게 된다.

* HistorySize "숫자"

동작에 대한 버퍼 크기를 지정한다. 디폴트는 0이다.

* TopX "숫자"

상단 왼쪽 끝의 X 좌표를 지정한다.

* TopY "숫자"

상단 왼쪽 끝의 Y 좌표를 지정한다.

* BottomX "숫자"

하단 오른쪽 끝의 X 좌표를 지정한다.

* BottomY "숫자"

하단 오른쪽 끝의 Y 좌표를 지정한다.

* DebugLevel "레벨" ( XFree86 3.3.3에는 없음)

디버깅 정보의 레벨을 0에서 10까지 지정한다. 숫자가 높을수록 자세하게 로깅한다.

* TiltMode

사용하고 있는 타블렛 시리즈가 기울기를 지원할 경우 이 옵션을 지정하면 기울기를 사용할 수 있다. 타블렛의 ROM 버전은 1.4 이상이어야 한다. 이 버전은 XFree86 실행할 때 확인할 수 있다.

자   이제 앞에서 소개한 XF86Config 설정을 이해했는가? 위의 설정을 보면,

  1. 마우스,
  2. 절대 모드(Mode Absolute 옵션)의 펜 또는 에어브러쉬,
  3. 절대 모드의 지우개 버튼
을 동시(AlwaysCore 옵션)에 사용할 수 있음을 알 수 있다.

설정이 다 끝났다면 X-window를 실행해보자. 아  타블렛을 먼저 켠 상태에서 X-window을 실행하기 바란다. 그렇지 않으면 타블렛을 사용할 수 없음은 물론이고 X-window 첫 화면을 보기 위해 많은 인내심(?)과 지루함을 달랠만한 뭔가가 있어야 할 것이다.

truefeel:~# startx
...

(**) Adding extended device "SWITCH" (type: Switch)
(**) Adding extended device "Wacom" (type: Wacom Stylus)
(**) Adding extended device "WacomRv" (type: Wacom Stylus)
(**) Adding extended device "WacomCore" (type: Wacom Stylus)
(**) Adding extended device "STYLUS" (type: Wacom Stylus)
(**) Adding extended device "ERASER" (type: Wacom Eraser)
(**) Adding extended device "EraserCore" (type: Wacom Eraser)
(**) Adding extended device "CURSOR" (type: Wacom Cursor)
(--) Wacom tablet model : UD-0608-R00 V1.4-2
(--) Wacom IV tablet maximum X=10240 maximum Y=7680 X resolution=1270
     Y resolution=1270 suppress=6 Tilt
(--) Wacom tablet top X=0 top Y=0 bottom X=10240 bottom Y=7680
(--) Wacom tablet top X=0 top Y=0 bottom X=10240 bottom Y=7680
(--) Wacom tablet top X=0 top Y=0 bottom X=10240 bottom Y=7680
(--) Wacom tablet top X=0 top Y=0 bottom X=10240 bottom Y=7680
(--) Wacom tablet top X=0 top Y=0 bottom X=10240 bottom Y=7680
(--) Wacom tablet top X=0 top Y=0 bottom X=10240 bottom Y=7680

정상적으로 실행되면 X-window 실행할 때 위의 메시지를 볼 수 있다. (**) Adding 부분은 Wacom 타블렛의 확장 장치명이며, 그 다음 줄에 UD-0608-R00 모델명을 볼 수 있다. V1.4-2은 뭘까? 바로 타블렛의 ROM 버전이다. 이 버전은 TileMode 를 사용가능한지 결정하는 중요한 요소이므로 잘 봐두기 바란다.

3. X-window 실행 중에 설정 변경하기

이 장은 주 입력장치(core pointer)를 변경하는 방법과 버튼 맵핑하는 방법을 설명한다.

3.1 주 입력장치(core pointer) 변경하기 : xsetpointer

다음과 같이 XF86Config의 Xinput Section에 AlwaysCore을 설정하지 않았다면 현재 상태에서는 마우스만 사용할 수 있을 것이다. 그렇다면 타블렛을 사용하기 위해서는 X-window을 재실행해야 하나? 그렇지는 않다.

Section "Xinput" 

    SubSection "WacomStylus"
        Port "/dev/ttyS0"
        DeviceName "Wacom"
        Mode Absolute
        Suppress 6
    EndSubSection
    SubSection "WacomEraser"
        Port "/dev/ttyS0"
        Mode Absolute
    EndSubSection
    ...
EndSection

xsetpointer는 주 입력 장치를 바꿔주는 프로그램이다.

xsetpointer < 장치명 >
xsetpointer -l

먼저 사용 가능한 장치 목록을 보자.

xsetpointer -l
"pointer"       [XPointer]
"keyboard"      [XKeyboard]
"SWITCH"        [XExtensionDevice]
"Wacom" [XExtensionDevice]
"ERASER"        [XExtensionDevice]
"CURSOR"        [XExtensionDevice]

pointer는 마우스, keyboard는 키보드, 나머지는 타블렛 장치들이다. 주 입력 장치를 타블렛으로 바꿔보자. 타블렛을 주 입력 장치로 바꾸면 마우스는 사용할 수 없게 된다.

truefeel: # xsetpointer wacom

3.2 모드 변경하기 : xsetmode

모드를 전환하는 xsetmode은 사용이 간단하므로 특별히 설명할 것이 없다.

 xsetmode <장치명> (ABSOLUTE|RELATIVE)

xsetmode wacom absolute

3.3 버튼 맵핑하기 : xmodmap

xmodmap은 키보드 및 포인터(마우스, 타블렛 등) 버튼 맵핑에 사용하는 유틸리티 이다. 키보드의 키 맵핑을 확인하거나 변경하는데 한 번씩은 사용해 봤을 것이다. 키맵핑은 이글의 주제와 어울리지 않으므로 포인터의 버튼 맵핑에 대해서만 설명한다.

 xmodmap -pp
 xmodmap -e "pointer = 논리버튼1 논리버튼2 논리버튼3 ..."

xmodmap은 주 입력 장치(core pointer)로 지정된 장치의 버튼을 맵핑하므로 설정 전에 반드시 주 입력 장치를 테블렛 장치로 빠꿔야 한다. 버튼 맵핑을 확인해 보자. 물리적 버튼과 논리적 버튼이 같음을 알 수 있다.

truefeel:~# xsetpointer wacom
truefeel:~# xmodmap -pp
There are 4 pointer buttons defined.

    Physical        Button
     Button          Code
        1              1
        2              2
        3              3
        4              4

물리적 버튼 1은 논리적 버튼 2로, 물리적 버튼 2는 논리적 버튼 1로, 물리적 버튼 3은 논리적 버튼 3으로, 물리적 버튼 4은 논리적 버튼 4로 바꿔보자.

xmodmap -e "pointer = 2 1 3 4"

3.4 XInput 장치의 테스트 및 설정 유틸리티 : xinput

Frederic Lepied가 만든 xinput은 Wacom 타블렛과 같은 XInput 장치를 테스트하고 설정하는 유틸리티다. xinput 유틸리티는 앞에서 설명한 xsetpointer, xsetmode, xmodmap의 기능을 모두 가지고 있다.

xinput은 ftp://ftp.x.org/contrib/utilities/xinput-1.2.tar.gz 에서 구할 수 있다. 설치는 우선 tar로 푼 다음 Imakefile -> Makefile 생성(xmkmf)하고 2번의 make 과정을 거치면 된다.

truefeel:~# tar xvfz xinput-1.2.tar.gz 
xinput-1.2/
xinput-1.2/xinput.man
xinput-1.2/Imakefile
xinput-1.2/README
xinput-1.2/ChangeLog
xinput-1.2/COPYRIGHT
...
truefeel:~# cd xinput-1.2
truefeel:~/xinput-1.2# xmkmf -a
truefeel:~/xinput-1.2# make install
truefeel:~/xinput-1.2# make install.man

만들어진 xinput과 xinput 맨페이지는 각각 /usr/X11R6/bin, /usr/X11R6/man/man1에 설치된다.

xinput 사용할 때 주의할 것은 장치명의 대소문자를 구분 한다는 것이다. 장치명은 XF86Config의 XInput 섹션에서 DeviceName 옵션으로 지정한다.

SubSection "WacomStylus"
     Port            "/dev/ttyS0"
     DeviceName      "Wacom"
EndSubSection

이제 xinput 기능을 상세하게 알아보자.

* 입력장치 목록 보기 : xinput list [ 장치명 ]

지정한 입력장치에 대한 상세한 정보를 보여준다. 장치명을 지정하지 않으면 모든 입력장치에 대한 정보를 출력한다. 상당히 자세한 정보를 보여주므로 가능하면 장치명을 지정하기 바란다.

truefeel:~# xinput list Wacom
"Wacom" id=3    [XExtensionDevice]
        Num_keys is 32
        Min_keycode is 8
        Max_keycode is 39
        Num_buttons is 4
        Num_axes is 5
        Mode is Absolute
        Motion_buffer is 0
        Axis 0 :
                Min_value is 0
                Max_value is 10240
                Resolution is 499999
        Axis 1 :
                Min_value is 0
                Max_value is 7680
                Resolution is 499999
...

단순히 입력 장치의 목록만을 확인하고 싶다면 앞서 배운 xsetpointer -l을 이용하거나 xinput 을 다음과 같이 이용해도 된다.

xinput list|grep '^"' 

* 주 입력장치(core pointer) 바꾸기 : xinput set-pointer < 장치명 >

주 입력장치를 변경한다. xsetpointer < 장치명 > 과 같은 기능을 한다.

* 절대좌표, 상대좌표 모드 바꾸기 : xinput set-mode < 장치명 > ABSOLUTE|RELATIVE

지정한 입력장치의 모드를 절대 또는 상대 모드로 바꾼다. xsetmode < 장치명 > ABSOLUTE|RELATIVE 과 같은 기능을 한다.

* 버튼 맵핑하기 : xinput set-button-map < 장치명 > 논리버튼1 논리버튼2 ...

입력장치의 물리버튼을 지정한 순서대로 논리버튼으로 매핑시킨다.

xinput set-button-map Wacom 2 1 3 4

* 입력장치 상태 확인하기 : xinput query-state < 장치명 >

입력장치의 상태를 확인한다.

truefeel:~# xinput query-state Wacom
3 classes :
KeyClass
        key[0]=up
        key[1]=up
...
        key[31]=up
ButtonClass
        button[1]=up
        button[2]=up
        button[3]=up
        button[4]=up
ValuatorClass Mode=Absolute Proximity=In
        valuator[0]=4389
        valuator[1]=5728
        valuator[2]=-128
        valuator[3]=30
        valuator[4]=-9

위의 실행 결과는 키 코드 상태(KeyClass), 버튼 상태(ButtonClass), 축 상태(ValuatorClass) 등 3가지 상태를 제공한다. 32개의 키, 4개의 버튼이 동작하고 있으며 모드는 절대 모드(Mode=Absolute), 펜 또는 에어브러쉬가 입력받을 수 있는 거리(Proximity=In)에 있음을 알 수 있다. 축 상태가 나타내는 값의 의미는 다음과 같다.

  1. valuator[0] : X좌표
  2. valuator[1] : Y좌표
  3. valuator[2] : 펜 또는 에어브러쉬가 누르는 압력. -128은 누르고 있지 않음.
  4. valuator[3] : X방향 기울기. 음수 값은 왼쪽, 양수 값은 오른쪽으로 기울림.
  5. valuator[4] : Y방향 기울기. 음수 값은 위쪽, 양수 값은 아래쪽으로 기울림.

* 입력장치 테스트하기 : xinput test [ -proximity ] < 장치명 >

입력장치를 테스트하는 기능으로 장치를 통해 입력되는 모든 이벤트를 연속적으로 보여준다. 테스트를 끝내려면 Ctrl+C를 누른다.

-proximity : 접근성까지 표시해준다. proximity in / proximity out

truefeel:~# xinput test -proximity Wacom
...
motion a[0]=4572 a[1]=5142 a[2]=-128 a[3]=30 a[4]=-12 
motion a[0]=4563 a[1]=5200 a[2]=-128 a[3]=30 a[4]=-12 
motion a[0]=4553 a[1]=5261 a[2]=-128 a[3]=30 a[4]=-14 
button release 2 a[0]=4553 a[1]=5261 a[2]=0 a[3]=30 a[4]=-13 
proximity out a[0]=4553 a[1]=5261 a[2]=-128 a[3]=30 a[4]=-14 
motion a[0]=4571 a[1]=5259 a[2]=-128 a[3]=27 a[4]=-10 
proximity out a[0]=4606 a[1]=5208 a[2]=-128 a[3]=29 a[4]=-11 
proximity in  a[0]=4606 a[1]=5208 a[2]=-128 a[3]=29 a[4]=-11 
motion a[0]=6031 a[1]=4948 a[2]=-128 a[3]=-14 a[4]=13 
motion a[0]=6085 a[1]=4996 a[2]=-128 a[3]=-15 a[4]=14 
...

4. The GIMP 에서 사용하기

포토샵 스타일의 막강한 그래픽 프로그램인 GIMP는 v1.1.X 부터 XInput을 지원한다. v1.0.x 버전이라면 패치를 통해서 사용 가능하지만 여기서는 GIMP v1.1.X 를 사용하는 것으로 가정한다.

GIMP에서 XInput을 지원한다고 하더라도 한 가지 조건이 더 필요하다. GIMP 툴킷인 GTK+에서 XInput을 지원하도록 컴파일되어야 한다. 국내의 여러 배포판에 포함된 gtk+의 XInput 지원여부는 가지각색이다. 국내의 모든 배포판 제작자가 XInput을 지원하도록 만들어주길 바랄 뿐이다.

  • 알짜리눅스 6.1 : 지원하지 않음
  • 알짜리눅스 6.2 BETA : 지원함
  • 파워리눅스 R2 : 지원하지 않음
  • 미지리눅스 1.1 : 지원함
  • 앨릭스리눅스 6.2 BETA : 지원하지 않음
  • 터보리눅스 Workstation 4.0.5 : 지원하지 않음
  • qLinux 1.0 : 지원하지 않음

지원하지 않는 배포판을 쓰는 리눅서는 위의 목록을 보고 알짜나 미지리눅스의 gtk+-1.2.X, gtk+-devel-1.2.X를 설치하면 가장 쉽고 빠른 해결책이 될 것이다. 여기서는 직접 수작업(?)을 통해 설치하는 2가지 방법을 소개한다.

4.1 gtk+ 소스에서 XInput 지원하도록 컴파일 하는 방법

XInput을 지원하도록 컴파일하는 간단한 순서만 소개한다.

ftp://ftp.gtk.org/pub/gtk/v1.2/ 에서 최신 gtk+ 소스를 가져온다. configure 스크립트를 실행할 때 --with-xinput=xfree 옵션을 넣어서 실행한 후 인스톨 한다.

tar xvfz gtk+-1.2.7.tar.gz
cd gtk+-1.2.7
./configure --prefix=/usr --sysconfdir=/etc --with-xinput=xfree
make
make install

4.2 배포판의 SRPMS 수정을 통해 gtk+를 설치하는 방법

직접 gtk+ 소스를 통해 설치하는 것보다는 한글 패치 등이 적용되고 RPM으로 설치가능한 SRPMS를 수정하는 것이 더 좋을 것으로 생각된다. RPM에 대한 것은 리눅스 한글 문서 프로젝트를 가보기 바란다.

  1. 각 배포판의 FTP 사이트에서 gtk+-1.2.X-YZZ.src.rpmgtk+-devel-1.2.X-YZZ.rpm을 받아온다.
  2. gtk+-devel RPM은 그대로 설치하면 되고 gtk+는 소스를 설치한 후에 /usr/src/redhat/SPECS/gtk+.spec 파일에서 %build 부분을 수정한다.
    %build
    ...
    
    CFLAGS="$RPM_OPT_FLAGS" ./configure $MYARCH --prefix=%prefix \
    --sysconfdir=/etc --with-xinput=xfree
    
    make
    
    configure에 --with-xinput=xfree만 추가했다.
  3. rpm -ba gtk+.spec 로 RPM 파일을 생성한다.
  4. /usr/src/redhat/RPMS/i386에 생성된 RPM 파일을 rpm -ivh gtk+-1.2.X-YZZ.i386.rpm로 설치한다.

4.3 GIMP 설정

GIMP를 실행한 후 파일 -> 대화상자 -> 입력장치(영문 : File -> Dialogs -> Input Devices)를 클릭한다. 만약 입력 장치 없음 (영문 : No Input Devices )이라는 메시지를 봤다면 XInput을 지원하지 않는 gtk+가 설치된 것이니 앞의 gtk+ 설치 과정을 확인하기 바란다. 정상적이라면 장치 선택막대와 모드 선택막대, 그리고 탭, 글쇠 탭을 볼 수 있다.

GIMP에서 입력장치 설정 화면


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:30
Processing time 0.0030 sec