์ง๋ ์๊ฐ์ ์๋์ด๋ ธ ๋ง์ดํฌ๋ก ๋ณด๋๋ก ํค๋ณด๋ ์ ์ด๋ฅผ ํด ๋ณด์์ต๋๋ค. ์ค๋์ ๋ง์ฐ์ค๋ฅผ ์ ์ดํด๋ณด๋ ์๊ฐ์ ๊ฐ๋๋ก ํ์ฃ . ํค๋ณด๋์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ง์ฐ์ค๋ ๋ช๊ฐ์ ํจ์๋ง ์ดํดํ์๋ฉด ์ฝ๊ฒ ์๋์ด๋ ธ๋ฅผ ์ด์ฉํด์ ๋ง์ฐ์ค์ ๋์์ ์ํํ ์ ์์ต๋๋ค.
์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก ๋ง์ฐ์ค ์ ์ด๋ฅผ ํด๋ณผ๊น์.
์ ์ฌ์ ํ์ต์ผ๋ก ์ฝ๊ณ ์ค์๋ฉด ๋ฉ๋๋ค. ์ฌ์ ํ์ต ์๋ฃ๋ฅผ ๋ณด์๋ฉด 7๊ฐ์ ํจ์๊ฐ ์๋๋ฐ ์ด ํจ์๋ง ์๋ฉด ๋ง์ฐ์ค ์ ์ด๋ฅผ ๋ง์๋๋ก ํ ์ ์์ต๋๋ค. ๊ฐ๋จํ ํจ์์ ๋ํด ์ดํด ๋ณผ๊น์.
ํจ์๋ ๊ทธ๋ ๊ฒ ์ด๋ ต์ง ์์ฃ . ๊ธฐ๋ณธ์ ์ผ๋ก ๋ง์ฐ์ค ํด๋ฆญ๊ณผ ๋ง์ฐ์ค ์ด๋์ ๊ดํ ํจ์๋ง ์ดํดํ์๋ฉด ๋ฉ๋๋ค.
๋ง์ฐ์ค ์ด๋ ์ ์ดํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
[๊ธฐ๋ณธ์์ค]
#include
void setup(){
Mouse.begin();
}
void loop(){
if(๋ฒํด๋๋ฆ){
Mouse.move(x, y, ์คํฌ๋กคํ );
}
}
์ ์์ค๊ฐ ๊ธฐ๋ณธ ๋ง์ฐ์ค ์ด๋ ๋์์ ๋๋ค. ๋ง์ฐ์ค๋ก ์๋ก ์ด๋ํ๋ค๋ฉด ์ด๋ป๊ฒ ์ฝ๋ฉํ ๊น์.
if(digitalRead(Pin_Up) == LOW){ //์๋ก
Mouse.move(0, -1, 0);
}
์ฐธ๊ณจ, ์/์๋, ์ข/์ฐ๋ก ์์ง์์ x,y๊ฐ๋ง ๋ฐ๊พธ์๋ฉด ๋๊ณ , ์๋ก ์ด๋ํ๋ ์ ๋ช ๋ น๋ฌธ์ ์์ ํ์ฌ ์ฝ๋ฉํ์๋ฉด ๋๋จธ์ง ๋์ ๋ช ๋ น์ ์ํํ ์ ์๊ฒ ๋ฉ๋๋ค.
[๊ธฐ๋ณธ์์ค]
#include
void setup(){
Mouse.begin();
}
void loop(){
if(๋ฒํด๋๋ฆ){
Mouse.click();
}
}
๊ธฐ๋ณธ ๋ณด์ค๋ฅผ ๋ณด๋ฉด Mouse.click()ํจ์๋ ๋ํดํธ๋ก MOUSE_LEFT ํด๋ฆญ์ด ๋ฉ๋๋ค. ํน์ ํค๋ฅผ ๋๋ฅด๊ณ ์ถ๋ค๋ฉด ์ด๋ป๊ฒ ์ฝ๋ฉํ ๊น์.
Mouse.click(MOUSE_RIGHT);
์ด๋ค ๋๋์ธ์ง ์์๊ฒ ์ง์.
๊ธฐ๋ณธ์ ์ผ๋ก ๋ฒํด์ ์์ ์ธ๊ฐ์ง ์ผ์ชฝ, ์ค๋ฅธ์ชฝ, ์ค์ ๋ฒํด์ผ๋ก ๋๋๊ณ ์ง์ ํด์ฃผ๋ฉด ํด๋น ๋ฒํด์ด ํด๋ฆญ๋ฉ๋๋ค. ์ง์ ํ์ง ์์ผ๋ฉด ๋ํดํธ๋ก ์ผ์ชฝ ๋ฒํด์ ํด๋ฆญํ์ ๋ค๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.
์ถ๊ฐ๋ก, Mouse.click()ํจ์๋ ํด๋ฆญ ์ด๋ฒคํธ์ ๋๋ค. ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ํํํ๋ฉด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
void loop(){
if(๋ฒํด๋๋ฆ){
Mouse.press(MOUSE_LEFT);
delay(100);
Mouse.release(MOUSE_LEFT);
delay(200);
}
}
๋ง์ฐ์ค ํค๋ฅผ ๋๋ฆ๊ณผ ํด์ ๋ก ๋ง์ฐ์ค ํด๋ฆญ ์ด๋ฒคํธ๋ฅผ ๋ง๋ค์ด ๋ ๋๋ค. ์ด์ ๊ฐ์ ๋ฐฉ์์ ์ฌ์ค ํด๋ฆญํจ์๋ง ์์ผ๋ฉด ๋์ง ๊ตฌ์ง ์ด ํจ์๋ก ํํ์ ํ๋ ํ์ค๋ถ๋ค์ด ์์๊ฑฐ์์. ๋๋ฆ(press)๊ณผ ํด์ (release) ํจ์๋ ์ฌ์ฉ๋๋ ๊ณณ์ด ๋ฐ๋ก ์์ต๋๋ค. ๊ฐ๋ น, ์นํ์ด์ง๊ฐ ์์ผ๋ฉด ํน์ ์์ญ์ ๋ณต์ฌํ๊ธฐ ์ํด์ ์ด๋ป๊ฒ ํ๋์ ๋ง์ฐ์จ ์ผ์ชฝ์ ๋๋ฅธ ์ํ์์ ๋๋๊ทธ๋ฅผ ํ๊ณ ๋ณต์ฌํ ์์น์์ ๋ง์ฐ์ค ๋๋ฅธ ์ํ๋ฅผ ํด์ ํฉ๋๋ค. ์ด๋ ๊ฒ ๋ง์ฐ์ค์ ํด๋ฆญ์ด ์๋๋ผ ์ผ์ ์๊ฐ ๋ง์ฐ์ค์ ๋๋ฆ์ด ํ์ํ ๋๋ ์ฌ์ฉ๋๋ ํจ์์ ๋๋ค. ํด๋ฆญ์ผ๋ก ์ฌ์ฉํด๋ ๋๊ณ ๋๋ ํน์ ํ ๋๋ฆ ์ผ์ ์๊ฐ ๋์ ์ ์ง๊ฐ ํ์ํ ๋๋ ์ฌ์ฉ๋ฉ๋๋ค.
if(๋ฒํด๋๋ฆ){
Mouse.press(MOUSE_LEFT);
}else if(๋ฒํด ํด์ && Mouse.isPressed()==1){
Mouse.release(MOUSE_LEFT);
}
๋ฒํด์ ๋๋ฅด๊ณ ์๋ ๋์์ ๋ง์ฐ์ค ์ผ์ชฝ ๋ฒํด์ด ํด๋ฆญ๋ ์ํ๊ฐ ๋๊ฒ ์ฃ . ์ด๋ฐฉ์์ ๊ณ์ ํด๋ฆญ ๋ช ๋ น์ ๋ด๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋ณ๋ก ์ข์ง ์์ต๋๋ค. ํ ์ํ๋ฅผ ๊ณ์ ์ ์งํ๊ณ ํด๋ฆญ์ ๋ฐ๋ณต ๋ช ๋ น์ ๋ด๋ฆฌ๊ฒ ํ๊ณ ์ถ์ง ์๋ค๋ฉด ์๋์ ๊ฐ์ด ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
if(๋ฒํด๋๋ฆ){
if( Mouse.isPressed()==0) Mouse.press(MOUSE_LEFT);
}else if(๋ฒํด ํด์ && Mouse.isPressed()==1){
Mouse.release(MOUSE_LEFT);
}
์ด๋ฐ๊ฒ ๋ง์ฐ์ค ํด๋ฆญ ์ํ์ ๋ณด๊ฐ 0์ด๋ฉด ํด๋ฆญ์ํ๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ๋ง์ฐ์ค์ผ์ชฝ ๋ฒํด์ ํด๋ฆญํ๊ณ ํด๋ฆญ์ํ๊ฐ 1์ด๋ฉด ํด๋ฆญ๋์ด ์์ผ๋๊น ๊ณ์ ๊ทธ ์ํ๋ฅผ ์ ์ง๋๊ณ ์์ผ๋ ๊ตฌ์ง ๋ค์ ํด๋ฆญ๋ช ๋ น์ ๋ด๋ฆด ํ์๊ฐ ์์ต๋๋ค.
Mouse.isPressed() or Mouse.isPressed(button) ํจ์๋ก ํ์ฌ ๋ง์ฐ์ค ์ํ ์ ๋ณด๋ฅผ ์ฝ์ด ์ฌ ์ ์์ต๋๋ค. ๋ง์ฝ์ ๋ง์ฐ์ค ์ผ์ชฝ ๋ฒํด์ ๋๋ ๋ค๋ฉด ์ผ์ชฝ๋ฒํด์ ๋๋ฅธ ์ํ ์ ๋ณด๋ฅผ ๋ฐํํด ์ค๊ฒ ์ฃ .
์ ํํ ์ด๋ค ๊ฐ์ ๊ฐ๋์ง ์ดํด๋ณผ๊น์.
if(digitalRead(๋ฒํดํ) == LOW){ //๋ฒํดํด๋ฆญ
Mouse.press(MOUSE_LEFT);
Serial.println(Mouse.isPressed());
delay(100);
Mouse.release(MOUSE_LEFT);
Serial.println(Mouse.isPressed());
delay(200);
}
[๊ฒฐ๊ณผ]
1
0
์ด๋ ๊ฒ ์ถ๋ ฅ๋ฉ๋๋ค ๋ง์ฐ์ค๋ฅผ press() ํด๋ฆญํ๋ฉด isPressed()ํจ์๋ก ํด๋น ํด๋ฆญ ์ํ ์ ๋ณด 1์ ๋ฐํํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ release()ํจ์๋ก ํด์ ํ๋๊น isPressed()ํจ์๋ก ๋ฐํ๋๋ ๊ฐ์ 0์ด ๋ฉ๋๋ค.
๋ง์ฐ์ค ์ํ ์ ๋ณด ๋ฐํํ๋ ํจ์๋ ํด๋น ๋ง์ฐ์ค๋ฒํด์ ํ์ฌ ํด๋ฆญ ์ ๋ณด๋ฅผ ํตํด์ ๋ค๋ฅธ ๋์ ๋ช ๋ น์ ๋ค๋ฅธ ๋์์ ์ํํ๊ฑฐ๋ ๋ฝ์ ๊ฑธ์ด์ฃผ๊ฑฐ๋ ์ด๋ค ์กฐ๊ฑด์ ๋ง๋ค์ด ์ฃผ๊ธฐ์ํด์ ์ฌ์ฉํฉ๋๋ค. ์์ ๋ง์ฐ์ค ํด๋ฆญ ์ฒ๋ผ ๋ฒํด์ ํด๋ฆญํ๋ค๋ฉด ํด๋ฆญํ์ ๋ ์ํ์ ๋ณด๊ฐ 1์ด๋ฉด ๋ค์ ํด๋ฆญ์์๋ ๊ทธ ์ํ๋ฅผ ์ ์งํ๋๊น ๊ตฌ์ง ๋๋ฒ ๋ช ๋ น์ ๋ด๋ฆด ํ์๊ฐ ์๊ฒ ํํ์ด ๊ฐ๋ฅํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ค ํด๋ฆญ๋ ์ํ๊ฐ ๋์์ ๋ ๊ทธ ์ํ๋ฅผ ํด์ ํ๊ณ ์ถ์ ๋ ๋จผ์ ํด๋ฆญ์ด ๋์๋์ง ํ์ธํ๋ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ํด๋ฆญ๋ ์ํ๋๋ฐ ํด๋ฆญํด์ ๋ฅผ ์ํํ ํ์๋ ์๊ฒ ์ฃ .
์ง๋ ์๊ฐ์ ํ๋ก๋๋ฅผ ๊ทธ๋๋ก ์ ์ฉํฉ๋๋ค.
์ค์์น ๋ฒํด์ 5๊ฐ ์ ๋๋ค. ์คํ์์ 2๋ฒ ํ์ ์ธํฐ๋ฝํธ ํ์ผ๋ก ์ฌ์ฉํ์ฌ ์์ ์ฅ์น๋ฅผ ๋ง๋ จํ๊ณ ๋๋จธ์ง 3,4,5,6๋ฒ ํ์ ๋ง์ฐ์ค ์์น๋ฅผ ์กฐ์ ํ๋ ํ์ผ๋ก ์ฌ์ฉํ๊ฒ ์ต๋๋ค. ์์ฌ์ด ์ ์ ์ค์์น ๋ฒํด์ด ๋ ์์ด์ ๋ง์ฐ์คํด๋ฆญ ์ด๋ฒคํธ๊น์ง๋ ์ ์ฉ์ ๋ชปํ์๋ค์. ์ธํฐ๋ฝํธ ํ์ ๋ง์ฐ์ค ํด๋ฆญ ์ด๋ฒคํธ๋ก ์ฌ์ฉํ๋ฉด ์ข์๋ฐ ํน์ ๋ชจ๋ฅผ ์๋ฌ๋ฅผ ์๋ฐฉํ๋ ์ฐจ์์ผ๋ก ์์ ์ฅ์น๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ง์ฐ์ค ํด๋ฆญ ์ด๋ฒคํธ๋ ์คํํ์ง ์๊ฒ ์ต๋๋ค.
์ง๋ ์๊ฐ์ ์์ค๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ ์๋ค์. ๋ณต์ต์ฐจ์์ผ๋ก ๋ค์ ๋ด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
[๊ธฐ๋ณธ์์ค]
const byte interruptPin = 2;
boolean state = true;
void setup() {
pinMode(interruptPin, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(interruptPin), exchange, FALLING);
}
void loop(){
if(state==false){
ํค๋ณด๋ ๋ช
๋ น;
}
}
void exchange() {
state=!state;
}
์ ์ฝ๋ฉ์ ์ค๋ช ์ ์ง๋ ์๊ฐ post๋ฅผ ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
ํ๋ฒํธ์ ์ ์ธ ํฉ๋๋ค.
const byte Pin_Up = 3;
const byte Pin_Down = 4;
const byte Pin_Left = 5;
const byte Pin_Right = 6;
์ค์์น ๋ฒํด ๋ชจ๋ ๋ด๋ถํ์ ๋ชจ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋๊น pinMode()์ ๋ค์๊ณผ ๊ฐ์ด INPUT_PULLUP ๋ชจ๋๋ก ์ ์ธ ํฉ๋๋ค.
pinMode(Pin_Up, INPUT_PULLUP);
pinMode(Pin_Down, INPUT_PULLUP);
pinMode(Pin_Left, INPUT_PULLUP);
pinMode(Pin_Right, INPUT_PULLUP);
Pin_Upํค ๋๋ฆ ์ด๋ฒคํธ ๋ช ๋ น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๋ด๋ถํ์ ๋ชจ๋๋ก ์ด๊ธฐ์ํ๊ฐ HIGH ์ ๋๋ค. ๊ทธ๋์ ์ค์์น๋ฅผ ๋๋ฅด๋ฉด LOW๋ก ๋ฐ๋๊ฒ ๋๊ณ IF๋ฌธ์ด ์ฐธ์ด ๋์ด ํค ๋๋ฆ๊ณผ ํด์ ๋ช ๋ น์ ์ํํ๊ฒ ๋ฉ๋๋ค.
if(digitalRead(Pin_A) == LOW){
Mouse.move(0, -1, 0);
}
๋๋จธ์ง ์ค์์น ๋ฒํด๋ ์์ ๊ฐ์ด ๋์ผํ๊ฒ ์ฝ๋ฉํ๋ฉด ๋ฉ๋๋ค.
์ ์์ ์ฅ์น ์ฝ๋ฉ๊ณผ ํค ๋๋ฆ ์ฝ๋ฉ์ ํฉ์ณ์ ์ข ํฉํด ๋ณด๋ฉด ์๋์ ๊ฐ์ด ์ฝ๋ฉ์ ํ ์ ์์ต๋๋ค.
#include
const byte Pin_Up = 3;
const byte Pin_Down = 4;
const byte Pin_Left = 5;
const byte Pin_Right = 6;
const byte interruptPin = 2;
boolean state = true;
void setup() {
pinMode(Pin_Up, INPUT_PULLUP);
pinMode(Pin_Down, INPUT_PULLUP);
pinMode(Pin_Left, INPUT_PULLUP);
pinMode(Pin_Right, INPUT_PULLUP);
pinMode(interruptPin, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(interruptPin), exchange, FALLING);
Mouse.begin();
}
void loop() {
if(state==true){
if(digitalRead(Pin_Up) == LOW){ //์๋ก
Mouse.move(0, -1, 0);
}else if(digitalRead(Pin_Down) == LOW){ //์๋๋ก
Mouse.move(0, 1, 0);
}
if(digitalRead(Pin_Left) == LOW){ //์ผ์ชฝ
Mouse.move(-1, 0, 0);
}else if(digitalRead(Pin_Right) == LOW){ //์ค๋ฅธ์ชฝ
Mouse.move(1, 0, 0);
}
}
}
void exchange() {
state=!state;
}
์ค์์น ๋ฒํด์ ๋๋ฆ์ผ๋ก์จ ๋ง์ฐ์ค์ ํด๋น ๋ฐฉํฅ์ผ๋ก ์์ง์ด๊ฒ ๋ฉ๋๋ค.
์ฌ๊ธฐ์, if๋ฌธ์ ํํ์ ์ ๋ด์ฃผ์ธ์.
if๋ฌธ์ด ์/์๋๋ฅผ ํ์์ผ๋ก ๋ฌถ์๊ณ ์ข/์ฐ๋ฅผ ํ์์ผ๋ก ๋ฌถ์์ต๋๋ค. ์ ์ด๋ ๊ฒ ํ์๊น์. ๋ฐ๋ก ์๋ฅผ ๋๋ฅธ ์ํ์์ ์๋๋ฅผ ๋๋ฅผ ์ ์๊ณ ์ข๋ฅผ ๋๋ฅธ ์ํ์์ ์ฐ๋ฅผ ๋๋ฅผ ์ ์์์์. ์ฆ, ์/์๋๋ ํ๋์ ์ํ๋ง ์กด์ฌํ๊ณ ์ข/์ฐ๋ ํ๋์ ์ํ๋ง์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์์ ๊ฐ์ด IF ์กฐ๊ฑด๋ฌธ์ผ๋ก ํํํ ๊ฒ์ด์ฃ .
์ฃผ์ํ ์ ์, 4๊ฐ์ ์ํ๋ฅผ if๋ฌธ์ผ๋ก 4๊ฐ๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ๋ง๋ค๋ฉด ์๋ฉ๋๋ค.
์)
if(digitalRead(Pin_Up) == LOW) { }
if(digitalRead(Pin_Down) == LOW) { }
์ด๋ ๊ฒ ์ฝ๋ฉํ๋ฉด ์๋ฉ๋๋ค. ๋ฒํด์ ๋์์ ๋๋ฅธ๋ค๋ฉด ์ด๋ค ํ์์ด ๋ฐ์ํ ๊น์. ๋๊ฐ์ง ์ํ๋ฅผ ๋ชจ๋ ์ํํ๊ธฐ ๋๋ฌธ์ ์ด๋ค ์๋ฏธ๋ก๋ ์ถฉ๋์ ๊ฐ๊น๋ค๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ ๋ค๊ณ ํด์ ์ ์ฝ๋ฉ์ด ๋์ํ์ง ์๋ ๊ฒ์ ์๋๋๋ค. ์๋ฏธ์์ผ๋ก ์ฝ๋ฉ์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ด์ฃ . ์ด๋์์ ์ ์ค๋ก์ง ๋ฑ ํ๋์ ์กฐ๊ฑด๋ง์ด ์์ด์ผ์ง ์/์๋๊ฐ ๋์์ ์ผ์ด๋๋ ๊ฒ์ ์ข ๋ฌธ์ ๊ฐ ์๊ฒ ์ฃ .
๊ทธ๋ฆฌ๊ณ , ์/์๋์ ํ๋์ ์ํ์ ์ข/์ฐ์ ํ๋์ ์ํ๋ ๋์์ ์ผ์ด๋ ์ ์๊ธฐ ๋๋ฌธ์ if๋ฌธ์ผ๋ก ๋ถ๋ฆฌํด ์ค์ผ ํฉ๋๋ค.
์! ์์์ IF๋ฌธ์ ์ ๋ ๊ฒ ํํํ๋์ง์ ๋ํ ์๋ฏธ๋ฅผ ์ ํํ ์ดํดํด ์ฃผ์ธ์.
์ด ์ฝ๋ฉ์ ๋จ์ง ๋์์ ํ ์คํธ ํ ๋ชฉ์ ์ ์ฝ๋ฉ์ด๊ธฐ ๋๋ฌธ์ ๋ณต์กํ ๋์ ๋ช ๋ น์ ์๋ตํฉ๋๋ค.
์ค์์น๋ฒํด์ ๋งํ์ ์ ์์๋๋ก ํด๋น ํค๋ณด๋ ํค๋ช ๋ น์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ํด๋น ์ค์์น ๋ฒํด์ ํด๋น ๋ช ๋ น์ PC์์ ์ํํฉ๋๋ค.
๊ฒฐ๊ณผ๋ ์๋ ๋์์์์ ํ์ธํ์๋ฉด ๋ฉ๋๋ค.
์์์ ๋ณด์๋ฉด ์ฒ์ ์ ๋ก๋ ํค๋ฅผ ๋๋ฌ์ผ ํ๋๋ฐ ์ปดํ์ผ ํค๊ฐ ๋๋ฌ์ก๋ค์. ์ด๋ฏธ ํด๋น ์ฝ๋ฉ์ด ์ ๋ก๋ ๋ ์ํ์ ๋๋ค. ์ ๋ก๋ ๋ถ๋ถ๋ถํฐ ์ดฌ์์ ํ๋ ค๊ณ ํ๋ค ๋ณด๋๊น ์ค์๊ฐ ๋ฐ์ํ๋ค์. ์ ๋ก๋๊ฐ ์ด๋ฏธ ๋ ์ํ์ด๋ค ๋ณด๋๊น ์ ๋ก๋ ๋ฒํด์ด ์๋ ์ปดํ์ผ ๋ฒํด์ ๋๋ฅด๊ณ ์์์ ๊ณ์ ์งํ์์ผ ๋ฒ๋ ธ๋ค์. ์ฌ์ดฌ์ํ๊ธฐ ๊ท์ฐฎ์์ ๊ทธ๋ฅ ์ฌ๋ ธ๋ค์. ๊ฐ์ํ์๊ณ ๋ณด์ธ์. ์ฐธ๊ณ ๋ก ํ์์๋ ํฐ์ด ํ์์๋ ๋ง์ฐ์ค์กฐ์ ๊ธฐ๊ฐ ์๋ค ๋ณด๋๊น ๋๊ฐ์ ์์ง์์ ์ ๋๋ก ๋ณด์ฌ๋๋ฆฌ์ง ๋ชปํ๋ค์. ์/์๋, ์ข/์ฐ๋ก๋ง ์์ง์๋๋ฐ ์ค์ ๋ก ์กฐ์ ํ๋ฉด ๋๊ฐ์ ์ผ๋ก๋ ์์ง์ ๋๋ค.
๊ฐ๋จํ ๋ง์ฐ์ค ์ด๋๋ง ์์ผฐ๋ค์. ํค ๋๋ฆ ์ด๋ฒคํธ๊น์ง 3๊ฐ๋ฅผ ๋ง๋ค๊ณ , ๋ง์ฐ์ค ํ ์ ์์ง์ด๋ ๋ช ๋ น๊น์ง ์ํํ๊ฒ ํ๋ค๋ฉด ์๋ฒฝํ ๋ง์ฐ์ค๊ฐ ์์ฑ๋์๊ฒ ์ฃ . ์ฝ๊ฐ ์์ฌ์ด ์คํ์ด ๋์๋ค์.
Mouse ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ๋๊น Mouse.move()ํจ์๋ก ์ฝ๊ฒ PC ๋ง์ฐ์ค๋ฅผ ์์ง์ผ ์ ์๊ฒ ๋์์ต๋๋ค. ์ด์ฒ๋ผ ์๋์ด๋ ธ๋ ์คํ์์ค๋ก ๋ง์ ๊ฒ๋ค์ ์ ๊ณตํด์ฃผ๊ณ ์ฐ๋ฆฌ๋ค์ ์ ๊ณต๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ์ฝ๊ฒ ์๋์ด๋ ธ๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค. ์ฌ๋ฌ๋ถ๋ค์๊ฒ ํ์ํ ๊ฒ์ ๋จ์ง ๋ญ ๋ง๋ค๊ณ ์ถ์๊ฐ์ ์์๋ง ํ์ํ ๋ฟ์ด์ฃ .
์ฌ๋ฌ๋ถ๋ค์ ์ง๋์๊ฐ์ ๋ฐฐ์ด ํค๋ณด๋ ์ ์ด์ ์ค๋ ๋ฐฐ์ด ๋ง์ฐ์ค ์ ์ด๋ฅผ ํตํด ๋ญ ๋ง๋ค๊ณ ์ถ์ผ์ ๊ฐ์. ํ๋ฒ ์์์ ๋๋๋ฅผ ํผ์ณ ๋ณด์ธ์.