최근 와콤에서 와콤원2를 출시하면서 번들펜으로 펜버튼이 2개 있는 "와콤원펜2" 를 출시했습니다. 

 

와콤원2는 와콤원급의 엔트리 모델이면서 터치가 추가되는 등 여러 업그레이드가 있긴 하나, 펜 타블렛 자체가 아닌 타 EMR 기기 사용자들 입장에서 가장 눈에 띄는 특이사항은 와콤원펜2가 기존 와콤원펜과 같이 패널신호가 타사 제공용 와콤EMR 패널및 펜 신호와 호환되면서 와콤 EMR기기 중에서는 매우 드물게 펜이 2개 달린 제품이라는 점입니다. 

제 기억에는 한참 전에 펜2개 달린 와콤 EMR펜이 있기는 했던 것으로 기억하나, 최근에 나온 것은 이 제품이 유일합니다. 

 

펜 버튼 리맵핑 관련 Tabletpcreview 포럼에서 공유되었던 AHK 스크립트 백업본은 다음 글을 참조하시면 됩니다. 

 

https://signfang.tistory.com/356

 

Tabletpcreview 포럼 출처 ahk 스크립트 백업

갤럭시북 및 기타 와콤 EMR기기 커스터마이징 관련 자료가 많이 공유되던 Tabletpcreview 사이트의 포럼이 폐쇄되면서 해당 포럼의 "갤럭시 북" 페이지에서 공유되던 스크립트들도 모두 소실되었습

signfang.tistory.com

 

 

해당 글에서 중간에 리맵핑에 사용되는 신호를 말씀드리면서 다음과 같은 HEX 신호를 사용한다고 했는데,

 

0: 펜이 인식되었으며 호버링 중

1: 펜이 화면을 터치함

8: 펜이 화면을 터치하지 않은 상태에서 펜 버튼을 누름

12: 펜이 화면을 터치한 상태에서 펜 버튼을 누름

 

와콤원펜2의 두번째 펜 버튼은 "16" 을 사용합니다. 즉 

 

0: 펜이 인식되었으며 호버링 중

1: 펜이 화면을 터치함

8: 펜이 화면을 터치하지 않은 상태에서 첫번째 펜 버튼을 누름

12: 펜이 화면을 터치한 상태에서 펜 버튼을 누름

16: 펜이 화면을 터치하지 않은 상태에서 두번째 펜 버튼을 누름

 

을 인식하여 재할당하면 첫번째 펜버튼과 두번째 펜버튼에 서로 다른 기능을 할당할 수 있습니다. 

유의하셔야 할 점은 "12" 신호는 어떤 펜 버튼을 누른 상태에서도 동일하게 작동한다는 것입니다. "펜 버튼을 누른 채로 화면을 긋기" 동작은 하나만 할당 가능합니다. 

 

여담이지만 "지우개 펜"이 달린 갤럭시북2 펜의 지우개 부분도 신호 "12"를 사용하며, 갤럭시 폴드 시리즈용 S펜은 1과 12 신호가 서로 반대로 되어 있습니다. (다른 EMR펜은 경고 메시지가 표시되나 갤럭시북2의 지우개 펜 부분은 정상적으로 인식함)

 

예시 스크립트는 다음과 같습니다. 

 

SendMode Input
SetWorkingDir %A_ScriptDir%

global PEN_NOT_HOVERING := 0x0 ; Pen is moved away from screen.

#include AHKHID.ahk

WM_INPUT := 0xFF
USAGE_PAGE := 13
USAGE := 2

AHKHID_UseConstants()

AHKHID_AddRegister(1)
AHKHID_AddRegister(USAGE_PAGE, USAGE, A_ScriptHwnd, RIDEV_INPUTSINK)
AHKHID_Register()

OnMessage(WM_INPUT, "Work")

Work(wParam, lParam) {

    Local type, inputInfo, inputData, raw, proc
    static lastInput := PEN_NOT_HOVERING

    Critical

    type := AHKHID_GetInputInfo(lParam, II_DEVTYPE)

    if (type = RIM_TYPEHID) {
        inputData := AHKHID_GetInputData(lParam, uData)

    raw := NumGet(uData, 0, "UInt")
        proc := (raw >> 8) & 0x1F

    if (proc <> lastInput) {
        if (proc == 16)
		{
			Click left
			Click left
		}
		if (proc == 8)
        {
			Click right
        }
        lastInput := proc
    }
    }
}

 

 

해당 스크립트 실행시 "두번째 펜 버튼" 클릭시 더블클릭, "첫번째 펜 버튼" 클릭시 우클릭 동작을 합니다. 

 

이전 글에서도 언급했던대로 해당 스크립트는 와콤원 등 와콤기기에선 동작하지 않고, 와콤 EMR 기기에서만 동작합니다. 

+ Recent posts