안녕하세요? 만들오 입니다.
아두이노 레오나르도를 이용해 윈도우 앱을 제어하기 위해, 윈도우 창 활성화를 할 수 있는 방법을 고민하다 방법을 찾았기에, 내용을 공유합니다.
※ 윈도우 창 활성화란? 가장 마지막으로 클릭한 창이 활성화된 상태입니다. 윈도우 메모장에 글을 쓰기 위해서는 메모장을 선택하고 입력해야 합니다. 이렇게 선택된 상태를 활성화라고 합니다.
윈도우 단축키
- win+1~9 : 윈도우 하단 작업표시줄의 앱을 활성화 시킵니다. (바로 눌러보세요)
만약, win+1을 눌러 크롬을 활성화 시켰는데, 다시 win+1을 누르면 최소화 되버립니다. 제가 원하는 기능은 항상 활성화를 시키고 싶은데, 최소화 되어버리면 안됩니다.
그래서 찾은 방법이 다음 단축키 입니다.
- win+T : 윈도우 하단 작업표시줄 앱을 순환합니다.
win+T를 누른 상태에서 win+1을 누르면, 활성화 된 상태라도 최소화 되지 않습니다.👍
이게 바로 제가 찾던 기능입니다.
만약, 크롬 창이 2개라면?
아래 사진처럼 크롬 창이 2개 이상인 경우도 있습니다.
만약 오른쪽 창을 활성화 시키고 싶다면, win+T → 1 → 1 을 눌러주면 원하는 창을 활성화 시키는군요.
이 로직을 아두이노 스케치로 만들고, 레오나르도 보드에 업로드 하겠습니다.
스케치 업로드 전, 보드와 포트 설정은 항상 신경써 줘야 합니다.
#include "Keyboard.h"
void setup() {
Serial.setTimeout(100);
Serial.begin(9600);
Keyboard.begin();
}
void active(int num) {
Keyboard.press(KEY_LEFT_GUI); //win 키
Keyboard.press('t');
delay(100);
Keyboard.release('t');
for (int i=0; i<num; i++) {
Keyboard.press('1');
Keyboard.release('1');
Serial.println('1');
delay(100);
}
Keyboard.releaseAll();
}
void loop() {
if (Serial.available() > 0) {
String msg = Serial.readString();
Serial.println(msg);
if (msg == "f1" || msg == "F1") Keyboard.write(KEY_F1);
else if (msg == "f2" || msg == "F2") Keyboard.write(KEY_F2);
else if (msg == "f3" || msg == "F3") Keyboard.write(KEY_F3);
else if (msg == "f4" || msg == "F4") Keyboard.write(KEY_F4);
else if (msg == "f5" || msg == "F5") Keyboard.write(KEY_F5);
else if (msg == "f6" || msg == "F6") Keyboard.write(KEY_F6);
else if (msg == "f7" || msg == "F7") Keyboard.write(KEY_F7);
else if (msg == "f8" || msg == "F8") Keyboard.write(KEY_F8);
else if (msg == "f9" || msg == "F9") Keyboard.write(KEY_F9);
else if (msg == "f10" || msg == "F10") Keyboard.write(KEY_F10);
else if (msg == "f11" || msg == "F11") Keyboard.write(KEY_F11);
else if (msg == "f12" || msg == "F12") Keyboard.write(KEY_F12);
else if (msg == "space") Keyboard.write(32);
else if (msg == "active_1") active(1);
else if (msg == "active_2") active(2);
else if (msg == "active_3") active(3);
else if (msg == "active_4") active(4);
else Keyboard.print(msg);
}
}
감사합니다.
[끝].
728x90
'하드웨어 > 아두이노' 카테고리의 다른 글
[아두이노] 아두이노 레오나르도 윈도우 제어 with NirCmd (0) | 2022.04.20 |
---|---|
[아두이노] 아두이노 레오나르도 시리얼 키보드 만들기 (22) | 2022.04.20 |
[아두이노] 브라우저와 통신하기 - Web serial (1) | 2022.02.19 |
[아두이노] IDE 설치하기 (5) | 2022.02.09 |
[아두이노] ESP32 블루투스로 SSID 업데이트하기(EEPROM 이용) (0) | 2021.05.23 |
댓글