반응형

출처: http://blog.daum.net/bluebread/2

분명히 이걸 아는 사람이 있을텐데 올려놓은 사람은 없군요.



설정방법
 
1. Project의 base을 open한다.
    DoNoting() 이라는 macro를 만들어 추가한다. 진짜로 아무일도 하지 않는 걸로.
macro DoNothing()
{
}
2. Option > Key Assignment 을 선택한다.
 

 


 
3. Macro: DoNothing 선택후에 Assign New Key를 누르고 다음의 키조합을 입력한다.
Shift + 한/영 (황당한 조합이지만 먹힌다.)
4. 화면에 "shift+ " 로 표시되면 들어간 것이다.
 
5. 완료!!

이후로 아무 것도 해줄 필요가 없다.

그냥 메모장 쓰듯이 한글입력하면 된다. 쌍자음 그냥 입력해도 안 깨진다.

 
 
주의
"어 안되잖아?" 하시는 분이 있을까봐...
 
txt 파일에서 시험해보면 확실히 아무런 문제가 없는데, c 파일에서는 커멘트나 따옴표 블럭 밖에서는 한글이 깨진것처럼 보일 것이다.
정확한 이유는 알수 없지만 깨진게 아니고 잘못 보여주는 것이다. (syntax highlight 때문이라고 생각한다.)


아래 그림에서 보듯이, 마우스로 블럭선택해보면 멀쩡한 글자들이 보인다.

그리고 커멘트내에서는 안 깨져 보인다.

 c 파일에서 커멘트나 따옴표 외부에 한글쓸 일은 어차피 없으니 안심하자.

 


 
배경지식
 
Source Insight 로 한글입력시 shift 때문에 깨진 파일을 헥사 에디터로 보면 0xe5가 들어가면서 한글이 깨진다는 것을 알 수 있다.
그런데 0xe5가 뭐냐하면...
 
VK_PROCESSKEY (0xE5)
Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key
 
그니까 소스인사이트는 IME에서 내려오는 virtual key code중에서 ctrl 이나 alt 같은 실제로 문자입력이 아닌 값을 유효한 문자인 줄 알고 처리하고 있는 것이다.
 

그래서 이걸 가로챌 방법을 생각하다가 macro hot key로 assign 해보니까.. 통했다.


be happy!!

+ Recent posts