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 ½ºÅ©¸³Æ®¸¦ ÂüÁ¶ÇϽʽÿÀ.