¾ð¾î ´Â ¿µ¾î, ÇÁ¶û½º¾î, ÀϺ»¾î µî ÀÚ¿¬ ¾ð¾î°¡ÀÔ´Ï´Ù. Sublanguange ´Â ¿µ±¹°ú ¹Ì±¹¿¡¼ ¸»ÇÑ ¿µ¾î sublanguages¿Í °°Àº ƯÁ¤ Áö¸®Àû Áö¿ª¿¡¼ ¾ê±â ÇÏ´Â ÀÚ¿¬ ¾ð¾îÀÇ º¯Á¾ ÀÌ´Ù. ¶ó°í ÇÏ´Â °ªÀ» »ç¿ë ÇÏ´Â Win32 ±â¹Ý ÀÀ¿ë ÇÁ·Î±×·¥ ¾ð¾î ½Äº°ÀÚ¸¦ °íÀ¯ ÇÏ °Ô ½Äº° ¾ð¾î¿Í sublanguages.
ÀÀ¿ë ÇÁ·Î±×·¥Àº ÀϹÝÀûÀ¸·Î ¾î¶² ÀԷ¿¡¼ ¾ð¾î¸¦ ¼³Á¤ ÇÏ·Á¸é ·ÎÄÉÀÏ À» »ç¿ë ÇÏ °í Ãâ·ÂÀ» ó¸® ÇÕ´Ï´Ù. Űº¸µå¿¡ ÀÇÇØ »ý¼º µÈ ¹®ÀÚ °ª¿¡ ¿µÇâÀ» ¿¹¸¦ µé¾î, Űº¸µå¿¡ ´ë ÇÑ ·ÎĶÀ» ¼³Á¤ ÇÕ´Ï´Ù. µð½ºÇ÷¹ÀÌ ¶Ç´Â ÇÁ¸°ÅÍ¿¡ ´ë ÇÑ ·ÎĶÀ» ¼³Á¤ ±Û¸®ÇÁ¸¦ Ç¥½Ã ¶Ç´Â Àμ⿡ ¿µÇâÀ» ÁÝ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ ·Îµå ¹× Űº¸µå ·¹À̾ƿôÀ» »ç¿ë ÇÏ ¿© Űº¸µå¿¡ ´ë ÇÑ ·ÎĶÀ» ¼³Á¤ ÇÕ´Ï´Ù. ±×µéÀº ƯÁ¤µÈ ·ÎÄÉÀÏÀ» Áö ¿øÇÏ´Â ±Û²ÃÀ» ¼±Åà ÇÏ ¿© µð½ºÇ÷¹ÀÌ ¶Ç´Â ÇÁ¸°ÅÍ¿¡ ´ë ÇÑ ·ÎĶ ¼³Á¤.
ÀÚÆÇ ¹è¿À» Űº¸µå ŰÀÇ ½ÇÁ¦ À§Ä¡¸¦ ÁöÁ¤ »Ó¸¸ ¾Æ´Ï¶ó ¶ÇÇÑ ±× ۸¦ ´·¯ »ý¼º µÈ ¹®ÀÚ °ªÀ» °áÁ¤ ÇÕ´Ï´Ù. °¢ ·¹À̾ƿô ÇöÀç ÀÔ·ÂµÈ ¾ð¾î¸¦ ½Äº° ÇÏ °í Àִ Ű¿Í Ű Á¶ÇÕ¿¡ ÀÇÇØ »ý¼º µÇ´Â ¹®ÀÚ °ªÀ» °áÁ¤.
¸ðµç Űº¸µå ·¹À̾ƿô ·¹À̾ƿô ¹× ¾ð¾î¸¦ ½Äº° ÇÏ´Â ÇØ´ç ÇÚµéÀÌ ÀÖ´Ù. ÇÚµéÀÇ ³·Àº ´Ü¾î´Â ¾ð¾î ½Äº°ÀÚÀÔ´Ï´Ù. ³ôÀº ´Ü¾î ¹°¸®Àû ·¹À̾ƿô ÁöÁ¤ ÀåÄ¡ ÇÚµé ¶Ç´Â 0 ±âº» ¹°¸®Àû ·¹À̾ƿôÀ» ³ªÅ¸³À´Ï´Ù. »ç¿ëÀÚ ÁöÁ¤µÈ ½ÇÁ¦ ·¹À̾ƿô ¸ðµç ÀÔ·ÂµÈ ¾ð¾î¸¦ ¿¬°áÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ÇÁ¶û½º¿¡¼ ÀÛµ¿ ÇÏ´Â ¾ÆÁÖ °¡²û´Â ¿µ¾î±Ç »ç¿ëÀÚ Å°º¸µåÀÇ ¹°¸®Àû ·¹À̾ƿôÀ» º¯°æ ÇÏÁö ¾Ê°í ÇÁ¶û½º¾î Űº¸µåÀÇ ÀÔ·ÂµÈ ¾ð¾î¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. Áï »ç¿ëÀÚ´Â ÇÁ¶û½º¾î¿¡¼ ÅØ½ºÆ®¸¦ ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù Àͼ÷ÇÑ ¿µ¾î ·¹À̾ƿôÀ» »ç¿ë ÇÏ ¿©.
ÀÀ¿ë ÇÁ·Î±×·¥Àº ÀϹÝÀûÀ¸·Î ÀÔ·ÂµÈ ¾ð¾î¸¦ Á÷Á¢ Á¶ÀÛ ÇÏ ¿¹»ó µÇÁö ¾Ê½À´Ï´Ù. ´ë½Å, »ç¿ëÀÚ´Â ¾ð¾î ¹× ·¹À̾ƿô Á¶ÇÕÀ» ¼³Á¤ ´ÙÀ½ ±×µé »çÀÌ Àüȯ ÇÕ´Ï´Ù. »ç¿ëÀÚ¸¦ ´Ù¸¥ ¾ð¾î·Î Ç¥½Ã µÈ ÅØ½ºÆ®¸¦ Ŭ¸¯ Çϸé ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ÇØ´ç ¾ð¾î¿¡ ´ë ÇÑ »ç¿ëÀÚÀÇ ±âº» ·¹À̾ƿôÀ» Ȱ¼ºÈ ÇÏ·Á¸é ActivateKeyboardLayout ÇÔ¼ö¸¦ È£Ãâ ÇÕ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ÇØ´ç ¾ð¾î¸¦ ±â¹ÝÀ¸·Î ÇÏ´Â ·¹À̾ƿôÀ» ¾òÀ¸·Á°í ¾ð¾î¿Í LoadKeyboardLayout ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö »ç¿ëÀÚ È°¼º ¸ñ·Ï¿¡ ÀÖ´Â ¾ð¾îÀÇ¿¡¼ ÅØ½ºÆ®¸¦ ÆíÁý ÇÏ´Â °æ¿ì.
ActivateKeyboardLayout ÇÔ¼ö´Â ÇöÀç ÀÛ¾÷¿¡ ´ë ÇÑ ÀÔ·ÂµÈ ¾ð¾î¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÀÚÆÇ ¹è¿ ÇÚµé ¶Ç´Â 0 È®Àå ¾ð¾î ½Äº°ÀÚ´Â hkl ¸Å°³ µÉ ¼ö ÀÖ½À´Ï´Ù. LoadKeyboardLayout ¶Ç´Â GetKeyboardLayoutList ÇÔ¼ö¿¡¼ Űº¸µå ·¹À̾ƿô ÇÚµéÀ» ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ¶Ç´Â ÀÌÀü Űº¸µå¸¦ ¼±Åà ÇÏ ¿© HKL_NEXT ¹× HKL_PREV °ªÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀϺΠ¿î¿µ üÁ¦¿¡ ´ë ÇÑ KLF_UNLOADPREVIOUS °ª ¾Æ¹«·± Àǹ̰¡ ÀÖ´Ù °í´Â ¹«½Ã µË´Ï´Ù.
GetKeyboardLayoutName ÇÔ¼ö¸¦ È£Ãâ ÇÏ´Â ½º·¹µå¿¡¼ ÇöÀç Űº¸µå ·¹À̾ƿôÀÇ À̸§À» °¡Á®¿É´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ LoadKeyboardLayout ÇÔ¼ö¸¦ »ç¿ë ÇÏ ¿© Ȱ¼º ·¹À̾ƿôÀ» ¸¸µé°í, GetKeyboardLayoutName ·¹À̾ƿôÀ» ¸¸µå´Â µ¥ µ¿ÀÏÇÑ ¹®ÀÚ¿À» °Ë»ö ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ¹®ÀÚ¿ÀÌ È°¼º ·¹À̾ƿôÀÇ ·ÎÄÉÀÏ¿¡ ÇØ´ç ÇÏ´Â ±âº» ¾ð¾î ½Äº°ÀÚÀÔ´Ï´Ù. ÀÌ Áï, ÇÔ¼ö¸¦ µ¿ÀÏÇÑ ±âº» ¾ð¾î¿Í ´Ù¸¥ ·¹À̾ƿô °£¿¡ ¹Ýµå½Ã Â÷º°È µÇÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù ±×·¡¼ ÀÔ·ÂµÈ ¾ð¾î¿¡ ´ë ÇÑ Æ¯Á¤ Á¤º¸¸¦ ¹ÝȯÇÒ ¼ö ¾ø½À´Ï´Ù. ±×·¯³ª GetKeyboardLayout ÇÔ¼ö ÀÔ·ÂµÈ ¾ð¾î °áÁ¤À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
LoadKeyboardLayout ÇÔ¼ö´Â ÀÚÆÇ ¹è¿À» ·Îµå ÇÏ °í »ç¿ëÀÚ¿¡ °Ô ·¹À̾ƿô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ Ȱ¼ºÈ ·¹À̾ƿô Áï½Ã ÇöÀç ½º·¹µå¿¡ ´ë ÇÑ KLF_ACTIVATE °ªÀ» »ç¿ë ÇÏ ¿© ÇÕ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥Àº ¶ÇÇÑ KLF_ACTIVATE °ªÀ» ÁöÁ¤ ÇÏÁö ¾Ê°í ·¹À̾ƿôÀ» ´Ù½Ã Á¤·Ä ÇÏ·Á¸é KLF_REORDER °ªÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ Ç×»ó »ç¿ë ÇØ¾ß KLF_SUBSTITUTE_OK °ª ÀÚÆÇÀ» ·ÎµåÇÒ ¶§ »ç¿ëÀÚÀÇ ±âº» ÀÖÀ¸¸é ¼±Åà µÇ¾î ÀÖ´ÂÁö È®ÀÎ ÇÕ´Ï´Ù. ÀϺΠ¿î¿µ üÁ¦¿¡ ´ë ÇÑ KLF_UNLOADPREVIOUS °ªÀº ¹«½Ã µË´Ï´Ù.
´Ù±¹¾î Áö¿ø¿¡ ´ë ÇÑ LoadKeyboardLayout ÇÔ¼ö´Â KLF_REPLACELANG ¹× KLF_NOTELLSHELL Ç÷¡±×¸¦ Á¦°øÇÕ´Ï´Ù. KLF_REPLACELANG Ç÷¡±×´Â ¾ð¾î¸¦ º¯°æ ÇÏÁö ¾Ê°í ±âÁ¸ Űº¸µå ·¹À̾ƿôÀ» ¹Ù²Ù·Á¸é ÇÔ¼ö¸¦ Áö½Ã ÇÕ´Ï´Ù. ÇÏÁö¸¸ ¾øÀÌ µ¿ÀÏÇÑ ¾ð¾î ½Äº°ÀÚ¸¦ »ç¿ë ÇÏ ¿© ±âÁ¸ ·¹À̾ƿôÀ» ±³Ã¼ ÇÏ·Á°í ÁöÁ¤ Çϸé KLF_REPLACELANG ¿À·ùÀÔ´Ï´Ù. KLF_NOTELLSHELL Ç÷¡±×´Â ÀÚÆÇ ¹è¿À» Ãß°¡ µÇ°Å³ª ±³Ã¼ µÉ ¶§ ¼ÐÀ» ¾Ë¸®´Â¿¡¼ ÇÔ¼ö¸¦ ¹æÁö ÇÕ´Ï´Ù. ÀÌ ¿¬¼Ó µÈ ÀÏ·ÃÀÇ È£Ãâ¿¡¼ ¿©·¯ ·¹À̾ƿôÀ» Ãß°¡ ÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥¿¡ À¯¿ë ÇÕ´Ï´Ù. ¸ðµç ¸¶Áö¸· È£Ãâ ÇÏÁö¸¸ÀÌ Ç÷¡±×¸¦ »ç¿ë ÇØ¾ß ÇÑ´Ù.
UnloadKeyboardLayout ÇÔ¼ö´Â Á¦ÇÑ µÈ ½Ã½ºÅÛ ±âº» ÀÔ·ÂµÈ ¾ð¾î¸¦ ¾ð·ÎµåÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ·¸°Ô »ç¿ëÀÚ Ç×»ó ÇϳªÀÇ ·¹À̾ƿô¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ÇÏ¸é ¼Ð ¹× ÆÄÀÏ ½Ã½ºÅÛ¿¡ ÀÇÇØ »ç¿ë µÇ´Â ¼³Á¤ °°Àº ¹®ÀÚ¸¦ »ç¿ë ÇÏ ¿© ÅØ½ºÆ® ÀÔ·Â.