tightvnc의 viewer를 이용하여 접속을 하면, 한/영 키가 제대로 안먹히는데~

kindlion의 이미지

안녕하세요

요즘, 원격제어에 관심이 생겨 vnc소스를 보고 있는데요~

여기를 검색해보니 realvnc의 viewer소스를 수정해서 한/영 키를 사용가능 하게
해놓았던데요~
그래서 이걸 참고로 tightvnc viewer소스를 수정을 했습니다. (서버도 조금 수정하구요)
근데, 정상 작동 하질 않더군요~

디버깅을 해보니,
WM_KEYDOWN 부분에서
wParam = ImmGetVirtualKey(...);
이걸 하게 되면 값이 바껴야 하는데(realvnc viewer에서는 21로 바뀜) 바뀌질 않더군요~
그래서 강제로 바꿔보았습니다.
그랬더니, 한글 -> 한/영 -> a(아무키) -> 한/영 -> 영어
이런식으로는 작동이 하더군요~

설명을 해보자면, 처음에 한글로 되어있다고 하면... 한/영 키를 누른후, 아무키나 한번
누르고 다시 한/영 키를 누르면 영어를 작성 가능하더군요~

중간의 저 두단계를 없애기만 하면되는데...
중간의 왜 저렇게 해야하는지 디버깅을 해봤더니,
처음에 한/영 키를 누른후 알파벳을 누르면 계속 한/영키 값이 들어옵니다.(이게 문젠거죠~)
다른 키를 눌렀는데 왜 이키값이 들어오는건지...

혹시 해결하시거나 아시는분 있으신가요??

kindlion의 이미지