Tip Etc.

마인크래프트(자바 에디션) 한글 채팅 해결 프로그램 (마인크래프트 한영 키 ver 1.4.4 오토핫키 오픈 소스)

나노콛 2020. 10. 2. 02:44

마인크래프트 (자바 에디션)에서 한글 입력 상태 시 게임 조작이 안되는 문제점을 해결한 프로그램입니다.
* 마인크래프트 버전과 무관하게 사용할 수 있습니다.
(다운로드는 하단에 있습니다.)

처음에 마인크래프트를 설치하고 이 한글 채팅의 문제점을 해결하려고 구글링을 많이 했었습니다.

고수분들의 갖가지 해결 방법이 있었습니다.

하지만 그 해결 방법은 두벌식 전용에다가 저 같이 세벌식을 쓰는 사람은 사용할 수 없었습니다.

또 다른 채팅 해결 프로그램은 설치가 까다로운 단점이 있었습니다.

먼저 한글 채팅의 문제점은 이러합니다.

마인크래프트에서 채팅을 하려면 기본 단축키는 T입니다.

T를 타이핑하면 채팅을 입력할 수 있게 입력창이 활성화됩니다.

하단의 채팅 입력창

원하는 대로 채팅을 쓰고 엔터를 치면 채팅이 입력이 됩니다.

엔터로 채팅 전송

채팅을 입력하고 난 후 (한글로 변환된 상태)

게임에서 조작을 하려고 하면 조작이 되지 않습니다.

이유는 영문 입력일 때 게임의 키를 사용할 수 있기 때문입니다.

그래서 다시 한영 키를 눌러 영문으로 변경한 후 게임을 하고

채팅을 할 때 t를 눌러 채팅창 활성화

한영 키 눌러 한글로 변경

한글 채팅

엔터를 쳐 채팅을 전송

한영 키 눌러 영문으로 변환해서 게임 플레이를 해야 합니다.

아주 번거롭습니다.

그래서 이 프로그램을 만들었습니다.

먼저 소스 코드입니다.

#UseHook On
#IfWinActive, ahk_class GLFW30


ver:=1.4.4
MsgBox, [마인크래프트 설정-조작-대화열기]`nT에서 Enter로 변경하세요`n`n한영키 꼬임방지 Tab키`n프로그램 종료: Ctrl+Alt+Q

slash := 0

/::
slash := 1
send,{/}
return

enter::	
if slash = 1
{
	slash := 0
	send, {enter}
	SoundPlay,fireball.wav
}
else
{
	send, {vk15sc138}
	send, {enter}
}
return


Tab:: 
ret:=IME_CHECK("A")  ; 한글1 영문0
if ret = 1
{
	send, {vk15sc138}
	SoundPlay,nspade_match.wav
}
return




#IfWinActive
^!Q::
SoundPlay,break_brick_block.wav
sleep, 1000
ExitApp







; 한영키 체크 함수
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)
}

설정에서 대화 열기 단축키를 T에서 Enter로 변경합니다.

동작 원리는 이렇습니다.

채팅을 할 때 위에서 설정한 대로 Enter로 합니다.

Enter을 누르면 최초 영문 상태에서 한글로 전환되고 채팅창 활성화가 됩니다.

곧바로 한글 채팅이 가능합니다.

그리고 엔터를 누르면 채팅을 전송함과 동시에 영문으로 전환됩니다.

엔터 시 한영 키와 대화 열기 단축키 Enter를 누르고

다시 엔터 시 채팅 전송과 한영 키를 누르는 로직입니다.

알트 탭이나 마인크래프트가 비활성화 일 때는 위의 기능이 동작하지 못하게 하는 로직이 들어가 있습니다.
마인크래프트가 다시 활성화되면 다시 기능이 활성화됩니다. ​

채팅 프로그램의 종료는 Alt+Q입니다.


[1.4.4 버전]
어떠한 이유에서 한영 키를 눌러 한영 키 상태가 꼬인 경우
Tab키를 누르면 한글 상태가 영문으로 변경됩니다.

 

 

다운로드 (아래링크 클릭하세요)

https://drive.google.com/file/d/1pz6LP-LpjQZmMIiBC5uHxIQycj_MQT5T/view?usp=sharing 

 


 

윈도 에디션 마인크래프트는 한글 입력 상태에도 게임 조작이 가능합니다.


14.4 업데이트 로그 ​

꼬임방지 왼쪽 Alt키가 Tab키로 변경되었습니다. 

 

 

 

 

 

 

1.4.3 업데이트 로그 ​

꼬임방지 기능키 마우스 휠 버튼이 마크내에서 아이템 복사기능이 있기때문에
해당 키를 왼쪽 Alt키로 변경합니다. ​

프로그램 시작시 뜨는 설명글이 수정되었습니다. 

 

 

 

 

 

 

 

1.4.2 업데이트 로그 ​

어떠한 이유에서 한영 키를 사용한 이후에 게임에서 한영 키가 꼬이는 증상
한영 키를 눌러 채팅 모드로 들어가면 영어로 되고
입력을 완료하면 한글로 되어 게임 조작이 꼬이는 경우가 있습니다.


기본적으로 엔터키를 누르면 한영 전환이 되기 때문에
이를 해결하려면 채팅 모드가 아니라 게임 상태에서 마우스 휠 버튼을 누르면 한글일 경우 영어로 전환됩니다.
한글에서 영문으로 제대로 전환이 되었다면 사운드가 재생되어 확인 가능합니다.
(* 영문이라면 마우스 휠 버튼을 눌러도 사운드가 재생되지 않습니다.)


마인크래프트 상태에서만 조작이 되게 상황을 구분하는 코드를 넣었습니다.
그로 인해
프로그램 종료 단축키(Alt+Q)는 어떠한 상황에서도 사용할 수 있게 됩니다.
마인크래프트 비활성화인 경우 마인크래프트에서 사용 가능한 기능이 잠깁니다.

 

 

 

 

1.4.1 업데이트 로그

콘솔 모드 사용시 '/' 입력문제 해결

 

 

 

1.4 업데이트 로그

콘솔 모드 사용 시 엔터를 친 이후 한영 키가 바뀌는 문제 해결

아래의 경우에서 사운드 파일 재생으로 프로그램 사용을 또렷하게 확인할 수 있게 함

마인크래프트가 비활성화 일 때 (프로그램 단축키 사용 중단 시)

마인크래프트가 활성화 상태로 돌아왔을 때 (프로그램 단축키 사용 가능 시)

콘솔 모드 시 명령어를 사용 후 엔터를 쳤을 때

단축키로 프로그램을 종료했을 때

(* 사운드 파일 재생을 원치 않는다면 압축파일에 있는 wav 파일을 지우면 됩니다.)