최근 와콤에서 와콤원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 기기에서만 동작합니다. 

갤럭시북 및 기타 와콤 EMR기기 커스터마이징 관련 자료가 많이 공유되던 Tabletpcreview 사이트의 포럼이 폐쇄되면서 해당 포럼의 "갤럭시 북" 페이지에서 공유되던 스크립트들도 모두 소실되었습니다. ( http://forum.tabletpcreview.com/threads/samsung-galaxy-book-discussion-thread.71795/ 등 , 현재는 접속 불가.)

 

Wayback machine 사용시 접근 가능하기는 하나 (https://web.archive.org/web/20220125221312/http://forum.tabletpcreview.com/threads/samsung-galaxy-book-discussion-thread.71795/) 깨진 페이지도 많고 로딩도 오래 걸리고 검색도 되지 않아 원하는 자료를 찾는 데 불편함이 많습니다. 

 

기존 해당 사이트에서 받아서 백업해두었던 자료들을 공유합니다. 

 

1. 해당 스크립트들은 모두 내용을 복사하여 ".ahk" 확장자로 저장한 후 Autohotkey V1 으로 실행해야 합니다. 2.0 이상 버전에선 작동하지 않습니다. https://www.autohotkey.com/download/ahk-install.exe

2. 해당 스크립트들은 "AHKHID" 추가 파일이 필요하며, "AHKHID.ahk" 파일과 같은 폴더에 있어야 합니다. 다운로드 링크: https://github.com/jleb/AHKHID/archive/refs/heads/master.zip

3. 해당 스크립트들은 제목에 표기한 닉네임(Forum handle)을 쓰는 분들이 만들었으며, 저는 단순히 백업 목적으로만 재게시합니다. 

 

 

모든 스크립트들의 기본적인 동작법은 다음과 같습니다.

 

1) AHKHID로 HID기기의 모든 신호를 읽어 옴. 위치, 사용자 입력...

2) HEX data 형태로 주어지는 값을 처음에 누군가 해석하여 "펜버튼 클릭", "펜 인식" 동작을 분석

3) "펜 인식" 상태에서 "신규 입력 data" 값이 "기존 입력 data"값과 달라지고, 그 값이 "펜버튼 클릭" 동작과 일치하면 user가 지정한 스크립트를 수행함 (A 스크립트)

4) 추후 다른 사용자들이 HEX data를 추가적으로 분석하여 "펜 클릭", "펜 호버", "펜 버튼 누른 상태로 드래그" 등의 신호 를 발견하여 해당 신호를 기반으로 스크립트 작성 (B 스크립트)

 

해당 스크립트들은 와콤 EMR 기기, 즉 갤럭시 북이나 일부 레노버 제품 등 와콤 제품이 아닌 제품에서만 동작합니다. 와콤 원 등 와콤이 드라이버를 제공하는 기기의 경우 해당 스크립트가 작동하지 않습니다.

 

B 스크립트 내부에도 있으나, 사용하는 HEX 신호는 다음과 같습니다. 

0: 펜이 인식되었으며 호버링 중
1: 펜이 화면을 터치함
8: 펜이 화면을 터치하지 않은 상태에서 펜 버튼을 누름 <- 리맵핑에 사용
12: 펜이 화면을 터치한 상태에서 펜 버튼을 누름

 

A) 가장 단순한 버전 -  펜버튼 리매핑 지원 (Fotd 제작)

 

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 == 8)
        {
			Click right
            ;Click left
			;Click left
        }
        lastInput := proc
    }
    }
}

 

사실 대부분 용도에는 이 정도 기능만으로도 충분합니다. 

현재 상태는 펜버튼 클릭시 우클릭으로 동작합니다. "Click right" 코멘트하고 (;)  "Click left" 두개를 코멘트 해제하면 더블클릭으로 동작합니다.

해당 부분을 

        if (proc == 8)
        {
			Send {A}
        }

이와 같이 바꾸면 펜버튼 클릭이 "A" 입력으로 바뀝니다. 

 

B) 분석 코멘트 및 기능 추가 버전 (Serega, Poton812, LeoZappa)

/*
Original script and all the hard work by Serega and Piton812
posted in http://forum.tabletpcreview.com/threads/samsung-galaxy-book-discussion-thread.71795/page-370#post-528013

http://forum.tabletpcreview.com/threads/samsung-galaxy-book-discussion-thread.71795/page-375#post-528538

Modifications and gesture support by LeoZappa, posted in same thread
*/

SendMode Input
SetWorkingDir %A_ScriptDir%

; mouse coordinates are absolute and relative to screen rather than active window:
Coordmode, Mouse, Screen


;--------------------------------------------------------------
; ACTIONS ON BUTTON RELEASE
;--------------------------------------------------------------
; Treshold in milliseconds for single-click
; This is also the delay between release and triggering of the mouse right-click(pr other actions)
global RELEASE_TRESHOLD := 300 ;in milliseconds

; KEEP THESE FUNCTIONS SIMPLE AND AVOID SLEEP/WAIT
ReleaseActions(pressX,pressY,releaseX,releaseY,releaseCount) {
    if ( releaseCount > 1){
        ;double press-and-release of button while hovering, or more (triple etc.)
        MouseClick, middle, pressX, pressY, 1, 0
    }else{
        ;single press-and-release of button while hovering triggers right mouse click
        MouseClick, right, pressX, pressY, 1, 0
    }
}
;--------------------------------------------------------------




;--------------------------------------------------------------
; LONG PRESS WHILE HOVERING
;--------------------------------------------------------------
; Write the duration of a LONG HOVER PRESS, in milliseconds
; Set it to something like 100000 (100 secs) to effectively disable long press functionality

global LONG_HOVER_PRESS := 1000 ;in milliseconds

LongPressActions(pressX,pressY,releaseCount) {
    if (releaseCount > 0) {
        Send #v
    }else{
    Send +#s
    }
}

;--------------------------------------------------------------



;--------------------------------------------------------------
; FLICK ACTIONS
; Triggered by moving left/right/up/dows while pressing button (and hovering).
; Flick gesture is completed by either releasing the button or lifting pen away from screen.
; Also supports release count (e.g. press and release, press again and flick)
;--------------------------------------------------------------

global FLICK_DIST := 30 ; in px of the screen

FlickActions(pressX,pressY,deltaX,deltaY,releaseCount) {
    if (Abs(deltaX) > Abs(deltaY) ) {
        if (deltaX > 0) {
        ; flick right action
            if (releaseCount > 1){
            ; workaround to use alternate Redo shortcut
            ; when doing "press and release"+"flick right"
            ; in case some programs don't understand Ctrl+y
                Send +^z
            }else{
                Send ^y
            }
        }else{
        ; flick left action
            Send ^z
        }
    }else{
        if (deltaY > 0) {
        ; flick up action
            Send !{Esc}
            WinGet isMin, MinMax, A
            if ( isMin < 0 ) {
                WinRestore A
            }
        }else{
        ; flick down action
            Send +!{Esc}
            WinGet isMin, MinMax, A
            if ( isMin < 0 ) {
                WinRestore A
            }
        }  
    }
}



