본문 바로가기
잡동사니

오토핫키 / AutoHotkey / 트러스트마스터 휠각 프로그램

by JMJMD 2024. 3. 11.

이 글을 어느 카테고리에 넣을까 하다가 결국엔 소소한 자작~으로 결정했습니다.

자작이기도 하고 레이싱 관련이기도 합니다.

저는 트러스트마스터의 레이싱휠을 PC에서 사용하고 있습니다.

PC설정화면에서 보면 휠각도 조정 / 피드팩강도조정 / 부스터 등등 여러 가지를 설정할 수 있습니다.

심레이싱 게임 중에선 게임자체에서 개별 설정이 가능해서...

이런 유의 레이싱게임하시는 분은 사실 이 글은 패스해도 됩니다.

하지만 

휠락을 수동으로 맞춰줘야 하는 경우도 있습니다.

예전 고전레이싱 게임이라든지... 업소아케이드 레이싱 (테크노패럿) 같은 경우엔 해당 게임에 맞게 미리 휠 각 등을 세팅해 두고 게임을 실행해야 하는 경우가 있지요

이렇게 수정해야 할 경우 트러스트마스터의 설정에 들어가서 휠각도를 원하는 값을 입력 후 (900도 > 270도) 확인을 누르고...

이런 식으로 결국엔 여러 번 클릭을 해야 하는 불편함이 있습니다.

물론 레이싱휠의 본체의 버튼으로 수정할 수도 있습니다.

트러스트마스터의 메뉴얼중

 

위와 같은 방법으로 휠각도를 수정할 수 있습니다.

이 방법이 불편한 건 휠각도 증가 감소방식으로 계속 누르고 램프 점등을 주시해야 되고

피드팩의 마스터게인 같은 것과 부스터 온 오프등 여러 가지 설정을 결국엔 설정페이지에 들어와서 수정해야 됩니다.

 

저 같은 경우엔 휠각수정이 가장 많이 쓰고 그다음에 부스터 온 오프 기능을 많이 씁니다.

이과정을 간단하게 단축키로 할 수 있을까 하고 오토핫키라는 프로그램 사용했습니다.

예전 자동마우스 클릭프로그램 이런 것을 오토핫키로 만든 것으로 알고 있는데... 정확하지는 않습니다.

이걸 이용해서 트러스트마스터의 설정페이지를 자동으로 입력 및 클릭하도록 프로그램했습니다.

 

일단 오토핫키에 대해 찾아보겠습니다.

오토핫키는 Windows 운영 체제에서 사용할 수 있는 자동화 도구로, 사용자가 반복되는 작업을 간소화하고 효율적으로 처리할 수 있도록 도와주는 프로그램입니다. 주로 키보드와 마우스 입력을 자동화하고 사용자가 설정한 동작을 수행하는 데에 활용됩니다.
이 도구를 사용하면 다양한 작업을 간편하게 자동화할 수 있습니다. 예를 들어, 특정 키를 눌러 파일 복사 및 붙여넣기 작업을 자동으로 수행하거나, 특정 단축키를 사용하여 창을 이동하고 크릭하는 등의 작업을 설정할 수 있습니다.
또한, 오토핫키를 사용하면 키보드의 특정 키를 다른 키로 바꾸거나, 여러 키의 조합을 새로운 명령어로 할당할 수 있습니다. 이를 통해 사용자는 편의성을 높이고 개인화된 단축키를 만들어 사용할 수 있습니다.
이 도구는 스크립트 언어를 사용하여 작성되며, 사용자는 간단한 텍스트 파일에 명령어를 입력하여 자신만의 자동화 스크립트를 만들 수 있습니다. 스크립트에는 조건문과 루프 등의 프로그래밍 요소도 활용할 수 있어, 더 복잡하고 유연한 자동화도 가능합니다.
뿐만 아니라, 사용자는 GUI(그래픽 사용자 인터페이스)를 생성하여 스크립트 실행이나 설정 변경을 더 편리하게 관리할 수 있습니다. 더불어, 오토핫키에는 다양한 내장 함수와 라이브러리가 포함되어 있어, 더 다양한 작업을 수행할 수 있도록 도와줍니다.
총적으로, 오토핫키는 사용자가 컴퓨터 작업을 자동화하고, 편의성을 높이며, 개인화된 환경을 조성할 수 있는 강력한 도구로 평가받고 있습니다.

 

