본문 바로가기
그림 기능과 기술

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

by ㅁ륜ㅁ 2019. 7. 23.

업데이트: 이 글에 있는 스크립트들은 오래된 버전이고, 이를 개선, 통합한 신형 스크립트가 이미 나왔다. 여러 그림 프로그램을 사용한다면 여기서 여러 개를 다운로드하지 말고 여기(클릭)에 있는 통합 스크립트를 받는 것을 추천한다.

 

 

 

 

 

 

클립스튜디오로 만화를 그리다보면 짜증나는 문제에 부딪히는데, 바로 한영전환이 된 상태에서는 단축키가 먹히지 않는다는 점이다.

 

이에 대한 해결책이 없나 인터넷을 찾던 중, 앞선 선구자의 게시물을 발견할 수 있었는데, 바로 유명작가 원사운드의 오토핫키 스크립트이다.

 

http://oooz.net/ps-non-us-keyboard-shortcut/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+onesound+(oooz.net+%7C+onesound)

 

포토샵 한글 단축키 스크립트

이 블로그를 애독하거나 날 아는 사람들은 내가 포토샵에서 한글입력모드일때 툴박스 단축키가 안된다는 것에 엄청나게 분노한다는 사실을 알고 있을 것이다.(이 문제는 non-US 키보드 레이아웃을 쓰는 전세계 디자이너들이 겪는 문제다.) 맥에서는 이 문제를 다른 입력기를 쓰는 걸로 해결할 수 있고, 최근에 매버릭스에서 비슷한 문제가 생겼는데 Adobe에서 …

oooz.net

 

 해당 링크로 가면 원사운드님이 포토샵을 기준으로 짠 스크립트를 볼 수 있는데, 맨 밑에 있는 2017년판 스크립트를 기준으로 포토샵을 실행하는 상태에서만 마우스를 움직이거나 ctrl+enter을 누르면 자동으로 영문으로 한영전환한다. 그래서 일일히 한영전환키를 누르지 않고 바로 단축키를 이용할 수 있어 편리하다.

 

 그런데 나는 포토샵을 쓰지 않으니까 이걸 그대로 쓸 수는 없는 노릇. 또한 왜인지는 모르겠는데 원사운드님의 스크립트를 쓰려고 해도 내 컴퓨터에서는 이게 이상하게 작동하지 않는다.

 

그래서 클립스튜디오에 쓸 수 있도록 스크립트를 수정했다. 바뀐 스크립트를 기준으로는 클립 스튜디오를 실행하는 상태에서만 마우스를 움직이거나 shift+enter을 누르면 자동으로 영문으로 한영전환한다.

 

클립스튜디오 간편한영전환.exe
1.05MB

 

해당 exe파일을 실행하기만 하면 알아서 다 해주고, 클립 스튜디오에서만 작동하니 인터넷이나 다른 창을 열고 작업해도 아무런 부작용이 생기지 않는다.

 

다만, 클립스튜디오 실행파일 이름이 CLIPStudioPaint.exe일 때만 작동하니 유의하도록 하자. 클립스튜디오를 설치하고 이름을 바꾸지 않았다면 저게 기본 이름이니 큰 문제가 없을 것이다. 혹시나 작동하지 않다면 실행파일 이름을 CLIPStudioPaint.exe로 바꾸고 하면 잘 될 것이다.

 

다시 한 번 강조한다,

 

이 스크립트는 클립스튜디오 실행파일 이름이 CLIPStudioPaint.exe일 때만 작동한다.

 

이제 파일명이 바뀌어도 작동하도록 스크립트를 수정했다.

 

 

 혹시나 스크립트가 궁금한 사람들을 위해 아래 접은글에 전문 적어두도록 한다.

 

더보기

IME_CHECK(WinTitle)
{
WinGet,hWnd,ID,%WinTitle%
Return Send_ImeControl(ImmGetDefaultIMEWnd(hWnd),0x005,"")
}
Send_ImeControl(DefaultIMEWnd, wParam, lParam)
{
DetectSave := A_DetectHiddenWindows
DetectHiddenWindows,ON
SendMessage 0x283, wParam,lParam,,ahk_id %DefaultIMEWnd%
if (DetectSave <> A_DetectHiddenWindows)
DetectHiddenWindows,%DetectSave%
return ErrorLevel
}
ImmGetDefaultIMEWnd(hWnd)
{
return DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hWnd, Uint)
}

#persistent
coordmode, mouse, screen

mousegetpos, sx, sy