; write the coordinates you get from "example2_with_min_max_XY.ahk"
global Xmin := 0
global Xmax := 25272
global Ymin := 0
global Ymax := 16848
; write the resolution of your display
global screenXmax := 2160
global screenYmax := 1440


; calculation the ratio to convert pen coordinates to mouse coordinates
global kX := (Xmax - Xmin) / screenXmax
global kY := (Ymax - Ymin) / screenYmax

; Set up our pen constants
global PEN_HOVERING := 0 ; Pen is inside the area where screen see the pen and pen and don't touch the screen.
global PEN_TOUCHING := 1 ; Pen is touching screen.
global PEN_BTN_HOVERING := 8 ; Button is pressed with pen is inside the area where screen see the pen and pen and don't touch the screen.
global PEN_BTN_TOUCHING := 12 ; Button is pressed with pen is touching screen.

/*
The package from pen data flow
Package consist of 26 blocks
00 0 0 0000 0011 1111 11 1122 2222 ; Blocks address with size 4 bits
01 2 3 4567 8901 2345 67 8901 2345 ;

02 2 0 0000 0000 0000 20 0000 0000 ; Left Up of the screen
02 0 0 0000 0000 0000 20 0000 0000 ; Out of screen

02 2 0 B662 CC41 0000 20 0000 0000 ; Right Down of the screen
02 0 0 B662 CC41 0000 20 0000 0000 ; Out of screen

02 2 0 0000 0000 0000 58 0000 0000 ; Almost out of the screen (but screen still see the pen)
02 2 0 0000 0000 0000 00 0000 0000 ; Almost touching the screen (but not touching)
02 2 1 0000 0000 0100 00 6400 8403 ; Touching the screen

Resume:
xx x x xxxx xxxx xxxx xx #### #### ; ????
xx x x xxxx xxxx xxxx ## xxxx xxxx ; Z position
xx x x xxxx xxxx #### xx xxxx xxxx ; ????
xx x x xxxx #### xxxx xx xxxx xxxx ; Y position
xx x x #### xxxx xxxx xx xxxx xxxx ; X position
xx x # xxxx xxxx xxxx xx xxxx xxxx ; Using mode
xx # x xxxx xxxx xxxx xx xxxx xxxx ; Connection mode
## x x xxxx xxxx xxxx xx xxxx xxxx ; ????

Connection mode:
2 - Connection with pen exists
0 - Lose connection with pen

Using mode:
0x00 ( 0) - Hovering
0x01 ( 1) - Touching (after touching button will not be active)
0x08 ( 8) - Button is pressed when hovering
0x0C (12) - Touching with button pressed (after touching button will not be active)

X position pen:
0000 - minimum =     0
(B862) 0x62B8 - about maximum = 25272 (2160 points) 12 pen points in 1 screen point
Cursor X position = X position pen / 12

Y position pen:
0000 - minimum =     0
(D041) 0x41D0 - about maximum = 16848 (1440 points) 12 pen points in 1 screen point
Cursor Y position = Y position pen / 12
*/
/*
Convert blocks of package to date structure from variables

Package consist of 26 blocks
00 0 0 0000 0011 1111 11 1122 2222 ; Blocks address with size 4 bits
01 2 3 4567 8901 2345 67 8901 2345 ;

Data structure from variables:
UInt (32 bits) (variables 1)
00000000 ; Blocks address with size 4 bits
67452301 ;

UInt (32 bits) (variables 2)
11111100 ; Blocks address with size 4 bits
45230189 ;

UInt (32 bits) (variables 3)
22221111 ; Blocks address with size 4 bits
23018967 ;

UInt (32 bits) (variables 4)
33222222 ; Blocks address with size 4 bits
01896745 ;

*/


#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, UsingMode, ConnectionMode
 
    static lastInput := -1 ; Last code for compare with constants

    static releaseCount := 0 ; count single/double/etc.-releases of pen button
    static valid_press := 0 ;Last state of pen

    Local sPen_Xpos ;X position cursor of pen
    Local sPen_Ypos ;Y position cursor of pen

    Local mouseXpos ;X position cursor of mouse
    Local mouseYpos ;Y position cursor of mouse

    static press_Time := 0 ; when was the button last pressed
    static release_Time :=  0 ; when was the button last released

    static pressX ;coordinates at time of button press
    static pressY
    static deltaX ;displacement at time of release of button/lift away from screen
    static deltaY

    sPen_Xpos := NumGet(uData, 2, "WORD") ;Read X position cursor of pen (offset on 2 bytes in package, size in 16 bits (2 bytes))
    sPen_Ypos := NumGet(uData, 4, "WORD") ;Read Y position cursor of pen (offset on 4 bytes in package, size in 16 bits (2 bytes))
    sPen_Xpos := (sPen_Xpos & 0xFFFF)
    sPen_Ypos := (sPen_Ypos & 0xFFFF)
    mouseXpos := sPen_Xpos / kX ; Convert to X position cursor for mouse
    mouseYpos := sPen_Ypos / kY ; Convert to Y position cursor for mouse

   
    Critical

    ;Get device type
    type := AHKHID_GetInputInfo(lParam, II_DEVTYPE) ;Connect to device
    if (type = RIM_TYPEHID) { ;if type device is "pen"
        inputData := AHKHID_GetInputData(lParam, uData) ;Connect to commands flow of pen
       
        raw := NumGet(uData, 1, "UChar") ;Read Z position cursor of pen (offset on 8 bytes in package, size in 8 bits (1 byte))
        UsingMode := raw & 0x1F ;Decode command to code using mode for compare with constants
        ConnectionMode := raw & 0x20 ; Decode command to code connection mode for tracking the information flow from pen till screen see the pen

        if (ConnectionMode <> 0){ ; Connection with pen exists

            BlockInput on ; seems to help with hiding the mouse cursor while pen is hovering. Not sure why.
               
            if (UsingMode <> lastInput) { ;Changed button state
                if (UsingMode == PEN_BTN_HOVERING) and (lastInput <> PEN_BTN_TOUCHING){
                ; just pressed button while hovering, didn't just lift pen from touching the screen
                        valid_press := 1 ;Mark pressed button state
                        press_Time := A_TickCount ; start measuring press time
                        release_Time := A_TickCount ; set release timer to something certainly larger than last value
                        pressX := mouseXpos
                        pressY := mouseYpos
                }else{
                    if (valid_press <> 0) and (lastInput == PEN_BTN_HOVERING){
                        if (UsingMode <> PEN_BTN_TOUCHING){
                            ; just released button while hovering
                            releaseCount++
                            release_Time := A_TickCount ; start measuring time from release
                            deltaX := mouseXpos - pressX
                            deltaY := mouseYpos - pressY
                        }else{ ;touched the screen again
                            valid_press := 0
                            releaseCount := 0
                        }  
                        valid_press := 0 ;Mark button released state
                    }
                }
                lastInput := UsingMode ;Save new code for new loop
            }
            if (valid_press <> 0) and (A_TickCount - press_Time > LONG_HOVER_PRESS) {
                    LongPressActions(pressX,pressY,releaseCount)
                    valid_press := 0
                    releaseCount := 0
            }else{
                ; Single-release action is right click
                if (valid_press == 0) and (releaseCount > 0 ) {
                    if (Abs(deltaX) > FLICK_DIST) or (Abs(deltaY) > FLICK_DIST) {
                        FlickActions(pressX,pressY,deltaX,deltaY,releaseCount)
                        releaseCount := 0
                    }else{
                    if (A_TickCount - release_Time > RELEASE_TRESHOLD) {
                        ReleaseActions(pressX,pressY,mouseXpos,mouseYpos,releaseCount)
                        valid_press := 0
                        releaseCount := 0
                    }
                    }
                }
            }
        }else{ ; Lost connection with pen

            BlockInput off
       
            lastInput := 0 ; set it to button released regardless of actual state
           
            if (valid_press <>0) {
                ; these are the last positions before disconnection
                deltaX := mouseXpos - pressX
                deltaY := mouseYpos - pressY
                if (Abs(deltaX) > FLICK_DIST) or (Abs(deltaY) > FLICK_DIST) {
                    FlickActions(pressX,pressY,deltaX,deltaY,releaseCount+1)
                }
            }
            releaseCount := 0
            release_Time := 0
            press_Time := 0
            valid_press := 0
        }
    }
}

 