이렇게 정의되어 있습니다. 일종의 키보드 마우스입력을 자동화하는 매크로  자동화라고 할 수 있겠네요

오토핫키를 사용하기 위해서는 공부를 좀 해야 됩니다.

오토핫키의 기본구문

오토핫키 스크립트는 간단한 문법을 사용하며, 주로 특정 키나 이벤트에 대한 동작을 정의합니다. 아래는 오토핫키의 기본적인 구문과 예제입니다:
  1. 키 매핑:
    • 특정 키에 대한 동작을 정의합니다.
    • 예제: a::Send, Hello World
    위 예제는 'a' 키를 누를 때 "Hello World"를 입력하도록 정의한 것입니다.
  2. 키 조합:
    • 여러 키의 조합으로 동작을 정의할 수 있습니다.
    • 예제: ^!c::Run, Notepad
    위 예제는 Ctrl+Alt+C를 누를 때 Notepad를 실행하도록 정의한 것입니다.
  3. 마우스 동작:
    • 마우스 이벤트에 대한 동작을 정의할 수 있습니다.
    • 예제: ~LButton::MsgBox, Left mouse button pressed
    위 예제는 마우스 왼쪽 버튼을 누를 때 메시지 박스를 띄우도록 정의한 것입니다.
  4. 주석:
    • 주석은 스크립트 내에서 설명을 추가하는 데 사용됩니다.
    • 예제: ; 이것은 주석입니다
  5. 변수 및 할당:
    • 변수를 사용하여 값을 저장하고 사용할 수 있습니다.
    • 예제: myVar := "Hello"
    위 예제는 변수 myVar에 "Hello"라는 문자열을 할당한 것입니다.
  6. 함수:
    • 사용자 정의 함수를 만들어 재사용성을 높일 수 있습니다.
    • 예제:
      MyFunction()
      {
          MsgBox, This is my function!
      }
      ^!m::MyFunction
    위 예제는 Ctrl+Alt+M을 누를 때 "This is my function!"이라는 메시지 박스를 띄우는 사용자 정의 함수를 만든 후, 단축키에 이 함수를 연결한 것입니다.
  7. 조건문과 루프:
    • 조건문과 루프를 사용하여 특정 조건에 따라 동작을 제어할 수 있습니다.
    • 예제:
      Loop, 5
      {
          MsgBox, This is loop number %A_Index%
      }
    위 예제는 5번의 반복 동안 메시지 박스를 띄우는 루프를 정의한 것입니다.
  8. 프로그램 실행:
    • 다른 프로그램을 실행할 수 있습니다.
    • 예제: Run, notepad.exe
    위 예제는 Notepad를 실행하도록 정의한 것입니다.
이것은 간단한 오토핫키 스크립트의 일부입니다. 사용자는 이러한 기본적인 구문을 활용하여 복잡한 자동화 스크립트를 작성할 수 있습니다.

 

여기서 오토핫키에 대해 모두 다 설명할 순 없고...

일단 제작된 프로그램을 보면

이런 식으로 구성되어 있습니다.

작업표시줄에 항상 올라와있고 오른쪽마우스를 클릭하면 위의 사진 왼쪽처럼 나옵니다.

위의 사진 맨 오른쪽은 현재 휠설정 상태를 한눈에 보여줍니다.

 

이렇게  오토핫키를 이용하면 윈도환경에서 자신의 작업환경을 편하고 좀 더 빠르게 반복작업을 할 수 있습니다.

시간이 되시면 한번 공부하면 도움이 많이 될듯합니다.^^