윈도우 세벌식에서의 오류
-
롬 리서치를 쓸 때, 세벌식을 사용하면 백쿼트를 한번 누르면 세개가 동시에 나타난다
* 그러나 이는 의도되지 않은 동작으로, 앞 두개만 코드 블럭으로 인식되고 마지막 백쿼트는 그냥 나타난다. * 따라서 어딘가 오류가 있는 상황 * 윈도우 세벌식에서 키를 누르면, chrome onkeydown 이벤트 이전에 이미 글자를 적는 것 같다. * 두벌식에서는 onkeydown 이벤트가 먼저 나타나고 글자가 나타남 * 따라서 롬 리서치에서 정상적으로 백 쿼트 두개를 추가했지만, 세벌식 입력기가 먼저 백쿼트를 하나 입력했기 때문에 세개가 나타나는 현상으로 추측
-
추가
- 확인하다보니, 세벌식 IME가 특수문자에도 keycode 229를 입력하는 것으로 보인다.
- 두벌식에서는 한글 자모에서만 keycode 229가 입력되며, 특수문자에서는 영문과 동일한 키코드가 입력된다
- 이는 한글에서 조합을 위해서 IME가 사용하는 특수 키코드 출처
- 아마도 IME 세벌식이 기대한것과 다르게 동작해서, 크롬이 오류를 일으키는 것으로 보인다
- 확인하다보니, 세벌식 IME가 특수문자에도 keycode 229를 입력하는 것으로 보인다.
-
어떻게 검증할 수 있을까?
-
- 크롬 onkeydown을 input에 추가한 뒤 글자가 나타나는 순간과 이벤트의 발생 순서를 확인한다
- 확인함
- input과 간단한 script 하나를 추가해두고 breakpoint를 걸었을 때, 세벌식의 경우 먼저 글자가 나타난다
<input /> <script> onkeydown = (event) => { console.log(event); }; </script>
-
- 만약 이 현상이 일어난다면, 이는 크롬의 버그일까? 세벌식 입력기의 버그일까?
- 아마도 세벌식 입력기의 버그가 아닐까 싶다. 솔찍히 세벌식 입력기를 마소에서 얼마나 많은 사람이 관리한다고…
- 어떻게 확인할 수 있을까?
- 윈도우 입력기 소스 코드는 볼 수 없어서 확인이 어렵다. 사실 어떻게 확인해야 하는지 감도 안잡히고
- 다만 여러 사람들이 세벌식 입력기 관련해서 버그가 있다고 제보하는 것 같다
- 이부분은 윈도우 포럼같은곳에 제보하고 다른 방법을 써서 해당 문제를 해결하는 것이 나을 것 같다.
-
-
어떻게 해결할 수 있을까?
- 현재는 자주 사용하는 백쿼트만 auto hotkey로 스크립트를 짜서 사용하고 있다
- 세벌식 IME의 특수문자 오류라고 판단되기 때문에, 확인해보고 keycode가 잘못 나오는 특수문자들을 autohotkey를 통해서 입력하도록 수정할 것
- 세벌식인 경우에만 혹은 롬 리서치인 경우에만 자동으로 ahk 스크립트가 동작하게 방법을 찾아보자
-
아 한달정도 괴롭히던 문제를 드디어 풀었다.
- 속 시원해라…
-
윈도우 11로 업데이트 하면서 고쳐졌더라… April 28th, 2024