Flick 액션 및 long press 기능을 추가한 버전입니다. 포럼에서 여러 사람이 공동 작업한 결과물로 알고 있습니다.

저는 해당 스크립트를 직접 써보지는 않아 구체적인 동작은 알지 못하나, 구현상 "FlickActions" 함수와 "ReleaseActions", "LongPressActions" 함수 내부를 변경하여 키 할당이 가능할 것으로 보입니다. 

 

 

 

알리익스프레스에서 ACGAM R1 컨트롤러를 싼 맛에 구입해서 그림용 리모컨으로 사용하고 있었는데, 페어링도 잘 되지 않고 여러 모로 만듦새가 좋지 않아 요새는 거의 쓰지 않고 있었습니다. 

이전에 작성했던 R1 컨트롤러 리뷰:

https://signfang.tistory.com/247

 

ACGAM R1 컨트롤러 리뷰/Autohotkey를 이용하여 조이스틱을 액정타블렛 리모콘으로 쓰기

신티크/갤럭시북/모바일스튜디오 등등 액정타블렛 사용자분들은 아시겠지만, 아무리 터치 인터페이스에 최적화된 툴을 사용한다고 해도 그림을 그릴 때 키보드가 없는게 의외로 상당히 불편합

signfang.tistory.com

 

8bitdo는 이전 SN30 Pro+ 리뷰 (https://signfang.tistory.com/312)에서도 언급했다시피 소형 레트로컨셉 컨트롤러 전문 기업입니다.

가격도 그만큼 꽤 비싼 편이나, 대체로 종합적인 만듦새나 사용성 면에서 여타 중국 제조사보다는 훨씬 뛰어납니다.

 

Zero2 제품은 현재 한국에도 정식 수입되어 판매중입니다.  저는 약 2만원을 주고 구입했습니다.

 

컨트롤러 생김새. 제가 손이 좀 큰 편입니다만 그걸 감안해도 굉장히 작습니다.
그림용 리모컨으로 사용시 그립법

제품 박스 내에는 컨트롤러, 설명서, 손목 스트랩, 매우 짧은 Micro-B USB 케이블(약 10cm) 이 동봉되어 있습니다.

D패드, R/L버튼, 닌텐도 스타일의 A/B/X/Y 버튼과 전원 버튼 기능을 하는 +/Start버튼, 페어링 버튼 기능을 하는 -/Select 버튼이 있습니다. 전면 플라스틱 재질은 글로시 재질이며, 후면은 매트 재질입니다. 

상단에는 Micro-B 단자가 있으며 하단에는 상태 LED가 있습니다.

전체적으로 만듦새도 좋으며, Windows 10에서 사용시 페어링 등에도 전혀 문제가 없습니다. 

 

8bitdo 제품답게 Zero 2 역시 다양한 모드를 지원합니다. Start 버튼을 눌러 전원을 켤 때 특정 버튼을 함께 누르면 해당 모드로 부팅됩니다. 최초 페어링시에는 Select 버튼을 2초간 누르면 페어링모드로 진입합니다.

Switch: Y+Start

D-input(일반 조이스틱): B+Start

X-input(엑스박스 호환): X+Start

MacOS: A+Start

블루투스 키보드: R+Start (키매핑이 특정 키로 고정된 키보드로 연결됩니다. 모바일기기에서 리모컨으로 사용시 유용함)

 

해당 모드로 한 번 부팅하면 다음 번 가동시에도 선택사항이 저장됩니다. 

 

R1 컨트롤러 리뷰에서 소개한 것과 같이, 저는 Autohotkey(https://www.autohotkey.com/)를 이용해서 조이스틱 리매핑을 하는 방식으로 Zero 2를 그림용 리모컨으로 사용하고자 했습니다. 

하지만 버튼 숫자가 적은 편이라 제가 원하는 조합으로 사용하기가 어려웠고, 기존에 사용하던 스크립트를 수정하여 총 2가지 모드를 지원하도록 바꿨습니다. 

제가 구현한 방식은 그림을 그리는 모드/텍스트를 복사하여 말풍선을 채우는 모드입니다. 

 

* 해당 스크립트 사용시 Windows에 D-input 모드로 페어링해야 합니다. (B+Start)

8bitdo zero2 - multimode.ahk
0.00MB

 

총 2가지 모드가 있습니다. 

"Draw" 모드: 그리기 모드. 브러시/지우개/라쏘/Ctrl+z 등

"Text" 모드: 텍스트 복사/붙여넣기, 엔터 등 띄어쓰기 조절 등

 

두 가지 모드는 각각 Select/Start 버튼으로 변경합니다. Select가 Draw 모드/Start가 Text 모드입니다. 스크립트 가동시 처음엔 Draw 모드로 시작합니다. 

 

D패드 상하좌우, ABXY 버튼 총 8개가 모드에 따라 키가 바뀝니다. R/L 키는 두 모드에서 전부 Ctrl/Shift로 동일합니다. (스크립트 내용을 참고하시면 쉽게 모드별 구현이 가능합니다)

Rightkeymod1/Rightkeymod2 등 "XXkeymodY" 와 같은 변수들에 원하시는 키를 넣으시면 변경도 가능합니다. 

 

 

작업용으로 한손키보드를 찾다가, 드물게 무선 한손키보드인 Gamesir Z2를 알리익스프레스에서 구입했습니다.

블루투스와 2.4ghz 무선 연결을 모두 지원한다고 하기에 안일하게 PC에서도 블루투스 연결로 큰 문제없이 사용할수 있겠다고 생각했으나 오산이었습니다.

블루투스로 연결시 컴퓨터와 모바일기기 모두 연결은 잘 되나, 모두 모바일용 배그 또는 모바일용 포트나이트 "만" 쉽게 사용할 수 있게 설정되어 있으며 일반적인 키 입력 자체가 되지 않습니다.

2.4ghz 연결을 테스트해보려고 해도 알리익스프레스 셀러가 2.4ghz 동글을 빼먹고 보내서 이 테스트도 불가능합니다.

 

저렴하게 버튼 많은 리모콘을 원하신다면 차라리 8bito lite같은것을 구입해서 autohotkey 스크립트를 사용하시는게 나을 것 같습니다.

 

 

유튜브 Tablet Pro 채널의 영상입니다.

서피스 프로 X에 대한 영상이지만 갤럭시북 2도 해당되리라고 생각합니다.

 

ARM64 바이너리는 아니지만 32비트 x86 호환성 바이너리로 실행되며, 생각보다 퍼포먼스 자체도 나쁘지 않은 모습을 보입니다.

(ARM 윈도우 기기 자체를 제가 가지고 있지는 않기 때문에 제가 직접 확인해보긴 어렵습니다.)

https://iamlyun.tistory.com/entry/%ED%81%B4%EB%A6%BD%EC%8A%A4%ED%8A%9C%EB%94%94%EC%98%A4-%ED%95%9C%EC%98%81%EC%A0%84%ED%99%98-%EB%8B%A8%EC%B6%95%ED%82%A4-%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8

 

클립스튜디오, 포토샵 한영전환 단축키 문제 해결 스크립트

클립스튜디오로 만화를 그리다보면 짜증나는 문제에 부딪히는데, 바로 한영전환이 된 상태에서는 단축키가 먹히지 않는다는 점이다. 이에 대한 해결책이 없나 인터넷을 찾던 중, 앞선 선구자의 게시물을 발견할 수..

iamlyun.tistory.com

 

 

클립스튜디오나 포토샵에서 단축키가 오직 영문으로만 작동하며 만화 식자 작업은 한글이 필요한 경우 한영키를 자주 누르게 되는데, 자동으로 한영전환을 해주는 스크립트입니다.

원사운드님이 만드신 원본 스크립트를 기반으로 ㅁ륜ㅁ 님이 개조한 버전입니다.

링크에 들어가시면 다운받으실 수 있습니다.

 

Wintab_x64_1.0.0.20.zip
4.53MB

http://forum.tabletpcreview.com/threads/samsung-notebook-9-13-and-15-flippers-with-windows-10-and-spen.72302/page-97#post-519885

 

Samsung Notebook 9 - 13" and 15" flippers with Windows 10 and spen

Uh.....https://www.slashgear.com/samsung-notebook-9-pro-adds-s-pen-to-windows-10-convertible-30486843/

forum.tabletpcreview.com

 

* 이 내용은 위 포럼에 게재된 내용을 발췌한 것입니다. 저는 노트북 펜 시리즈를 가지고 있지 않아 위 내용을 확인할 수 없는 점 양해 부탁드립니다.

삼성은 갤럭시 북 시리즈에는 "북 설정" 이라는 앱을 통해 에어커맨드를 끌 수 있는 옵션을 제공했으나, 노트북 펜 시리즈에서는 이 기능이 빠졌습니다.

 

펜 버튼은 ahk 스크립트를 통해 다양한 기능을 할당할 수 있기 때문에 그림을 그리는 사람 입장에서는 에어커맨드가 매우 불편한데, 다음과 같은 설정을 통해 에어커맨드를 비활성화하고 펜 기능을 설정할 수 있습니다.

 

1. Win+R 키를 눌러서 "실행" 창에 "services.msc"를 입력합니다.

2. 서비스 목록에서 "삼성 펜 서비스 (Samsung pen service)"와 "삼성 펌웨어 인터페이스 서비스 (Samsung firmware interface service)" 를 "수동" 또는 "비활성화"로 바꿉니다. 여기까지 하면 에어커맨드는 비활성화됩니다.

3. WinTab driver를 설치합니다. 첨부에도 올려두었습니다. (https://www.microsoft.com/en-us/download/confirmation.aspx?id=38826)

4. Radial menu 또는 Autohotkey 스크립트를 만들어 펜 버튼에 새 기능을 할당합니다. (https://signfang.tistory.com/239 이 글의 버튼 리매핑 부분을 참조하시기 바랍니다) 

 

삼성이 자체적으로 펜버튼 리매핑이나 필압설정등을 전반적으로 바꿀 수 있게 해 주면 좋겠으나 와콤과 이해관계가 겹쳐서 어려운 것 같습니다.

신티크/갤럭시북/모바일스튜디오 등등 액정타블렛 사용자분들은 아시겠지만, 아무리 터치 인터페이스에 최적화된 툴을 사용한다고 해도 그림을 그릴 때 키보드가 없는게 의외로 상당히 불편합니다.

키보드를 액정타블렛 옆에 같이 놓으려니 책상 공간이 부족하거나, 아니면 공간이 부족하지 않아도 일일히 쓰던 키보드를 옮기는 과정이 귀찮기 때문에 많은 분들이 MMORPG용으로 나온 레이저 타르타로스같은 마우스 형태 미니키보드를 쓰시거나 혹은 Clip Studio Tabmate 등과 같은 전용 드로잉 리모콘을 구입하시곤 합니다.

하지만 타르타로스도 약 10만원정도 가격이라 부담이 되고, Tabmate는 비교적 저렴하지만 약 5만원 정도 가격이라 역시 선뜻 구매하기엔 어려운 편입니다.


저도 같은 이유로 보조 리모컨을 구입할 생각은 하지 않고 있다가 최근에 한 손용 블루투스 조이스틱을 그림용으로 사용하면 좋다는 이야기를 들었었습니다.



원래 글에는 아마존에서 약 10달러에 구입했다는 내용이었지만.... 딱 봐도 중국산 싸구려 같아 보여서 알리익스프레스에서 해당 제품을 찾아보았습니다.


역시 알리익스프레스에서는 밥 한끼 가격(대략 6천원) 정도밖에 되지 않아 뭔가 엄청 이득 본 느낌이라 뒤도 안 돌아보고 샀습니다.






제품명은 ACGAM R1 컨트롤러이고 블루투스로 연결합니다. 마이크로 USB 충전 단자가 있습니다.


총 6개의 버튼이 있으며 1개의 스틱이 있습니다. M버튼은 모드 변경용으로 사용합니다. (마우스모드/방향키모드/카메라 리모콘 모드 등)


원래 용도는 Gear VR같은 핸드폰용 VR 컨텐츠에 한 손 리모콘 용으로 제작된 것 같습니다. 매뉴얼에서도 딱히 윈도우 탑재 기기에서 사용하는 것은 가정하고 있지 않은 걸 보니...


블루투스 페어링은 잘 되나, 윈도우에서는 컴퓨터 재부팅 또는 기기 전원을 껐다 켜면 페어링됨-연결됨-페어링됨-연결됨 무한반복에 빠지는 문제가 있습니다. 기기삭제후 다시 연결하면 다시 작동합니다. 


컴퓨터에 연결이 된 후, M버튼을 누른 채로 B버튼을 누르면 조이스틱 모드로 동작하며 윈도우에서 조이스틱으로 인식합니다.



윈도우 기본 드라이버에서 버튼 순서 배치는 다음과 같습니다.


A=Joy5&10 (두 버튼이 동시에 입력됨)

B=Joy1

C=Joy4&9

D=Joy2

R1=Joy8

R2=Joy7

스틱=JoyX/JoyY


재질과 소재, 버튼 재질 등은 괜찮습니다. 동그란 큰 구멍에 손가락을 넣는다기 보다는 주위를 감싸 잡는 편이 더 잡기 편합니다.


아날로그(?) 스틱은 상당히 부실합니다. R3/L3같은 누르는 입력 장치도 없으며 아날로그 스틱이라기보다는 버튼처럼 동작합니다. (위/아래/좌/우만 나눠져 입력됨.) 어쩐 이유에선지 아래 대각선은 입력이 되고 위 대각선은 입력이 되지 않습니다.


R1/R2 위치에 있는 두 버튼은 동시에 입력이 되지 않습니다.


조이스틱 "리뷰"는 여기까지입니다. 예상대로 6천원짜리 싸구려답게 여기저기 허접한 부분들이 많이 보이지만 제가 사용하려는 목적에서는 그냥 무선이고 버튼 달린 기기이기만 하면 아무 상관이 없기 때문에 큰 문제가 없습니다. (R1/R2 동시입력 안 되는 점과 페어링 이상하게 되는 점은 뼈아프지만 너무 불편한 정도는 아니니 넘어갑니다.)


아날로그 스틱이 요상하게 안 좋은 것도 제 용도에는 더 맞는 면도 있는데 키 할당이 명백하게 되기 때문에 오히려 좋습니다.



이제 본격적으로 이 제품을 윈도/클립스튜디오 등 윈도우용 툴 환경에서 사용하는 법을 설명하겠습니다.


굳이 이 제품이 아니더라도 Autohotkey에서 Joystick 입력으로 인식이 된다면 스크립트를 약간씩 수정하여 적용이 가능합니다.



제목과 방금 전에 말씀드린대로 저는 Autohotkey라는 프로그램을 사용하여 조이스틱 버튼을 키보드 버튼으로 리매핑했습니다. (https://www.autohotkey.com/) 매크로 계열에서는 가장 유명한 프로그램이며 .ahk 확장자를 실행하여 매크로를 실행 상태로 둘 수 있고, 매크로를 시작프로그램으로 지정하는것도 가능합니다.


스크립트 .ahk파일


스틱 방향입력을 버튼으로 바꾸는 부분은 오토핫키 공식 가이드를 살짝 바꿔서 사용했습니다. (https://autohotkey.com/docs/misc/RemapJoystick.htm "Joystick axes" 단락)


저는 오른손잡이이기 때문에 왼손에 쥐고 사용하는 것을 전제로 만들었습니다. 매크로 파일을 설명드리면


R1: 컨트롤키


R2: Shift키


위: z (주로 Ctrl+z 용으로 사용)


우: d (주로 Ctrl+d 용으로 사용, 선택 취소)


좌: s (선택, 가끔 Ctrl+s용으로 사용)


아래: y (주로 Ctrl+y 용으로 사용, 반복)


A: e (지우개)


B: b (브러쉬)


D: l (올가미 선택)


C: Alt 키




저는 클립스튜디오에서 약간 포토샵에 가깝게 바꾼 키바인드를 사용하며, 식자작업이 필요치 않은 환경에서 주로 사용하는 키를 맵핑했습니다.


위 매핑은 제 사용패턴을 기반으로 만든 것이기 때문에 편하신 대로 바꿔 사용하시면 될 것 같습니다.



간략하게 설명을 드리면


Joy1::Send {b} ;B


이는 조이스틱의 버튼 B(Joy1)를 누르면 키보드 키 b를 누르는 것이기 때문에 단순하게 매핑되어있습니다. 하지만 Alt/Shift/Ctrl키의 경우,


Joy8::
Send {Ctrl down}
KeyWait Joy8
Send {Ctrl  up}
return ; R1


과 같이 Ctrl/Alt/Shift는 "누른 채로" 다른 키를 입력해야 하기 때문에 Down/Up이 따로 매핑돼있습니다.



조이스틱 부분은 상당히 길지만, 일부만 발췌해서 설명드리면


if JoyX = 100 ;right
    KeyToHoldDown = d
else if JoyX = 0 ;left
    KeyToHoldDown = s
else if JoyY = 100 ;down

    KeyToHoldDown = y
else if JoyY = 0
    KeyToHoldDown = z
else
    KeyToHoldDown =


즉 JoyX, X축 방향이 끝까지 오른쪽으로 가면 d, 왼쪽으로 끝까지 가면 s를 입력하는 등이 매핑돼있습니다. =100 부분은 R1 컨트롤러 특성상 스틱이 모 아니면 도 식으로 입력이 되기 때문에 이렇게 설정한 것으로, 오토핫키 홈페이지의 원본 스크립트에서는 값이 70 초과/30 미만이면 입력되도록 설정되어있습니다. 





이와 같이 세팅하고 키보드가 없는 환경에서 액정타블렛을 사용해보니 확실히 편리합니다.


계속 식자를 해야 하는 경우에는 어쩔 수 없이 키보드를 두고 작업하는 것이 맞겠지만 선화 작업에서는 거의 식자가 필요없기 때문에 저 정도 숫자의 단축키만을 사용해도 충분한 것 같습니다.


오래 걸리는 해외배송이기는 하지만 배송비까지 만원도 되지 않는 가격으로 얻을 수 있는 편의가 큰 것을 생각하면 괜찮다고 생각됩니다.


액정타블렛 종류를 이용하여 그림 그리시는 분들 중 리모콘이 필요하지만 몇 만원을 쓰기는 부담스럽다고 생각되시고 저런 스크립트를 만지는 것이 괜찮으신 분들은 (굳이 저 제품이 아니더라도) 싸구려 블루투스 조이스틱 구입을 고려해보시는 것도 좋을 것 같습니다.




========================================================


https://signfang.tistory.com/319



유사한 블루투스 컨트롤러인 8Bitdo Zero 2 제품을 구입하고 리뷰를 작성했습니다. 

R1 컨트롤러보다는 가격이 좀 비싼 편이지만 완성도 면에서 비교가 되지 않는 수준으로 좋고 국내 정발도 되어 있으니 이 쪽을 더 추천합니다.

갤럭시 북 10인치모델 가격이 많이 떨어졌길래 들고다니면서 콘티작업할 용도로 알아보다가 그만


"어?? 그럴 바에야 좀 보태서 중고로 12인치 모델 사는게 낫겠는데?" 증세에 빠져버려서 중고로 12인치 wifi모델을 들였습니다. (SM-W720)


출시한지 1년 좀 지났는데 정가 기준으로는 반값보다 적은 가격에 구입해서 만족합니다.



구입 목적이 거의 90%는 만화 그리는 것이라 그림작업 사용성과 나머지 작업 사용성 정도로 나눠서 쓰겠습니다.



1. 그림과는 관련 없는 부분 리뷰


a) 본체 만듦새와 키보드 커버

12인치 태블릿 제품답게 매우 가볍습니다. 포고핀 형태로 연결되는 키보드 커버는 윈도우10 사용성 측면에서 거의 필수적이라 항상 붙이게 되지만 키보드 커버 부착상태에서도 1kg이 되지 않습니다.


키보드 커버는 일반적인 소형 노트북과 유사한 키배열이며, 키감도 상당히 좋습니다. 터치패드 역시 키보드 커버 두께를 생각하면 훌륭합니다. 이전 버전이라고 할 수 있는 탭프로S와는 달리 키가 아일랜드 방식으로 바뀌고 백라이트가 들어갑니다.


킥스탠드가 없는 점을 단점으로 꼽는 분들이 많은 것으로 아는데, 저는 크게 불편하지 않았습니다. 확실히 자석으로 총 3개정도만 세워지는 각도를 지원하는 것은 아쉽지만 책상 위에서 키보드 커버로 세운 후 타이프시 지원하는 어떤 각도에서도 전혀 흔들리지 않는 점은 좋습니다.


신기했던 점은 키보드 커버를 부착한 상태에서도 하판을 완전히 뒤로 뒤집었을 때는 키보드커버를 뗀 것으로 자동으로 인식되어 자동회전 등의 기능이 활성화되는 것이었습니다. 하지만 특별한 상황이 아니라면 이렇게 사용하기보다는 차라리 키보드커버를 떼고 사용하는 것이 무게 면에서 낫겠다는 생각은 들었습니다.


그 밖에 기계나 부속품 자체의 마감이나 완성도는 훌륭합니다. 외부에는 전원+화면 끄기 버튼과 볼륨 버튼, 조도 센서, 전면카메라, 후면카메라가 있습니다.


b) 윈도 10 사용성


여전히 윈도 10은 모바일 기기에서 사용하기엔 완성도가 상당히 떨어집니다. 색인을 담당하는 Windows Search Indexer 또는 Windows Update가 사용자가 원하지 않을 때 마음대로 리소스를 잡아먹는 등 문제가 많습니다.


항상 키보드가 붙은 노트북의 경우 그나마 낫지만 특히 물리 키보드가 없는 경우에는 끔찍할 정도로 사용성이 나쁩니다. 태블릿 모드가 최근 빌드에서 추가되었고 윈도 10 들어서 윈도 자체 설정은 대부분 터치 인터페이스 기반으로 새로 만들어졌기는 하지만 여전히 일반 제어판-터치 제어판에서 설정할 수 있는 사항이 다르며 나머지 프로그램들 역시 터치와 펜 입력으로 사용하기는 어렵습니다.


스토어 앱과 레거시 앱 역시 골치아픈 문제인데, 터치 인터페이스에 (그나마) 최적화된 스토어 앱은 쓸만한 것이 적으며, 레거시 앱은 정말 유용한 프로그램이 많지만 당연하게도 터치 인터페이스에 전혀 최적화되어 있지 않습니다.


윈도우에서 관리하는 자동 밝기 역시 매우 엉성합니다. 조도센서에서 밝기 변화 감지 후 약 0.5초의 딜레이가 있는데 차라리 아예 끄시는 것을 추천합니다. (설정에서 끌 수 있음)


제 사용 용도에서는 와콤 EMR 입력이 정말 유용하기 때문에 이러한 단점을 미리 어느 정도 알고서 구입했지만, 일반적인 용도라면 윈도 기반 태블릿 PC를 노트북 대체용으로는 추천드리지 않습니다.


c) 배터리 시간, 충전


상당히 나쁩니다. 중고 제품이라 배터리 용량이 공장 출하 기준의 90%정도 떨어져 있는 것을 감안해도 매우 짧습니다. 백색 화면이 많은 PC작업 특성상 OLED화면이 이득을 볼 부분이 적습니다.


실 사용시간은 밝기를 50%이하로 낮추고 성능 역시 내려도 5시간을 채우지 못할 것 같습니다.


다행인 점은 충전기가 일반 휴대폰 충전기보다 약간 큰 정도밖에 되지 않아 함께 들고 다니기엔 좋다는 것입니다. 12V 2A 규격으로 충전되며 USB-PD 충전기와도 호환되는 것을 확인했습니다.


d) 확장성과 인터페이스


12인치 모델은 USB-C 단자 2개와 4극 이어폰+마이크 단자가 들어갑니다. USB-C단자는 어느 쪽에 충전기를 연결해도 무방합니다.


제품 두께를 생각하면 USB-C 단자만 남긴 것은 이해할 만 하지만 외부 장치를 사용하려면 항상 동글을 챙겨야 하는 점은 아쉽습니다.


SSD 용량은 공장 출고 사양에서 확장이 불가능합니다. 128기가 또는 256기가인데 역시 이는 아쉬운 부분입니다. A/S 센터에서도 배터리 교체를 위해서는 공장에 입고를 시켜야 한다고 하니 센터에 SSD를 들고 가서 요청하는 방법 역시 가능하지 않을 것으로 생각됩니다.


Micro SD 카드 슬롯이 있어 이를 통한 용량 확장은 가능합니다. 현재 256기가바이트 제품도 가격이 상당히 낮아져 용량이 부족하신 분들에겐 이것이 가장 좋은 방법일 것 같습니다.


e) 전용 소프트웨어와 설정


삼성 노트북 계열에 기본적으로 따라 오는 Samsung Updates와 Samsung Flow 등의 앱이 제공됩니다. 보통 노트북에 전용 설정 역시 따라오는데, 갤럭시 북에는 Book 설정이라는 다른 앱을 통해 관리됩니다.


여기서 S펜 버튼이 어떻게 작동하는지(Air command/Windows Ink/없음 등) 설정과 매뉴얼, 패턴로그인, 배터리세이버(85%까지만 충전되게 제한)등을 설정할 수 있습니다.


기본 설정에서는 S펜 버튼을 오른쪽 버튼이나 더블클릭 등으로 설정할 수는 없는데, 이는 그림 관련 리뷰에서 설명하겠습니다.


f) 기타


