오토핫키 누르고 있는 동안 - otohaski nuleugo issneun dong-an

���̽�ƽ�� Ű���峪 ���콺�� �����ϱ�

����

  • �߿��� ���� ����
  • ���̽�ƽ ��ư�� Ű�����̳� ���콺 Ŭ���� �����ϰ� �����
  • ���̽�ƽ Axis �Ǵ� POV Hat�� Ű�����̳� ���콺 Ŭ���� �����ϰ� �����
  • ����

�߿��� ���� ����

  • ��� ���̽�ƽ ��ư�̳� ���� Ű�� ���콺 ��ư�� �ǵ��� ������ ���� ������, � ���̽�ƽ ��ư�̳� ���� ������ �� �����ϴ�. �׷� ���� PPJoy ���� ���̽�ƽ ���ķ������� ������ �޾ƾ߸� �մϴ�.
  • ������Ű�� ���̽�ƽ�� �� ��ư�� 1�� 32 ������ ��ȣ�� �ĺ��մϴ�. �� ��ȣ�� �����Ϸ��� ���̽�ƽ �׽�Ʈ ��ũ��Ʈ�� ����Ͻʽÿ�.

���̽�ƽ ��ư�� Ű�����̳� ���콺 Ŭ���� �������� �����

�Ʒ��� �� ���� ���ٹ��� �ֽ��ϴ�. ���� ���� ������� �����Ͽ� ���� ������ ������� �����ϴ�. ������ ����� �������� ��Ȳ�� �۵��մϴ� (���� ��� Ű�� ���콺 ��ư�� ���� ä�� �ֱ⸦ �䱸�ϴ� ����).

��� #1: �� ����� ������ Ű������ ���콺 Ŭ���� �����մϴ�. ���� ���:

Joy1::Send {Left}  ; ��ư #1�� ���� ȭ��ǥ Ű ������ �����ϵ��� ����ϴ�.
Joy2::Click  ; ��ư #2�� ���� ���콺 ��ư Ŭ���� �����ϵ��� ����ϴ�.
Joy3::Send a{Esc}{Space}{Enter}  ; ��ư #3�� ��ȣ "a" �� ������ �ǽ� ����, �����̽�, �׸��� ���͸� �����ϵ��� ����ϴ�.
Joy4::Send Sincerely,{Enter}John Smith  ; ��ư #4�� �� ���� ������ �������� ����ϴ�.

��ư���� �ϳ� �̻��� ���ɾ �����ϵ��� �������, ù ���ɾ ��ư �̸� �Ʒ��� �ΰ� ������ ���ɾ return���� ����� �˴ϴ�. ���� ���:

Joy5::
Run Notepad
WinWait Untitled - Notepad
WinActivate
Send �� �ؽ�Ʈ�� ��Ʈ�е忡 ��Ÿ���ϴ�.{Enter}
return

������ Ű�� ���콺/���̽�ƽ ��ư�� ���� Ű ����� �����Ͻʽÿ�.

��� #2: �� ����� ���̽�ƽ ��ư�� ������ �ִ� ���� Ű�� ���콺 ��ư�� �ݵ�� ���� �־�� �ϴ� ��쿡 �ʼ��Դϴ�. ���� ������ ���̽�ƽ�� �� ��° ��ư�� ���� ȭ��ǥ Ű�� �ǵ��� ����ϴ�:

Joy2::
Send {Left down}  ; ���� ȭ��ǥ Ű�� �����ϴ�.
KeyWait Joy2  ; ����ڰ� ���̽�ƽ ��ư�� �� ������ ��ٸ��ϴ�.
Send {Left up}  ; ���� ȭ��ǥ Ű�� ���ϴ�.
return

��� #3: �� ����� ��� #2�� ����� ������ ���̽�ƽ ��Ű�� �ϳ� �̻� �ְ�, ���� �׷� ��Ű�� ���ÿ� ������ ����� �� ��쿡 �ʼ��Դϴ�. ���� ������ ���̽�ƽ�� ����° ��ư�� ���� ���콺 ��ư�� �ǵ��� ����ϴ�:

Joy3::
Send {LButton down}   ; ���� ���콺 ��ư�� �����ϴ�.
SetTimer, WaitForButtonUp3, 10
return

