<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: coverboy</title>
    <description>The latest articles on DEV Community by coverboy (@coverboy).</description>
    <link>https://dev.to/coverboy</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3911215%2F27dd1e1a-fd45-4b53-81b8-4e8a06cb4724.png</url>
      <title>DEV Community: coverboy</title>
      <link>https://dev.to/coverboy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/coverboy"/>
    <language>en</language>
    <item>
      <title>Shift+Space로 한/영 전환하는 Windows 트레이 유틸 (Korean/English IME toggle, open source)</title>
      <dc:creator>coverboy</dc:creator>
      <pubDate>Mon, 04 May 2026 03:51:24 +0000</pubDate>
      <link>https://dev.to/coverboy/shiftspacero-hanyeong-jeonhwanhaneun-windows-teurei-yutil-koreanenglish-ime-toggle-open-source-3lba</link>
      <guid>https://dev.to/coverboy/shiftspacero-hanyeong-jeonhwanhaneun-windows-teurei-yutil-koreanenglish-ime-toggle-open-source-3lba</guid>
      <description>&lt;p&gt;Windows에서 한/영 전환할 때마다 키보드 종류 설정 → 재부팅 → 다시 풀려있음 → 또 재부팅... 이 무한루프 겪어보신 분 있을 겁니다.&lt;/p&gt;

&lt;p&gt;이런 유틸들은 예전부터 많이 있었습니다. 그런데 막상 필요할 때 검색하면 잘 안 나오고 ("개똥도 약에 쓰려면 없다"고), 어쩌다 찾아도 출처 모를 binary 파일만 굴러다녀 실행하기 불안하기도 합니다. 그래서 직접 만들어 소스코드까지 공개합니다.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/coverboy/hangul_switcher" rel="noopener noreferrer"&gt;https://github.com/coverboy/hangul_switcher&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  동작
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Windows 10/11에서 &lt;strong&gt;Shift+Space&lt;/strong&gt; → 한/영 IME 토글&lt;/li&gt;
&lt;li&gt;백그라운드 트레이 상주&lt;/li&gt;
&lt;li&gt;키보드 종류(PC/AT 101키 종류 3) 설정·재부팅 불필요&lt;/li&gt;
&lt;li&gt;블루투스 · 노트북 내장 · USB · 외장 모든 키보드에서 동일 동작&lt;/li&gt;
&lt;li&gt;AutoHotkey 같은 별도 매크로 엔진 불필요&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  왜 만들었나
&lt;/h2&gt;

&lt;p&gt;Windows의 기본 한/영 키(우측 Alt)는 키보드 종류가 "PC/AT 101키 호환 키보드 (종류 3)"로 잡혀 있어야 동작합니다. 그런데:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;종류 3으로 변경하려면 &lt;strong&gt;재부팅 필수&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;블루투스/노트북/USB-HID 키보드는 부팅 시 OS가 자동으로 종류 4로 다시 매핑 → 사용자 설정을 덮어씀&lt;/li&gt;
&lt;li&gt;결국 &lt;strong&gt;재부팅이 설정을 풀어버리는 모순&lt;/strong&gt;이 반복됨&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;본 유틸은 OS 레벨 글로벌 키 후크로 Shift+Space를 가로채 IME 토글 메시지(VK_HANGUL)를 직접 송신합니다. 키보드 종류 설정과 무관하게 즉시 동작.&lt;/p&gt;

&lt;h2&gt;
  
  
  사용법
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://github.com/coverboy/hangul_switcher/releases" rel="noopener noreferrer"&gt;GitHub Releases&lt;/a&gt;에서 zip 다운로드

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;HangulSwitcher-Standalone.zip&lt;/code&gt; (.NET 런타임 포함, ~63MB) — 누구나 바로&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;HangulSwitcher-NeedsDotNet.zip&lt;/code&gt; (.NET 8 Desktop Runtime 필요, ~80KB) — 가벼움&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;압축 풀고 &lt;code&gt;HangulSwitcher.exe&lt;/code&gt; 더블클릭 → 트레이 아이콘 등장&lt;/li&gt;
&lt;li&gt;트레이 우클릭 → &lt;strong&gt;"Windows 시작 시 실행"&lt;/strong&gt; 체크 → 부팅 시 자동 시작&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  기술 스택
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;.NET 8 + WinForms (single-file self-contained build)&lt;/li&gt;
&lt;li&gt;Win32 P/Invoke: &lt;code&gt;SetWindowsHookEx&lt;/code&gt; (WH_KEYBOARD_LL) + &lt;code&gt;keybd_event(VK_HANGUL)&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;자동 시작은 &lt;code&gt;HKCU\Software\Microsoft\Windows\CurrentVersion\Run&lt;/code&gt; 레지스트리&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  라이선스
&lt;/h2&gt;

&lt;p&gt;완전 Free. 마음대로 가져다 쓰세요. Issue / PR 환영합니다.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repo:&lt;/strong&gt; &lt;a href="https://github.com/coverboy/hangul_switcher" rel="noopener noreferrer"&gt;https://github.com/coverboy/hangul_switcher&lt;/a&gt;&lt;/p&gt;

</description>
      <category>shiftspace</category>
      <category>korean</category>
      <category>ime</category>
      <category>keyboard</category>
    </item>
  </channel>
</rss>