스피커는 괜찮습니다만 음질이 좋은 것은 아닙니다.


화면은 해상도가 높고 OLED를 사용하여 보기에 좋지만 역시 좋은 IPS화면과 크게 구분되지는 않습니다. (대부분 경우 150% 확대하지 않으면 사용하기 어려움)


카메라는 사용해보지 않아 모르겠습니다.




2. 그림 관련 리뷰


사실상 이 단락이 본문이라고 할 수 있습니다. 이전에 말씀드렸던 것처럼 윈도 태블릿 PC 계열이 여러모로 별로라는 것을 알면서도 구입한 가장 큰 이유이기도 합니다.


갤럭시 북 제품들은 삼성 S펜을 지원합니다. 즉 와콤 EMR 기술을 사용한 패널이며, 가장 큰 특징은 펜에 배터리가 필요없으며 정확도가 높고 딜레이가 상당히 적다는 점입니다. (단점은 패널 외곽에서 오차가 있는 편)


갤럭시 노트와 펜을 지원하는 갤럭시 탭 종류, 본 리뷰 대상인 갤럭시 북 등 삼성 S펜 계열, 기타 레노보와 HP 등 타사 제품 등 여러 가지가 있지만 보통 삼성 S펜 계열이 (최신 제품 기준으로) 펜촉 팁도 가장 가늘고 필압 감지 레벨도 가장 높습니다. 


