´ÙÀ½ ÀÌÀü Â÷·Ê

10. Å°º¸µå LED

1. °¢ tty´ç Å°º¸µå Ç÷¡±×°¡ Á¸ÀçÇÑ´Ù. °¢°¢ÀÇ VC¿¡´Â °íÀ¯ÀÇ NumLock, CapsLock, ScrollLockÀÌ Á¸ÀçÇÑ´Ù. µðÆúÆ® °ªÀ¸·Î ÀÌ Å°º¸µå Ç÷¡±×´Â LED¿¡ Ç¥½ÃµÈ´Ù. ÀÌ°ÍÀÇ ¼³Á¤À» ¹Ù²Ù´Â Åë»óÀûÀÎ ¹æ¹ýÀº ÇØ´çµÇ´Â Å°¸¦ ´©¸£´Â °ÍÀÌ´Ù. (÷¾ð: ¾îÇø®ÄÉÀÌ¼Ç Å°¸ðµå¿¡ ÀÖÀ» ¶§ NumLock Å°¸¦ ´©¸£¸é NumLock »óŸ¦ ¹Ù²ÙÁö ¾Ê°í À̽ºÄÉÀÌÇÁ ½ÃÄö½º¸¦ ¹ß»ý½ÃŲ´Ù. ¾î¶°ÇÑ °æ¿ì¿¡¶óµµ ÀÌ Å°¸¦ ¸Ôµµ·Ï ÇÏ°í ½Í´Ù¸é NumLockÀ» Bare_Num_Lock¿¡ ¿¬°á½ÃÄÑµÎ¸é µÈ´Ù.

2. °¢ tty´ç µðÆúÆ® Å°º¸µå Ç÷¡±×°¡ Á¸ÀçÇÑ´Ù. Àç¼³Á¤ ½ÅÈ£°¡ µé¾î¿À¸é Å°º¸µå¸¦ ÃʱâÈ­ÇÑ´Ù. µû¶ó¼­ Ç×»ó NumLockÀÌ ÄÑÁöµµ·Ï ÇÒ ¼öµµ ÀÖ´Ù. `setleds -D¶ó°í ÇÏ¸é µÈ´Ù.

3. led°¡ Å°º¸µå Ç÷¡±×¸¦ ¹Ý¿µÇÏÁö ¾Ê°í ¹º°¡ ´Ù¸¥ °ÍÀ» ³ªÅ¸³¾ ¼öµµ ÀÖ´Ù.

3A. ¹º°¡ ´Ù¸¥ °ÍÁß Çϳª´Â Ä¿³Î¿¡ ÀÖ´Â ¼¼°³ÀÇ ºñÆ®·Î¼­, »ç¿ëÀÚ°¡ ¾î¶² Çϵå¿þ¾î³ª ¼ÒÇÁÆ®¿þ¾î »óŸ¦ °¨½ÃÇϱâ À§ÇØ »ç¿ëµÉ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ±â´ÉÀ» ¿øÇÑ´Ù¸é Ä¿³Î ¼Ò½º¸¦ ÆíÁýÇÏ¿© register_leds()¸¦ È£ÃâÇϵµ·Ï ÇØ¾ß ÇÑ´Ù.

3B. »ç¿ëÀÚ ÇÁ·Î±×·¥ÀÌ LED¿¡ Ç¥½ÃµÇµµ·Ï ÇÏ´Â °Íµµ ¿©±â¿¡ ÇØ´çµÈ´Ù. µû¶ó¼­ ÀÌ·¯ÇÑ ±â´ÉÀ» »ç¿ëÇÏ¸é ¾µ¸¸ÇÑ ÇÁ·Î±×·¥À» ¸¸µé ¼ö ÀÖ´Ù. ÀÌ·¸°Ô ÇÏ·Á¸é KDSETLED ioctlÀ» »ç¿ëÇØ¾ß ÇÑ´Ù.

ÈÄÀÚ¿Í °°Àº »ç¿ëÀº ttyº°·Î Àû¿ëµÇ´Â °ÍÀÌ ¾Æ´ÏÁö¸¸ ÀüÀÚ¿Í ÈÄÀÚ°£ÀÇ ¼±ÅÃÀº tty´ç ÇÒ ¼ö ÀÖ´Ù.

¿ä¾à: °¢°¢ÀÇ tty¿¡´Â Ç÷¡±× kbd->ledmode°¡ ÀÖ´Ù. ÀÌ°ÍÀÌ LED_SHOW_FLAGS °ªÀ» °¡Áö¸é ÇØ´ç tty¿¡ Å°º¸µå Ç÷¡±×(NumLock µî)°¡ Ç¥½ÃµÈ´Ù. ÀÌ°ÍÀÌ LED_SHOW_MEM °ªÀ» °¡Áö¸é ¼±ÅÃµÈ 3°³ÀÇ ¸Þ¸ð¸® ÁÖ¼Ò°¡ Ç¥½ÃµÈ´Ù. ÀÌ°ÍÀÌ LED_SHOW_IOCTL °ªÀ» °¡Áö¸é led´Â KDSETLED ioctl°¡ ÇÒ´çÇÑ °¡Àå ÃÖ½ÅÀÇ °ªÀ» º¸¿©ÁØ´Ù.

Çϳª¸¸ ´õ Ãß°¡Çϸé, X´Â ioctlÀ» »ç¿ëÇÏ¿© LED¸¦ ¼³Á¤ÇÑ´Ù. ÇÏÁö¸¸ Á¾·á°¡ µÉ ¶§ X¸¦ ¶ç¿ü´ø VT¸¦ Àç¼³Á¤ÇÏÁö ¸øÇÑ´Ù. µû¶ó¼­ X¸¦ »ç¿ëÇÏ°í ³ª¸é µðÆúÆ® LED_SHOW_FLAGS »óÅ·ΠÀÖÁö ¾ÊÀº VT°¡ »ý±æ ¼öµµ ÀÖ´Ù. ÀÌ·± °æ¿ì `setleds -L'À» ±× VT¿¡¼­ ½ÇÇàÇÏ¸é ¹®Á¦°¡ ÇØ°áµÈ´Ù. setleds(1)¸¦ ÂüÁ¶Ç϶ó.


´ÙÀ½ ÀÌÀü Â÷·Ê