GetKeyState

Űº¸µå Ű³ª ¸¶¿ì½º/Á¶À̽ºÆ½ ¹öưÀÌ ´­·Á ÀÖ´ÂÁö ¿©ºÎ¸¦ Á¡°ËÇÕ´Ï´Ù. ¶Ç Á¶À̽ºÆ½ »óŸ¦ ¿­¶÷ÇÕ´Ï´Ù.

GetKeyState, OutputVar, KeyName [, Mode]
KeyIsDown := GetKeyState("KeyName" [, "Mode"])

¸Å°³º¯¼ö

OutputVar

¿­¶÷µÈ Ű »óŸ¦ ÀúÀåÇÒ º¯¼öÀÇ À̸§. DÀÌ¸é ´­·Á ÀÖ°í UÀÌ¸é ¶¾ »óÅÂÀÔ´Ï´Ù (±×·¯³ª GetKeyState() ÇÔ¼ö´Â ´­·Á ÀÖÀ¸¸é true (1)¸¦ ±×·¸Áö ¾ÊÀ¸¸é false (0)¸¦ µ¹·ÁÁÝ´Ï´Ù). Ű »óŸ¦ °áÁ¤ÇÒ ¼ö ¾øÀ¸¸é ÀÌ º¯¼ö´Â ºñ¾î ÀÖ½À´Ï´Ù.

¾Æ·¡ÀÇ Ç׸ñÀº Á¶À̽ºÆ½¿¡¸¸ Àû¿ëµË´Ï´Ù:

1) JoyX¿Í °°ÀÌ Á¶À̽ºÆ½ Ãà¿¡ ´ëÇÏ¿©, OutputVar´Â ºÎµ¿ ¼Ò¼öÁ¡ ¼ö·Î ¼³Á¤µË´Ï´Ù. ¹üÀ§´Â 0 ºÎÅÍ 100 »çÀÌÀ̰í Á¶À̽ºÆ½ÀÇ À§Ä¡¸¦ ÃàÀÇ À̵¿ ¹üÀ§ÀÇ ¹éºÐ·ü·Î ³ªÅ¸³À´Ï´Ù. ¼ýÀÚ Çü½ÄÀº SetFormatÀ» ÅëÇÏ¿© ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ Å×½ºÆ® ½ºÅ©¸³Æ®¸¦ »ç¿ëÇϸé Á¶À̽ºÆ½À» ºÐ¼®ÇÒ ¼ö ÀÖ½À´Ï´Ù.

2) KeyNameÀÌ JoyPOVÀ̸é, ¿­¶÷µÈ °ªÀº ¹üÀ§°¡ 0ºÎÅÍ 35900 »çÀÌ ÀÔ´Ï´Ù. ¸¹Àº Á¶À̽ºÆ½¿¡ ´ÙÀ½¿¡ ±ÙÁ¢ÇÑ POV °ªµéÀÌ »ç¿ëµË´Ï´Ù:
-1: º¸°íÇÒ °¢µµ ¾øÀ½
0: ¾ÕÀ¸·Î POV
9000 (Áï, 90 µµ): ¿À¸¥ÂÊÀ¸·Î POV
27000 (Áï, 270 µµ): ¿ÞÂÊÀ¸·Î POV
18000 (Áï, 180 µµ): µÚ·Î POV

KeyName

´Ü¼øÈ÷ Űº¸µåÀÇ ¹®ÀÚ ÇϳªÀ̰ųª ¶Ç´Â ¸¶¿ì½º/Á¶À̽ºÆ½ ¹öư°ú °°ÀÌ Å° ¸ñ·ÏÀÇ Å° À̸§ Áß ÇϳªÀÏ ¼ö ÀÖ½À´Ï´Ù. ¿¹: B, 5, LWin, RControl, Alt, Enter, Escape, LButton, MButton, Joy1.

´ë¾ÈÀ¸·Î, vkFF¿Í °°Àº ¸í½ÃÀûÀÎ °¡»ó Ű Äڵ带 ÁöÁ¤Çصµ µË´Ï´Ù. ¾ÆÁÖ Èñ±ÍÇÑ °æ¿ì·Î Ű¿¡ À̸§ÀÌ ¾øÀ» °æ¿ì À¯¿ëÇÕ´Ï´Ù. ±×·± ŰÀÇ °¡»ó ŰÄÚµå´Â ´ÙÀ½ Ű ¸®½ºÆ® ÆäÀÌÁö ÇÏ´Ü¿¡ ÀÖ´Â ´Ü°è¸¦ ¹â¾Æ ¾Ë¾Æº¼ ¼ö ÀÖ½À´Ï´Ù.

¾Ë·ÁÁø ÇѰè: ÀÌ ÇÔ¼ö´Â Left¿Í NumpadLeft °°ÀÌ, °°Àº °¡»ó Ű Äڵ带 °øÀ¯ÇÏ¸é µÎ Å°¸¦ ±¸º°ÇÏÁö ¸øÇÕ´Ï´Ù.

Mode