WaitForButtonUp3:
if GetKeyState("Joy3")  ; ��ư�� ������ ���� �ֽ��ϴ�. �׷��� ��� ��ٸ��ϴ�.
    return
; �׷��� ������, ��ư�� �ý��ϴ�.
Send {LButton up}  ; ���� ���콺 ��ư�� ���ϴ�.
SetTimer, WaitForButtonUp3, off
return

�ڵ�-�ݺ� Ű����: � ���α׷��̳� ������ (��ġ Ű���带 ��� ���� ä�� �ִ� ��ó��) Ű�� �ݺ������� ���۵DZ⸦ �䱸�մϴ�. ���� ������ ���̽�ƽ�� �� ��° ��ư�� ������ �ִ� ���� �����̽��� Ű������ �ݺ������� �����մϴ�:

Joy2::
Send {Space down}   ; �����̹ٸ� �����ϴ�.
SetTimer, WaitForJoy2, 30  ; ��ȣ�� 30���� 20�̳� 10���� �ٿ� �� ������ Ű�� �����մϴ�. �� ������Ű�� �� ������ ���۵˴ϴ�.
return

WaitForJoy2:
if not GetKeyState("Joy2")  ; ��ư�� �ý��ϴ�.
{
    Send {Space up}  ; �����̽��ٸ� ���ϴ�.
    SetTimer, WaitForJoy2, off  ; ��ư ������ ����ϴ�.
    return
}
; ���� "��ȯ���� �ʾұ� ������", ��ư�� ������ ���� ä�� �ֽ��ϴ�.
Send {Space down}  ; �Ǵٸ� �����̽��� Ű������ �����մϴ�.
return

����-���� ���̽�ƽ ��ư: ���þ� #IfWinActive/Exist�� ����ϸ� ���õ� ���̽�ƽ ��ư�� Ȱ��ȭ ���� �Ǵ� �����ϴ� â�� ������ ���� �ٸ� ������ �����ϵ��� (�Ǵ� ���� ���ϵ���) ���� �� �ֽ��ϴ�.

���̽�ƽ�� ���콺ó�� ����ϱ�: Joystick-To-Mouse ��ũ��Ʈ�� ���̽�ƽ�� ���� ��ư�� �� ��Ʈ���� �������Ͽ� ���콺�� Ż�ٲ޽�ŵ�ϴ�.

���̽�ƽ �� �Ǵ� POV Hat�� Ű�����̳� ���콺 Ŭ���� �����ϵ��� �����

��ũ��Ʈ�� ���̽�ƽ ���̳� POV hat�� �����ӿ� �����ϵ��� �������, SetTimer�� GetKeyState�� ����Ͻʽÿ�. ���� ������ ���̽�ƽ�� X�� Y ���� ��ġ Ű���� ���� ȭ��ǥ Ű ��ó�� �����ϰ� ����ϴ� (�����¿�):

#Persistent  ; ��ũ��Ʈ�� ����ڰ� ���������� ������ ������ �����մϴ�.
SetTimer, WatchAxis, 5
return

WatchAxis:
GetKeyState, JoyX, JoyX  ; X ���� ��ġ�� ����ϴ�.
GetKeyState, JoyY, JoyY  ; Y ���� ��ġ�� ����ϴ�.
KeyToHoldDownPrev = %KeyToHoldDown%  ; Prev�� ���� ������ � Ű�� (�ִٸ�) �����մϴ�.

if JoyX > 70
    KeyToHoldDown = Right
else if JoyX < 30
    KeyToHoldDown = Left
else if JoyY > 70
    KeyToHoldDown = Down
else if JoyY < 30
    KeyToHoldDown = Up
else
    KeyToHoldDown =

if KeyToHoldDown = %KeyToHoldDownPrev%  ; �ùٸ� Ű�� �̹� ���� �ֽ��ϴ� (�Ǵ� �ƹ� Ű�� �ʿ����� �ʽ��ϴ�).
    return  ; �ƹ��͵� ���� �ʽ��ϴ�.

; �׷��� ������, ������ Ű�� ���� ���ο� Ű�� �����ϴ�:
SetKeyDelay -1  ; Ű���� ���̿� ������ ���մϴ�.
if KeyToHoldDownPrev   ; ���� �� ������ Ű�� �ֽ��ϴ�.
    Send, {%KeyToHoldDownPrev% up}  ; �� Ű�� ���ϴ�.