단점이라면 최신 제품 기준 와콤에서 지원하는 드라이버를 사용할 수 없다는 점인데 (Wacom Feel, 버튼 리매핑 등의 기능 지원) 이를 우회할 방법은 아래에서 설명하겠습니다.


전체적인 사용감은 여러모로 신티크13HD 터치 모델과 유사합니다.




a) 성능


12인치 모델의 경우 모두 i5-7200U CPU에, 국내 정발 사양의 경우 대부분 8기가바이트 RAM을 장착하고 있습니다. (일부 4GB)


저는 클립스튜디오(1.8.0)를 사용하며, 제가 콘티 작업을 하는 해상도는 한 페이지당 약 1600X26000이며(픽셀), 페이지당 10컷 내외로 컷당 1~2개 레이어를 사용합니다. 기존 작업방식인 신티크를 이용한 작업은 고성능 데스크탑에서 이루어지는 만큼(R7 2700X, NVMe SSD, 16GB RAM, 1070ti) 아래에는 본래 작업 환경에서는 느끼지 못했던 사항들 위주로 적겠습니다.


제 작업환경에서는 펜 스트로크, 대사 입력 등의 작업에서 딜레이를 느낄 수 없었습니다. (흑백, 완성된 원고에 작업시에도)

다만 회전, 선택 툴로 일부를 잘라낸 후 변환, 레이어 이동 등에서는 눈에 띄는 딜레이가 있습니다. 하지만 작업에 큰 지장이 있을 정도는 아닙니다.


