XKB Configuration
X À©µµ¿ì Å°º¸µå ¼³Á¤ ¸Å´º¾ó.
http://www.charvolant.org/~doug/xkb/html/index.html
ÇÑ±Û Å°º¸µå ·¹À̾ƿôÀ» ±¸¼ºÇϱâ À§ÇØ Ã£¾Æº» ¹®¼¸¦ ¹ø¿ªÇÕ´Ï´Ù. Áß¿äÇÏÁö ¾ÊÀº °Í °°Àº ºÎºÐÀº ´ë° ¹ø¿ªÇϰųª »ý·«ÇßÀ¸´Ï ÀÌ ¹®¼·Î ÃæºÐÇÏÁö ¾Ê´Ù°í »ý°¢Çϸé À§ÀÇ ¿ø¹® ¸µÅ©¸¦ ÂüÁ¶Çϼ¼¿ä.
1. ±âº» ¶XKB ¼³Á¤Àº ¿©·¯ °³ÀÇ ÄÄÆ÷³ÍÆ®·Î ³ª´µ¾î ÀÖ¾î¼ À̰͵éÀ» Á¶ÇÕÇؼ Å°º¸µå ¼³Á¤À» ¸¸µé ¼ö ÀÖ´Ù. ¸î °¡Áö º¹ÀâÇÑ Æ÷ÇÔ °ü°è¿Í ºÎ°¡ ±ÔÄ¢À» ÀÌ¿ëÇϸé Ư¼ö Å°º¸µå¿Í ±¹°¡º° Ư¼ºÀ» ¹Ý¿µÇÒ ¼ö ÀÖ´Ù. ±âº» ÄÄÆ÷³ÍÆ®´Â ´ÙÀ½°ú °°´Ù.
1.1. Modifier Keys ¶modifier key´Â shift, ctrl, alt ó·³ ´Ù¸¥ Å°ÀÇ Àǹ̸¦ ¹Ù²ãÁÖ´Â °ÍÀÌ´Ù. À̰͵éÀº ¼·Î Á¶ÇÕÇÒ ¼öµµ ÀÖ´Ù. ±×·¡¼ ÀÌ°Ô XKB¸¦ º¹ÀâÇÏ°Ô ¸¸µç´Ù. ±âº»ÀûÀ¸·Î XKB´Â ¿©´ü °³ÀÇ modifier key¸¦ Áö¿øÇÑ´Ù. Control, Shift, Lock°ú Mod1-Mod5ÀÌ ±×°ÍÀÌ´Ù. Alt °°Àº Å°´Â Mod1-Mod5 Áß Çϳª¿¡ ¸ÅÇÎÇÒ ¼ö ÀÖ´Ù.
±âº»ÀûÀÎ modifier keyµµ ¾µ¸¸ÇÏÁö¸¸ Ãß»óÈ ·¹º§¸¦ Çϳª ´õ Ãß°¡ÇÒ ¼ö ÀÖ´Ù¸é Æí¸®ÇÒ °ÍÀÌ´Ù. ±×·¡¼ virtual modifier key¶ó´Â ·¹º§ÀÌ Á¸ÀçÇϸç À̸¦ ÅëÇØ modifier key¸¦ ½ÇÀç Å° À̸§ÀÌ ¾Æ´Ñ Å°ÀÇ ¿ªÇÒ À̸§À¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ ·¹´Â ¹°¸®Àû Å°º¸µå¿Í ÀÔ·ÂÇÏ·Á´Â ¹®ÀÚ¿ÍÀÇ °ü°è¸¦ µ¶¸³ÀûÀ¸·Î ¸¸µç´Ù. types¿Í compat ÄÄÆ÷³ÍÆ®°¡ ÀÌ ¹®Á¦¸¦ ´Ù·é´Ù.
1.2. ·¹º§°ú ±×·ì ¶modifier Å°¸¦ ´©¸£¸é Å° Á¶ÇÕÀ» ¹Ù²Ü ¼ö ÀÖ´Ù. À̷лóÀ¸·Î´Â ¹«ÇÑ´ë·Î Á¶ÇÕ °¡´ÉÇÏÁö¸¸ ³Ê¹« ÀÚÀ¯·Ó°Ô Çϸé ÄÄÆ÷³ÍÆ®¸¦ Á¶ÇÕÇϱ⠾î·Á¿öÁø´Ù. ±×·¡¼ XKB´Â ·¹º§°ú ±×·ìÀ̶ó´Â µÎ °¡Áö Á¶ÇÕ ¿øÄ¢À» Á¦½ÃÇÑ´Ù.
·¹º§Àº ½¬ÇÁÆ® Å°¿Í °°Àº Å°¸¦ ´·¶À» ¶§ÀÇ »óŸ¦ ÀǹÌÇÑ´Ù. ¿¹¸¦ µé¾î AÅ°¸¦ ´©¸£¸é a°¡ ÀԷµǴµ¥ shift Å°¸¦ ´©¸¥ »óÅ¿¡¼´Â A°¡ ÀԷµǴ °ÍÀº shift Å°·Î ·¹º§ÀÌ º¯Ç߱⠶§¹®ÀÌ´Ù. ´ëºÎºÐÀÇ °æ¿ì µÎ °³ÀÇ ·¹º§¸¸À¸·Î ÃæºÐÇÏ´Ù. ±× ÀÌ»ó¿¡ ´ëÇؼ´Â ³ªÁß¿¡ ´Ù½Ã ´Ù·ê °ÍÀÌ´Ù.
±×·ìÀº ·¹º§¿¡ ºñÇØ Á» ¾Ö¸ÅÇÑ °³³äÀÌ´Ù. ±×·ìÀº Å°º¸µå ÀüüÀÇ ¹®ÀÚ¼ÂÀ» ¹Ù²Û´Ù. ÁÖ·Î ´ÙÁß ¾ð¾î¸¦ Áö¿øÇϱâ À§ÇØ »ç¿ëÇÑ´Ù. ±×·ì º¯°æ Å°´Â ·¹º§Ã³·³ ¸íÈ®ÇÏÁö ¾Ê°í Á¤Çϱ⠳ª¸§ÀÌ´Ù.
Figure 1: Levels and Groups on a Single Key
°¢ ±×·ì ³»¿¡µµ ¿©·¯ ·¹º§ÀÌ Á¸ÀçÇÒ ¼ö ÀÖ´Ù.
1.3. Key Codes ¶XKBÀÇ ÃÖÇϺΠ·¹À̾î´Â Å° ÄÚµåÀÌ´Ù. ¿ø½Ã Å° ÄÚµå´Â ƯÁ¤ Å°º¸µå°¡ Å°¸¦ ´·¶´ÂÁö ¶Ã´ÂÁö¸¦ ¾Ë·ÁÁÖ´Â ¼ýÀÚ ÄÚµåÀÌ´Ù. X ½Ã½ºÅÛÀº Å°¸¦ ´©¸¦ ¶§¿Í ¶¿ ¶§ ¸ðµÎ À̺¥Æ®¸¦ ¹ß»ý½ÃÅ°¸ç µÎ °¡Áö °æ¿ì ¸ðµÎ Å° ÄÚµå´Â ¾î´À Å°¸¦ ´©¸£°Å³ª ¶Ã´ÂÁö¸¦ ¾Ë·Á ÁØ´Ù.
Çϵå¿þ¾î ¼³°èÀÚ´Â ¾î¶² ¼ýÀÚ Äڵ带 ¾²µçÁö »ó°ü ¾ø´Ù. keycodes ÄÄÆ÷³ÍÆ®´Â XKB°¡ ½Éº¼ À̸§À» ´Ù¾çÇÑ Å° Äڵ忡 ¸ÅÇÎÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ½Éº¼ À̸§Àº symbols ÄÄÆ÷³ÍÆ®¿¡¼ ºñ½ÁÇÑ Å°º¸µå ·¹À̾ƿôÀ» ã´Âµ¥ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
1.4. Key Symbols ¶Å° ½Éº¼Àº Å°¸¦ ´©¸¦ ¶§ ÀԷµǴ ½ÇÁ¦ ¹®ÀÚ³ª ±âÈ£ÀÌ´Ù. symbol mapÀº symbolic key code¸¦ Àû´çÇÑ symbol°ú ¸ÅÇνÃŲ´Ù. symbol mapÀº modifier keyµµ ÁöÁ¤ÇÑ´Ù. °¢ ½Éº¼Àº X ÇÁ·ÎÅäÄÝ¿¡¼ Á¤ÀÇÇÑ À̸§À» °®°í ÀÖÀ¸¸ç XKBµµ ¸î °¡Áö ¿¹¿Ü¸¦ Ãß°¡ÇÑ´Ù. ½ÇÁ¦ ½Éº¼ À̸§Àº /usr/X11R6/include/X11/keysymdefh¿¡¼ º¼ ¼ö ÀÖ´Ù. ±×·ì°ú ·¹º§Àº Å°ÀÇ Àǹ̸¦ ¹Ù²Ù±â ¶§¹®¿¡ symbol map¿¡´Â ÇÑ Å°¿¡ ´ëÇØ ±×·ì°ú ·¹º§¿¡ µû¶ó ¿©·¯ ½Éº¼ÀÌ ¸ÅÇ뵃 ¼ö ÀÖ´Ù.
2. XKB ¼³Á¤ ¼±ÅÃÇϱ⠶½±°Ô »ý°¢ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀº ÀÌ¹Ì ÀÖ´Â XKB ¼³Á¤À» ÀÌ¿ëÇؼ ¿øÇϴ Ưº°ÇÑ µ¿ÀÛÀ» ÇÒ ¼ö ÀÖµµ·Ï ÄÄÆ÷³ÍÆ®¸¦ Á¶ÇÕÇÏ´Â °ÍÀÌ´Ù. ¿©±â¼´Â /etc/X11/XF86Config-4¿¡ x ¼³Á¤ÀÌ ÀÖ´Ù°í °¡Á¤ÇÏ°í ÁøÇàÇÒ °ÍÀÌ´Ù. ¸¸¾à ´Ù¸¥ X ±¸ÇöÀ» »ç¿ëÇÑ´Ù¸é ±×¿¡ ¸Â´Â ¼³Á¤ ÆÄÀÏÀ» ã¾Æ¾ß ÇÑ´Ù.
¸ÕÀú ¼³Á¤ ÆÄÀÏÀÇ Á¤ÀÇ¿¡ ¾î¶»°Ô Á¢±ÙÇÒ °ÍÀΰ¡¸¦ ¾Ë¾Æ¾ß ÇÑ´Ù. ¼³Á¤ ÆÄÀϵéÀº ±× ÄÄÆ÷³ÍÆ® À̸§À¸·Î µÈ µð·ºÅ丮 ¾Æ·¡¿¡ ÀÖ´Ù. ±× µð·ºÅ丮 ¾Æ·¡¿¡´Â ¶Ç ´Ù¸¥ ¼ºê µð·ºÅ丮°¡ ÀÖ°í ¼³Á¤ ÆÄÀÏÀÌ ÀÖ´Ù. ¼³Á¤ ÆÄÀÏÀº xfree86'°ú °°Àº À̸§ÀÌ¸ç ¼ºê µð·ºÅ丮´Â sgi/iris¿Í °°Àº À̸§ÀÌ´Ù. °¢ ÆÄÀÏÀº ¿©·¯ °³ÀÇ ¼³Á¤À» ´ã´Â´Ù. ¿¹¸¦ µé¾î xfree86 keycodes ÆÄÀÏ¿¡´Â xfree86, basic, 102, jp106, jp109usb, abnt2 µîÀÇ ¼³Á¤ÀÌ ´ã°Ü ÀÖ´Ù. ÀÌ Áß¿¡ Çϳª°¡ ±âº»°ªÀ¸·Î ÁöÁ¤µÇ¾î ÀÖÀ¸¸ç ±âº»°ªÀ» ¹Ù²Ü ¼öµµ ÀÖ´Ù. xfree86(pc102)'''¿Í °°ÀÌ °ýÈ£·Î µÑ·¯½Î¸é ±× ¾ÈÀÇ ³»¿ëÀ» Æ÷ÇÔ½Ãų ¼ö ÀÖ´Ù.
±âº» ÄÄÆ÷³ÍÆ®¸¦ È®ÀåÇÒ ¼öµµ ÀÖ´Ù. ¸î °¡Áö Ãß°¡ÀûÀÎ ¿¬»êÀÚ·Î ±âº» ÄÄÆ÷³ÍÆ®ÀÇ Àǹ̸¦ ¹Ù²Ù°Å³ª È®ÀåÇÒ ¼ö ÀÖ´Ù. us(pc101)+ctrl(swapcaps)¿Í °°ÀÌ + ¿¬»êÀÚ¸¦ ¾²¸é µÚ¿¡ ÀÖ´Â ÄÄÆ÷³ÍÆ®°¡ ¾ÕÀÇ ÄÄÆ÷³ÍÆ®¸¦ overrideÇÑ´Ù. ÀÌ Àǹ̴ 101Å°ÀÇ US Å°º¸µå¿¡¼ ctrl¸¸ cap°ú ¹Ù²Ùµµ·Ï Ç϶ó´Â °ÍÀÌ´Ù. | ¿¬»êÀÚ´Â ±â´ÉÀ» Ãß°¡Çϴµ¥ »ç¿ëµÈ´Ù.
2.1. ½¬¿î ¹æ¹ý ¶±âº» ÄÄÆ÷³ÍÆ®¿Í ±× È®ÀåÀ» Á÷Á¢ Á¶ÇÕÇÏ´Â °Íº¸´Ù XKB°¡ Á¦°øÇÏ´Â rules¸¦ ¾²´Â °ÍÀÌ ½±´Ù. XF86Config-4¿¡ º¸¸é ´ÙÀ½°ú °°Àº ¼³Á¤ÀÌ ÀÖÀ» °ÍÀÌ´Ù.
Section "InputDevice"
Identifier "Keyboard0" Driver "keyboard" Option "XkbRules" "xfree86" Option "XkbModel" "pc104" Option "XkbLayout" "us" Option "XkbVariant" "basic" Option "XkbOptions" "grp:menu_toggle" EndSection
2.2. ´Ù¼Ò ¿ø½ÃÀûÀÎ ¹æ¹ý ¶keymap ÄÄÆ÷³ÍÆ®´Â rulesº¸´Ù °£´ÜÇÏ°Ô ±âº»ÀûÀÎ ¼¼ÆÃÀ» ÇÏ°í ½ÍÀ» ¶§ »ç¿ëÇÑ´Ù. ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
Section "InputDevice"
Identifier "Keyboard0" Driver "keyboard" Option "XkbKeymap" "be" EndSection 2.3. ¾î·Á¿î ¹æ¹ý ¶¾î·Á¿î ¹æ¹ýÀº ´Ù¼¸ °³ÀÇ ÇÙ½É ÄÄÆ÷³ÍÆ®¸¦ Á÷Á¢ ÁöÁ¤ÇÏ´Â °ÍÀÌ´Ù. ±×·¸°Ô ÇÏ¸é ¾î¶² ¼¼¹ÐÇÑ ¿É¼Çµµ Á¶Á¤ °¡´ÉÇϸç Å°º¸µå ¼³Á¤ Àüü¸¦ Á¶Á¤ÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½°ú °°ÀÌ ´Ù¼¸ °³ÀÇ ÄÄÆ÷³ÍÆ®¸¦ ¸ðµÎ ÁöÁ¤ÇÑ´Ù.
Section "InputDevice"
Identifier "Keyboard0" Driver "keyboard" Option "XkbKeycodes" "xfree86" Option "XkbTypes" "default" Option "XkbCompat" "basic+pc+iso9995+norepeat" Option "XkbSymbols" "en_US(pc104)+dk+ctrl(swapcaps)+group(switch)" Option "XkbGeometry" "pc(pc104)" EndSection
3. XKB ¼³Á¤ ÆÄÀÏ ¶XKB ¼³Á¤ ÆÄÀÏÀ» ¸¸Áö´Â °Ç ³ë°¡´Ù¼º »ðÁúÀÌ´Ù. ´ëºÎºÐÀÇ °æ¿ì´Â ±×·² ÇÊ¿ä°¡ ¾øÀ¸¸ç ¿Ïº®ÇÏ°Ô ¼³Á¤µÈ ÆÐÅ°ÁöµéÀÌ ÀÖ´Ù. ÀÌ ¼½¼ÇÀ» º¸±â Àü¿¡ #3-1À» ¸ÕÀú º¸µµ·Ï Ç϶ó. ±×·¯³ª, ÀڽŸ¸ÀÇ ¼³Á¤À» ¸¸µé°í ½ÍÀ» ¼öµµ ÀÖ°í ¾î¶² °ÍÀ» ¼±ÅÃÇؾßÇÒÁö ¾Ë·Á¸é ¶Ç ¾î´À Á¤µµ ÀÌÇØÇØ¾ß ÇÑ´Ù.
ÇÙ½É ÆÄÀÏÀº keycodes, types, compats, symbols, geometry ¼ºê µð·ºÅ丮¿¡ ÀÖ´Â ÄÄÆ÷³ÍÆ®µéÀÌ´Ù. keymap, rules, semantics´Â ÀÌ ÇÙ½É ÄÄÆ÷³ÍÆ®¸¦ ¹¾îÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù.
3.1. ±âº» ¶XKB ¼³Á¤µéÀº ¸ðµÎ ºñ½ÁÇÑ ±¸Á¶ÀÌ´Ù. ÇϳªÀÇ ¼³Á¤ ÆÄÀÏÀÌ ¿©·¯ °³ÀÇ ¼³Á¤À» ´ã°í ÀÖ´Ù. °¢°¢ÀÇ ¼³Á¤Àº ´ÙÀ½°ú °°Àº ¹®¹ýÀ¸·Î ÀÌ·ç¾îÁø´Ù. ¿É¼Çµé, ŸÀÔ°ú À̸§¿¡ ÀÌ¾î¼ Áß°ýÈ£·Î ¹ÀÎ Á¤º¸°¡ ¿À°í ¼¼¹ÌÄÝ·ÐÀ¸·Î Á¾·áµÈ´Ù. ¿¹¸¦ µé¸é ´ÙÀ½°ú °°´Ù.
default xkb_keycodes "xfree86" {
include "xfree86(basic)" <BKSL> = 51; <LSGT> = 94; }; include¹®Àº ´Ù¸¥ ¼³Á¤À» Æ÷ÇÔÇϱâ À§ÇØ »ç¿ëÇÑ´Ù. include´Â override·Î ÀÛµ¿ÇÏ¸ç ´Ü¼øÈ÷ Ãß°¡¸¸ ÇÏ°í ½ÍÀ» ¶§´Â augmentÀ» »ç¿ëÇÑ´Ù. ¿©±â¼ xfree86Àº ÆÄÀϸíÀÌ°í basicÀº ±× ¾ÈÀÇ ¼³Á¤ À̸§ÀÌ´Ù. ÀÌ ÆÄÀÏÀº °°Àº µð·ºÅ丮¿¡ ÀÖ´Â °ÍÀ» °¡Á¤ÇÑ´Ù.
±×¸®°í »ó¼Óµµ °¡´ÉÇÏ´Ù. ÄÁÅؽºÆ®¿Í ±×·çÇÎÀº Áß°ýÈ£·Î µÑ·¯ ½Ñ´Ù. ºÎ¸ð ÄÁÅؽºÆ®ÀÇ Á¤º¸µéÀº ÀÚµ¿À¸·Î »ó¼ÓµÇ¸ç ¿À¹ö¶óÀ̵å ÇÒ ¼ö ÀÖ´Ù.
Table 1: Variant Options
3.2. Key Codes ¶Å° ÄÚµå´Â Å°º¸µå ½ºÄµ Äڵ带 ½Éº¼¸¯ ÇüÅ·Π¹Ù²Ù´Â ¸ÅÇÎÀ̸ç XKB¿Í Å°º¸µå°¡ óÀ½ ¸¸³ª´Â °÷ÀÌ´Ù. ±× ´ÙÀ½Àº Å°º¸µå¿¡ µû¶ó ´Ù¸£¸ç ¾î¶² ½Éº¼À» »ç¿ëÇÏ´À³Ä¿¡ µû¶ó¼µµ ´Ù¸£´Ù.
´ÙÀ½ ¿¡Á¦¸¦ º¸¶ó.
xkb_keycodes "basic" {
minimum= 8; maximum= 255; <TLDE> = 49; <AE01> = 10; <AE02> = 11; ... indicator 1 = "Caps Lock"; indicator 2 = "Num Lock"; ... alias <AE00> = <TLDE>; }; |
Put not your trust in money, but put your money in trust. |