if KeyToHoldDown   ; ���� Ű�� �ֽ��ϴ�.
    Send, {%KeyToHoldDown% down}  ; �� Ű�� �����ϴ�.
return

���� ������ ���̽�ƽ�� POV hat�� ��ġ Ű������ ȭ��ǥ ��ó�� �����ϰ� ����ϴ�; ��, POV hat�� ȭ��ǥ Ű������ �����մϴ� (�����¿�):

#Persistent  ; ����ڰ� ���������� ������ ������ ��ũ��Ʈ�� ��� �����մϴ�.
SetTimer, WatchPOV, 5
return

WatchPOV:
GetKeyState, POV, JoyPOV  ; POV ��Ʈ���� ��ġ�� ����ϴ�.
KeyToHoldDownPrev = %KeyToHoldDown%  ; Prev�� ���� ������ ���� Ű�� (�ִٸ�) �����մϴ�.

; � ���̽�ƽ�� ���� �������� �ʰ� �ε巯��/�������� POV�� �����ϴ�.
; �׵� ��θ� �����Ϸ���, ������ ����Ͻʽÿ�:
if POV < 0   ; ������ ������ �����ϴ�
    KeyToHoldDown =
else if POV > 31500                 ; 315 ������ 360 ������: ������
    KeyToHoldDown = Up
else if POV between 0 and 4500      ; 0 ������ 45 ������: ������
    KeyToHoldDown = Up
else if POV between 4501 and 13500  ; 45 ������ 135 ������: ����������
    KeyToHoldDown = Right
else if POV between 13501 and 22500 ; 135 ������ 225 ������: �Ʒ�������
    KeyToHoldDown = Down
else                                ; 225 ������ 315 ������: ��������
    KeyToHoldDown = Left

if KeyToHoldDown = %KeyToHoldDownPrev%  ; �ùٸ� Ű�� �̹� ���� �ֽ��ϴ� (�Ǵ� �ƹ� Ű�� �ʿ����� �ʽ��ϴ�).
    return  ; �ƹ��͵� ���� �ʽ��ϴ�.

; �׷��� ������, ������ Ű�� ���� �� Ű�� �����ϴ�:
SetKeyDelay -1  ; Ű���� ���̿� ������ ���մϴ�.
if KeyToHoldDownPrev   ; ���� �� ������ Ű�� �ֽ��ϴ�.
    Send, {%KeyToHoldDownPrev% up}  ; �� Ű�� ���ϴ�.
if KeyToHoldDown   ; ���� Ű�� �ֽ��ϴ�.
    Send, {%KeyToHoldDown% down}  ; �� Ű�� �����ϴ�.
return

Ű���� �ڵ�-�ݺ��ϱ�: �� ���� ��� �ܼ��� Ű�� ������ �ִ°� �ƴ϶� Ű�� �ݺ������� �����ϵ��� ������ �� �ֽ��ϴ� (��, Ű���忡�� ���������� Ű�� ������ �ִ� ��ó�� �䳻�� �� �ֽ��ϴ�). �̷��� �Ϸ���, ���� ����:

return  ; �ƹ��͵� ���� �ʽ��ϴ�.

������ ���� ��ü�Ͻʽÿ�:

{
    if KeyToHoldDown
        Send, {%KeyToHoldDown% down}  ; Ű������ �ڵ����� �ݺ��մϴ�.
    return
}

ù ��° ���� �ٸ� ���̽�ƽ�� ����� �� �ֽ��ϴ�. ��ư �̸��̳� �� �̸� �տ� ���̽�ƽ ��ư ��ȣ�� �ָ� �˴ϴ�. ���� ���, 2Joy1�� �� ��° ���̽�ƽ�� ù ��° ��ư�Դϴ�.

�ٸ� ������ ���̽�ƽ ��ũ��Ʈ�� �߱��Ϸ��� AutoHotkey ������ �湮�Ͻʽÿ�. Joystick and GetKeyState and Send�� ���� Ű���� �˻��̸� ��̷ο� �������� ���� �� �ֽ��ϴ�.

���� ����

Joystick-To-Mouse ��ũ��Ʈ (���̽�ƽ�� ���콺�� ����ϱ�)
���̽�ƽ ��ư, ��, �׸��� ��Ʈ�� ����Ʈ
GetKeyState
Ű����� ���콺 �������ϱ