타 프로그램(포토샵 등)이나, 적당한 그림 크기에 레이어를 아주 많이 사용하는 경우 등 다른 사용예의 사용감은 구체적으로 확인하지 못했습니다. 그래도 제가 작업하는 크기가 매우 큰 것을 생각하면, 최소한 클립스튜디오에서는 캔버스 크기가 아주 크지 않은 경우 레이어가 많아도 비교적 괜찮을 것 같다는 생각은 듭니다.



b) 패널과 액정 보호필름, 펜촉의 궁합


갤럭시 북의 펜에 기본 제공되는 펜촉은 부드러운 팁(검은색/흰색), 또는 딱딱한 팁입니다(회색). 전용 펜촉 교환기와 펜촉 세트를 분실하셨다면 삼성 서비스센터에 요청하시면 구입할 수 있습니다. (3500원)


모든 종류의 디지털 타블렛 종류에 해당되는 사항이기는 하지만, 갤럭시북 역시 액정 보호필름과 펜촉의 조합으로 다양한 느낌을 낼 수 있습니다. 의외로 상당히 중요한 부분인데, 새로운 기기에 쓰는 느낌이 기존에 적응한 기기의 느낌과 많이 달라지면 본인의 실력을 내기가 어렵습니다.


"그리는 느낌"이라는 것은 당연히 사람마다 선호하는 것이 다르겠지만, 저는 최대한 종이에 연필로 쓰는 느낌과 비슷한 경우를 우선적으로 생각했습니다.