ÀÌ ¸Å°³º¯¼ö´Â Á¶À̽ºÆ½ »óŸ¦ ¿­¶÷ÇÒ ¶§ ¹«½ÃµË´Ï´Ù.

»ý·«Çϸé, ¸ðµå´Â ±âº»À¸·Î ŰÀÇ ³í¸®Àû »óŸ¦ ¿­¶÷ÇÏ´Â ¸ðµå°¡ µË´Ï´Ù. ³í¸®Àû »óÅ´ OS¿Í Ȱ¼º âÀÌ ±× ŰÀÇ »óŶó°í ¹Ï°í ÀÖ´Â »óŸ¦ ¸»ÇÕ´Ï´Ù. ±×·¯³ª ¹Ýµå½Ã ¹°¸®Àû »óÅÂ¿Í °°Àº °ÍÀº ¾Æ´Õ´Ï´Ù.

´ë¾ÈÀ¸·Î ´ÙÀ½ ±âÈ£ Áß Çϳª¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù:

P: ¹°¸®Àû »óŸ¦ ¿­¶÷ÇÕ´Ï´Ù (Áï, »ç¿ëÀÚ°¡ ¹°¸®ÀûÀ¸·Î ۸¦ ´©¸£°í ÀÖ´ÂÁö ¾Ë¾Æº¾´Ï´Ù). Ű³ª ¸¶¿ì½º ¹öưÀÇ ¹°¸®Àû »óÅ´ º¸Åë ³í¸®Àû »óÅÂ¿Í °°½À´Ï´Ù. ´Ü Űº¸µå/¸¶¿ì½º °¥°í¸®°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. ±×·¡¾ß (½ºÅ©¸³Æ®°¡ ½ÇÇà ÁßÀÎ µ¿¾È ۸¦ ´©¸£±â¸¸ ÇÑ´Ù¸é) »ç¿ëÀÚ°¡ ¹°¸®ÀûÀ¸·Î Ű³ª ¹öưÀ» ´©¸£°í ÀÖ´ÂÁö ¾Æ´ÑÁö Á¤È®ÇÏ°Ô ¹Ý¿µµË´Ï´Ù. ½ºÅ©¸³Æ®°¡ °¥°í¸®¸¦ »ç¿ëÇϰí ÀÖ´ÂÁö KeyHistory ¸í·É¾î³ª ¸Þ´º Ç׸ñÀ» ÅëÇÏ¿© ¾Ë¾Æº¼ ¼ö ÀÖ½À´Ï´Ù. °¥°í¸®¸¦ °­Á¦·Î ¼³Ä¡ÇÏ·Á¸é ½ºÅ©¸³Æ®¿¡ #InstallKeybdHook ¶Ç´Â #InstallMouseHook Áö½Ã¾î¸¦ ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù.

T: Åä±Û »óŸ¦ ¿­¶÷ÇÕ´Ï´Ù (Åä±ÛÀÌ °¡´ÉÇÑ Å°¿¡¸¸ À¯È¿ÇÕ´Ï´Ù. Åä±Û ۷δ Capslock, Numlock, Scrolllock, ±×¸®°í Insert°¡ ÀÖ½À´Ï´Ù). ¿­¶÷µÈ °ªÀÌ DÀÌ¸é ±× Å°°¡ "on"À̶ó´Â ¶æÀ̰í, ¹Ý¸é¿¡ UÀ̸é "off"¶ó´Â ¶æÀÔ´Ï´Ù (±×·¯³ª GetKeyState() ÇÔ¼ö´Â "on"¿¡ true (1)¸¦ "off" false (0)¸¦ µ¹·ÁÁÝ´Ï´Ù).

³íÆò

Ű³ª ¸¶¿ì½º/Á¶À̽ºÆ½ ¹öưÀÌ »õ·Î¿î »óŰ¡ µÇ±â¸¦ ±â´Ù¸®·Á¸é º¸Åë GetKeyState ȸµ¹ÀÌ ´ë½Å¿¡ KeyWaitÀ» »ç¿ëÇÏ´Â °ÍÀÌ ´õ ½±½À´Ï´Ù.

ºñÁ¤»óÀûÀΠŰº¸µå µå¶óÀ̹ö°¡ ¼³Ä¡µÈ ½Ã½ºÅÛÀº ŰÀÇ »óŸ¦, ƯÈ÷ Capslock °°Àº ŰÀÇ Åä±Û »óŸ¦ ´À¸®°Ô °»½ÅÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ŰÀÇ »óŰ¡ º¯°æµÇ¸é ¹Ù·Î Á¡°ËÇØ¾ß ÇÏ´Â ½ºÅ©¸³Æ®´Â ¹Ì¸® SleepÀ» »ç¿ëÇØ ½Ã½ºÅÛÀÌ Å° »óŸ¦ °»½ÅÇÒ ½Ã°£À» ÁÖ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.

Á¶À̽ºÆ½¿¡ GetKeyState¸¦ »ç¿ëÇÏ´Â ¿¹´Â Á¶À̽ºÆ½ ¸®¸ÊÇÎ ÆäÀÌÁö¿Í Joystick-To-Mouse ½ºÅ©¸³Æ®¸¦ ÂüÁ¶ÇϽʽÿÀ.

