그래픽툴마다 다른 한영전환 프로그램을 쓰는 것이 번거롭기 때문에, 대중적인 그래픽툴 대부분을 확인하며 시험한 뒤 단 하나의 프로그램에 스크립트를 모았다.
확인 결과, 포토샵, 일러스트레이터, 클립스튜디오는 마우스 한영전환과 키보드 한영전환이 수월히 이루어진다.
김프, 에프터이팩트는 마우스 한영전환이 정상 작동하나 키보드 한영전환은 어째서인지 작동이 안 된다.
코렐 페인터는 기이하게도 오토핫키 자체가 먹히지 않는다.
필자는 오토핫키를 쓰는 법을 잘 모르기에, 어쩌면 전문가가 나선다면 어떻게 해결할 수 있을지 모르겠다.
크리타, 메디방페인트, 파이어알파카는 원래 한영전환과 상관없이 잘 작동하고, 오픈캔버스와 사이툴은 텍스트를 지원하지 않기에 생략하였다.
해당 스크립트 전문을 아래에 개시하니, 필요한 사람은 마음껏 이용하기를 바란다.
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
}
ifwinactive, ahk_class Photoshop
{
Send, {vk15sc138}
mousegetpos, sx, sy
}
ifwinactive, ahk_class illustrator
{
Send, {vk15sc138}
mousegetpos, sx, sy
}
ifwinactive, ahk_class gdkWindowToplevel
{
Send, {vk15sc138}
mousegetpos, sx, sy
}
ifwinactive, ahk_class AE_CApplication_16.1
{
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
^Enter::
ret := IME_CHECK("A")
if %ret% <> 0
{
ifwinactive, ahk_class Photoshop
{
Send, ^{Enter}
Send, {vk15sc138}
}
ifwinactive, ahk_class illustrator
{
Send, ^{Enter}
Send, {vk15sc138}
}
else
{
Send, ^{Enter}
}
}
else
{
Send, ^{Enter}
}
return
NumpadEnter::
ret := IME_CHECK("A")
if %ret% <> 0
{
ifwinactive, ahk_class Photoshop
{
Send, {NumpadEnter}
Send, {vk15sc138}
}
else
{
Send, {NumpadEnter}
}
}
else
{
Send, {NumpadEnter}
}
return
기본틀이 된 스크립트를 공개하신 원사운드님께 다시 한 번 감사의 말씀을 올린다.
'그림 기능과 기술' 카테고리의 다른 글
클립 스튜디오 페인트 집중선 점선으로 더럽게 끊기는 현상 해결하기 (0) | 2021.01.03 |
---|---|
자작 아두이노 컨트롤러 회로도와 코드 (0) | 2021.01.03 |
아두이노로 아이패드용 그림 컨트롤러 제작하기 (0) | 2020.07.05 |
클립스튜디오, 포토샵 한영전환 단축키 문제 해결 스크립트 (23) | 2019.07.23 |
댓글