먼저 액정 보호필름을 사용하지 않는 경우, 또는 강화유리 필름을 사용하는 경우라면, 당연히 유리판에 펜촉이 닿게 됩니다.  이 경우에는 유리판 자체가 비교적 마찰력이 낮기 때문에 딱딱한 팁보다는 부드러운 팁이 낫습니다.


고광택 보호필름을 사용하는 경우에는 (필름 제조사마다 다르겠지만) 보호필름 자체가 마찰력이 상당히 높습니다. 이 경우 부드러운 팁을 사용할 때는 마찰력이 지나치게 높아 쓰기가 어렵습니다. 딱딱한 팁이 낫습니다. 갤럭시탭A에 이렇게 사용하고 있습니다.


마지막으로 제가 가장 선호하는 조합입니다. 지문방지, 또는 올레포빅(지문방지+추가코팅) 필름을 사용하는 경우입니다. 지문방지 계열 보호필름이 가진 질감 자체가 종이와 비슷하여 부드러운 팁, 딱딱한 팁 모두 다른 느낌으로 괜찮습니다. 저는 딱딱한 팁이 좀 더 낫다고 생각합니다. 신티크에 같은 조합으로 사용중입니다. (지문방지 계열은 화면이 흐려지는 단점이 있습니다. 이 부분에 민감하시면 추천하지 않습니다.)


