macOS 에서 리산테크 AVR FLASHER 10 사용하기

![img_1](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh_UQMMViB7Of1FnJHfsB5xeHz97bHSsjJk1JtteJCBYDswq109E_WFqRIsOuYLcGFQ2UXLdkERQHWFspN9JUUzCywiamd4JVcXVp3fPrjd0kMElJ2wlAC6fZlICVxuw6JV3bSRDRQBpITNEQgEWaCBStmQwkSV9yVxjOcZUX_XTVnxlxohNqYlUvRKls/s4000/KakaoTalk_Photo_2025-01-04-00-14-17.jpeg) AVR 프로그래밍에 주로 사용하는 리산테크의 AVR FLASHER 10 제품이다. 총 10개의 서로다른 펌웨어를 저장하여 PC 없이도 타겟 장치의 전원으로 펌웨어 다운로드가 가능하다. 펌웨어 다운로드가 고속으로 이루어지기 때문에 아주 편하다. 최근 윈도우 데스크탑 보다 맥북으로 작업을 하는 상황이 많아지면서 이 장비를 사용하는데에 소프트웨어 지원이 윈도우만 되기때문에 불편함을 격고 있었다. 이것때문에 윈도우 노트북을 장만하는건 말이 안되는거 같고 그렇다고 매번 데스크탑을 켜는것도 불편하고 고민만 하고 있었다. 예전에는 부트캠프를 사용해 윈도우 용 프로그램을 쉽게 사용할수 있었지만 맥북이 애플실리콘을 사용하면서 이런점은 살짝 불편해 졌다고 볼수도있다. 호환성이 많이 좋아졌다고 하지만 예전에 Whisky로 시도했다가 실패한 경험이 있었기 때문에 큰 기대는 하지 않으려고했다. 아직 가상화는 시도해보지 않았는데 UTM 은 좀 쓰기가 불편했고 Parallels 는 과금방식이 전부터 마음에 들지 않았다. 사실 개인 사용 목적으로는 VMWare가 무료이기 때문에 다른 선택지가 없다. ![img_2](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl6Piz058YvIQ1Wv-lqH-lgM7cpMD1KP4Qps0jIAQ2KPVy8mK51ecO-iCA4eH3teAte-Kk...

[Arduino] - 로스트 아크를 위한 4x4 키패드



게임을 즐길때는 nkey 싱글핸드 게이밍 키보드를 주로 사용한다.
fps rpg 를 가리지 않고 대부분의 게임에서 만족스러운 키보드다.
하지만 게임 중에는 한 두개 정도의 키가 부족해서 불편한 경우도있어 아쉬운 점도 있었다.
그때든 생각이 10개정도의 키만 따로 빼놓고 쓰고 싶다였다.
그렇게 만들게 된 것이 검은사막에 쓸려고 만든 4x4 키패드였는데 검은사막을 안하게되면서 키패드의 활용도가 점점 없어져갔다.

최근에 즐기기 시작한 게임이 새겼는데 바로 로스트 아크다.
rpg 게임 답게 열어봐야할 창들이 많고 단축키들도 없어서는 안되는 키들이였다.
옷장속에 있던 4x4 키패드를 다시 꺼내와 한 손 키보드에 없는 키들만 모아서 키맵핑을 해주었다.



키 배열을 따로 외우기 싫기 때문에 쿼티 키보드의 배열을 신경써서 만들었다.
로스트 아크는 Alt를 이용한 조합키가 대부분이다.
Alt 넣고보니 옆자리가 비고 쓸쓸해 보여서 Ctrl도 넣어주었다.
투명한 키는 return이다.



또 함께 사용할 기회가 생겼다니 쓰레기를 만든것 같지 않아 기분이 좋다.
이 키패드는 매크로 기능은 포함하고 있지 않고 단순한 키입력만 구현되어있다.
예전코드는 여기에서 확인 할 수 있다.

  • 로스트 아크 4x4 키패드 소스코드

/* @file Keypad.ino
|| @version 1.1
|| @author Heejoong
|| #2018-12-04
*/
#include <Keyboard.h>
const byte ROWS = 4;  //four rows
const byte COLS = 4;  //four columns
//define keypad
uint8_t keyPad[ROWS][COLS] = {
  {'l','k','j','h'}, //1
  {'i','u','y','t'}, //0
  {'m','n','c',KEY_RETURN}, //2
  {KEY_LEFT_ALT,KEY_LEFT_CTRL,'x','z'}  //3
};
byte aPin[ROWS] = {A0, A1, A9, A10}; //connect to the row pin
byte dPin[COLS] = {0 ,1 ,2 ,3}; //connect to the col pin
void setup() {
  Serial.begin(9600);
  Keyboard.begin();
  for(char a = 0 ;a < 4 ;a++ ){
      pinMode(aPin[a], INPUT_PULLUP);
  }
  for(char d = 0 ;d < 4 ;d++ ){
      pinMode(dPin[d], OUTPUT);
  }
}
void loop() {
  for (char x = 0; x < 4; x++) {
    for(char y = 0; y < 4; y++) {
      digitalWrite(x, LOW);
      if (digitalRead(aPin[y])) Keyboard.release(keyPad[x][y]);
      else Keyboard.press(keyPad[x][y]);
      digitalWrite(x, HIGH);
    }
  }
}
cs

Comments

Popular posts from this blog

[POE] - 패스 오브 엑자일 획득키 F 의 사용법 (Path of Exile)

[Arduino] - HC-06를 이용해 PC 와 Arduino 블루투스 연결

[Python] - 블루투스 모듈 HC-06의 MAC 주소를 이용하여 통신 포트 찾기