settimer, check, 20
return

check:
mousegetpos, cx, cy
if (cx != sx or cy != sy)
{
ret := IME_CHECK("A")
if %ret% <> 0
{
ifwinactive, ahk_class 742DEA58-ED6B-4402-BC11-20DFC6D08040
{
Send, {vk15sc138}
mousegetpos, sx, sy
}
else{}
}
else
{
mousegetpos, sx, sy
}
}
return


+Enter::
ret := IME_CHECK("A")
if %ret% <> 0
{
ifwinactive, ahk_class 742DEA58-ED6B-4402-BC11-20DFC6D08040
{
Send, +{Enter}
Send, {vk15sc138}
}
else
{
Send, +{Enter}
}
}
else
{
Send, +{Enter}
}
return

 

 

하는 김에 포토샵용 스크립트도 짰다.

 

이는 원사운드님의 스크립트와 똑같이 마우스를 움직일 때와 ctrl+enter(포토샵의 텍스트창에서 벗어나기)을 눌렀을 때 자동으로 영어로 한영변환을 해준다.

 

역시나 포토샵에서만 작동하기 때문에 인터넷이나 다른 프로그램을 동시에 실행해도 걱정이 없다.

 

 

포토샵 간편한영전환.exe
1.05MB

 

 

 포토샵용 스크립트 또한 접은글로 전문 공개한다.

 

 

더보기

IME_CHECK(WinTitle)
{
WinGet,hWnd,ID,%WinTitle%
Return Send_ImeControl(ImmGetDefaultIMEWnd(hWnd),0x005,"")
}
Send_ImeControl(DefaultIMEWnd, wParam, lParam)
{
DetectSave := A_DetectHiddenWindows
DetectHiddenWindows,ON
SendMessage 0x283, wParam,lParam,,ahk_id %DefaultIMEWnd%
if (DetectSave <> A_DetectHiddenWindows)
DetectHiddenWindows,%DetectSave%
return ErrorLevel
}
ImmGetDefaultIMEWnd(hWnd)
{
return DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hWnd, Uint)
}

#persistent
coordmode, mouse, screen

mousegetpos, sx, sy

settimer, check, 20
return

check:
mousegetpos, cx, cy
if (cx != sx or cy != sy)
{
ret := IME_CHECK("A")
if %ret% <> 0
{
ifwinactive, ahk_class Photoshop
{
Send, {vk15sc138}
mousegetpos, sx, sy
}
else{}
}
else
{
mousegetpos, sx, sy
}
}
return


+Enter::
ret := IME_CHECK("A")
if %ret% <> 0
{
ifwinactive, ahk_class Photoshop
{
Send, ^{Enter}
Send, {vk15sc138}
}
else
{
Send, ^{Enter}
}
}
else
{
Send, ^{Enter}
}
return

 

 

 클립 스튜디오나 포토샵을 사용하지 않는 사람들을 위해 모든 프로그램에서 마우스를 움직이기만 하면 자동으로 영어로 한영전환하는 스크립트 또한 첨부한다. 다만 이 스크립트는 인터넷을 포함한 모든 프로그램에서 작동하니까 이 점 유의하기를 바란다.

 

 

마우스 한영전환.exe
1.05MB

 

 

해당 스크립트 역시 아래에 적어둔다.

 

 

더보기

IME_CHECK(WinTitle)
{
WinGet,hWnd,ID,%WinTitle%
Return Send_ImeControl(ImmGetDefaultIMEWnd(hWnd),0x005,"")
}
Send_ImeControl(DefaultIMEWnd, wParam, lParam)
{
DetectSave := A_DetectHiddenWindows
DetectHiddenWindows,ON
SendMessage 0x283, wParam,lParam,,ahk_id %DefaultIMEWnd%
if (DetectSave <> A_DetectHiddenWindows)
DetectHiddenWindows,%DetectSave%
return ErrorLevel
}
ImmGetDefaultIMEWnd(hWnd)
{
return DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hWnd, Uint)
}

#persistent
coordmode, mouse, screen

mousegetpos, sx, sy

settimer, check, 20
return

check:
mousegetpos, cx, cy
if (cx != sx or cy != sy)
{
ret := IME_CHECK("A")
if %ret% <> 0
{
Send, {vk15sc138}
mousegetpos, sx, sy
}
else
{
mousegetpos, sx, sy
}
}
return

 

한영전환에 고통받은 그림쟁이 모두에게 작게나마 도움이 되기를 기원하며.

댓글