쓰여 있는 대로 저는 지문방지 계열(지문방지/올레포빅) 필름에 딱딱한 팁을 사용하는 것을 제일 선호하지만, 이는 사람마다 다를 수 있는 매우 주관적인 부분입니다. 본인에게 맞는 조합을 잘 찾아보시기 바랍니다.



c) 필압과 팜 리젝션, 터치 등


필압과 펜 느낌은 거의 신티크와 동일합니다. 외곽 오차는 오히려 신티크 13HD 터치 모델보다 적은 느낌도 듭니다.


팜 리젝션과 일반적인 상황에서 터치 사용시 반응속도는 신티크보다도 훨씬 좋습니다. (성능 부족으로 인한 딜레이 이외)



d) 펜 버튼 리매핑


삼성 S펜 드라이버는 기본적으로 펜 버튼을 다양하게 리매핑할 수 있는 옵션이 없습니다. 와콤 Feel 드라이버도 지원하지 않기 때문에 이 역시 사용할 수는 없습니다.


Radial Menu등을 사용하는 방법도 있으나 이는 필요없는 기능이 너무 많고 갤럭시북에서 사용시 불안정했습니다.


저는 Autohotkey 스크립트를 이용한 방법을 추천합니다. 매크로 생성 계열에선 가장 유명한 프로그램입니다.


(원문: http://forum.tabletpcreview.com/threads/samsung-galaxy-book-discussion-thread.71795/page-223 유저 fotd가 작성한 내용을 번역했습니다.)


1- 우선 Autohotkey를 설치합니다. (https://autohotkey.com/)


2- AHKHID를 다운로드합니다. (https://github.com/jleb/AHKHID/ 에 접속하여 "Clone or Download" 선택)


3- AHKHID를 적당한 곳에 압축을 풀어줍니다. (내 문서 폴더 등)


4- 그리고 다음 내용을 텍스트 편집기로 저장해 확장자를 .ahk 로 지정한 후, AHKHID와 같은 폴더에 둡니다.


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 == 8)
        {
            Click right
        }
        lastInput := proc
    }
    }
}



4- 저장한 .ahk 파일을 실행합니다. 펜 버튼이 오른쪽 버튼 클릭으로 작동하는 것을 확인할 수 있습니다.


5- (옵션)시작프로그램에 만들어둔 .ahk 파일을 지정합니다



위 스크립트를 이용하여 오른쪽 버튼 대신 더블클릭으로 사용하고 싶으시다면,


if(proc==8)

{

Click right

}


부분을 



if(proc==8)

{

Click left

Click left

}


로 바꾸면 더블클릭으로 지정할 수 있습니다.



e) 발열, 소음 및 작업 편의성


팬은 키보드커버 장착 방향 기준 우측 위쪽에 있으며, 발열도 그 부근에서 제일 강한 편입니다.  평상시 발열은 사용시 신티크13과 유사하거나 약간 더 시원한 정도입니다.


하지만 셋팅 직후 한정으로 색인이 돌고 있다면 상당히 심합니다. (Windows Search Indexer가 CPU 약 30%) 주로 여러 컴퓨터 사용하시는 분들이 클라우드 동기화 같은 작업 때문에 색인할 파일이 갑자기 늘어난 경우 이런 일이 많습니다. 시간이 상당히 오래 걸리므로 켜 놓은 상태로 하룻밤정도 두시는 것을 추천합니다. 색인 진행상황은 제어판-색인 옵션에서 확인 가능합니다. (색인이 너무 낮은 숫자에서 멈춰 있다면 색인 재시작을 해주세요)


그 이외에 클립스튜디오만 단독으로 사용할 때는 큰 불편은 느끼지 못했습니다.


보통 신티크 사용시 신티크를 세우고 키보드를 왼쪽에 삐딱하게 놓고 써서 그런 식으로 사용하기 위해 따로 블루투스 키보드를 구입해야 하나 싶었지만 생각보다 키보드 커버 연결한 상태로 평평하게 놓고 작업하는 것도 편의성이 나쁘진 않았습니다.






3. 총평


전체적으로 상당히 만족스럽습니다. 


비슷한 용도로 노트북9 펜을 사용하는 지인 역시 만족스럽다고 합니다. 다만 노트북9 펜 계열은 기본적으로 따라오는 S펜이 (수납은 가능하지만) 매우 작아서 갤럭시북이나 탭s3 계열 S펜 또는 S펜 플러스 등을 추가로 구입하는 것을 추천드립니다. 그 외에도 노트북9 펜/프로 계열은 해외출시가보다도 국내 출시가가 상당히 비싼 점이 아쉽습니다.


특히 와콤 모바일스튜디오나 신티크 컴패니언 계열이 프로 펜을 지원하고 와콤 소프트웨어 솔루션을 지원하고 신티크처럼도 사용할 수 있다지만 정말 말도 안되게 비싼 것을 생각하면 더더욱 갤럭시 북의 가치가 드러납니다. 갤럭시 북이 사용성 면에서는 13HD 터치와 약 85%정도 유사하지만 동일 사양 모바일스튜디오가 최소 200만원대인 것을 생각하면... 게다가 국내 AS등 사후지원 면에서 와콤과 삼성이 비교 자체가 안 되는 수준으로 차이가 나는 점도 있구요.


다만 본문에 적었던 대로 윈도우 타블렛 자체가 정말 사용성이 나쁘고 SSD 최대용량이 256기가뿐인 점 등 노트북이 필요한 사람에게 먼저 추천할만한 제품은 아닙니다. 배터리 시간도 매우 짧은 편이고 화면도 작습니다.


펜 기능 자체에 매우 높은 우선순위가 있는, 즉 모바일스튜디오/신티크 컴패니언 계열 제품이 필요하지만 신티크처럼 외부 컴퓨터로 연결해서 작업할 필요가 없는 사람에게는 아주 좋은 선택이 되리라고 생각합니다.




===============


충전 관련 추가


노트9와 탭S3에 동봉된 USB-C 타입 삼성 정품 고속충전기 (9V 1.67A)에서도 충전이 되는 것을 확인했습니다. 정품 25W (12V 2.1A) 충전기보다는 느리지만 확실히 충전은 되고 너무 못 써먹을 정도로 느리지도 않습니다.


다만 삼성멤버스를 통해 문의한 결과 "사용이 가능은 하지만 발열 문제 등이 있으니 권장하지는 않는다" 는 답변을 들었습니다. 실제로 정품 25W 충전기가 아닌 18V 충전기를 사용했을 때 A타입 연결부위에서 발열이 심하게 나기도 했구요. 급할 때 충전하는 용도로만 사용하시면 될 것 같습니다.

+ Recent posts