°ü·Ã Ç׸ñ

GetKeyState(), KeyWait, Key List, Á¶À̽ºÆ½ ¸®¸ÊÇÎ, KeyHistory, #InstallKeybdHook, #InstallMouseHook

¿¹Á¦

; ±âº» ¿¹Á¦µé:
GetKeyState, state, RButton  ; ¿ìÃø ¸¶¿ì½º ¹öư.
GetKeyState, state, Joy2  ; ù ¹øÂ° Á¶À̽ºÆ½ÀÇ µÎ ¹øÂ° ¹öư.

GetKeyState, state, Shift
if state = D
    MsgBox Àû¾îµµ ÇϳªÀÇ Shift ۰¡ ´­·Á ÀÖ½À´Ï´Ù.
else
    MsgBox Shift ۰¡ ¾î´À Âʵµ ´­·Á ÀÖÁö ¾Ê½À´Ï´Ù.

GetKeyState, state, CapsLock, T ;  CapsLockÀÌ ÄÑÁ® ÀÖÀ¸¸é D, ±×·¸Áö ¾ÊÀ¸¸é UÀÔ´Ï´Ù.
state := GetKeyState("Capslock", "T")  ; CapsLockÀÌ ÄÑÁ® ÀÖÀ¸¸é Âü, ±×·¸Áö ¾ÊÀ¸¸é °ÅÁþÀÔ´Ï´Ù.

; ¸®¸ÊÇÎ ¿¹Á¦ (ÀÌ ¿¹Á¦´Â ¿À·ÎÁö º¸¿©ÁÖ±â À§ÇÑ ¿ëµµÀÔ´Ï´Ù.
; ³»ÀåµÈ ¸®¸ÊÇΠƯ¡À» »ç¿ëÇÏ´Â ÆíÀÌ ´õ ½±½À´Ï´Ù):
; ´ÙÀ½ ÇÖŰ¿¡¼­, NumpadAdd°¡ ´­·Á ÀÖ´Â µ¿¾È ¸¶¿ì½º ¹öưµµ ´­·Á ÀÖ½À´Ï´Ù.
; NumpadAdd¸¦ ¸¶¿ì½º ¹öưÀ¸·Î º¯½Å½ÃŰ´Â È¿°ú°¡ ÀÖ½À´Ï´Ù. ÀÌ ¹æ¹ýÀ» »ç¿ëÇϸé
; »ç¿ëÀÚ°¡ Ű³ª ¹öưÀ» ´©¸£°í ÀÖ´Â µ¿¾È ÇàÀ§¸¦ ¹Ýº¹ÇÒ ¼ö ÀÖ½À´Ï´Ù:
*NumpadAdd::
MouseClick, left,,, 1, 0, D  ; ¿ÞÂÊ ¸¶¿ì½º ¹öưÀ» ´©¸£°í ÀÖ½À´Ï´Ù.
Loop
{
    Sleep, 10
    GetKeyState, state, NumpadAdd, P
    if state = U  ; ۸¦ ³õ¾Ò½À´Ï´Ù. ±×·¡¼­ ȸµ¹À̸¦ ºüÁ® ³ª¿É´Ï´Ù.
        break
    ; ... ¿©±â¿¡ ¹Ýº¹ÇÏ°í ½ÍÀº ÇàÀ§¸¦ »ðÀÔÇϽʽÿÀ.
}
MouseClick, left,,, 1, 0, U  ; ¸¶¿ì½º ¹öưÀ» ¶Á´Ï´Ù.
return

; ¿¹Á¦: Á¶À̽ºÆ½ Ãà À§Ä¡¿¡ µû¶ó Á¶À̽ºÆ½ ¹öưÀÇ ÇàÀ§¸¦ ´Ù¸£°Ô ¸¸µì´Ï´Ù.
joy2:: 
GetKeyState, joyx, JoyX 
if joyx > 75 
    MsgBox Action #1 (Á¶À̽ºÆ½ÀÌ ¿À¸¥ÂÊÀ¸·Î ±â¿î µ¿¾È ¹öưÀÌ ´­·È½À´Ï´Ù).
else if joyx < 25 
    MsgBox Action #2 (Á¶À̽ºÆ½ÀÌ ¿ÞÂÊÀ¸·Î ±â¿î µ¿¾È ¹öưÀÌ ´­·È½À´Ï´Ù).
else
    MsgBox Action #3 (Á¶À̽ºÆ½ÀÌ ¼öÆòÀ¸·Î °¡¿îµ¥¿¡ ÀÖ´Â µ¿¾È ¹öưÀÌ ´­·È½À´Ï´Ù).
return

; ´Ù¸¥ ¿¹Á¦µéÀº Á¶À̽ºÆ½ ¸®¸ÊÇÎ ÆäÀÌÁö¿Í Joystick-To-Mouse ½ºÅ©¸³Æ®¸¦ ÂüÁ¶ÇϽʽÿÀ.