프로그램이 열려 있을 때 키보드 반복 속도 변경(프로그램 시작/종료 시 bash 스크립트에서 감지됨)

프로그램이 열려 있을 때 키보드 반복 속도 변경(프로그램 시작/종료 시 bash 스크립트에서 감지됨)

반복 지연을 더 높은 값으로 설정해야 하는 Terraria 문제가 발생했습니다(게임에서는 키를 길게 누르는 대신 키를 빠르게 누르는 것으로 입력을 감지했습니다).

키보드 반복 속도를 설정할 수 있지만 수동으로 게임을 열고 종료할 때마다 이를 변경해야 하는 것은 귀찮습니다.

내 생각은 게임이 시작되고 중지될 때 한 번 변경되는 간단한 bash 스크립트를 작성하는 것이었지만 빠른 Google 검색에서는 bash에서 프로그램이 시작/중지되는 시점을 확인하는 방법을 알려주지 않았습니다.

도움을 주셔서 감사합니다.

답변1

다음 셸 스크립트를 저장하고 실행 가능하게 만든 후( chmod +x shell-script) 게임을 시작합니다.

xset r rate 300 100 #Here the delay and rate while game is open
launch-game         #Here the command to launch the game
xset r rate 300 25  #Here your normal delay and rate

현재 요금을 확인하는 데 사용됩니다 xset q.

더 복잡하게 만들고 분석하여 현재 자동 반복 지연 및 반복 속도를 자동으로 얻을 수 있으며 지연 및 속도를 매개 변수로 제공합니다( 게임 중에 지연을 300으로 설정하고 반복 속도를 100으로 설정할 xset q수 있음 ).shell-script 300 100

#!/bin/bash
[ $# = 2 ] || { echo "I need two arguments."; exit 1; }
arr=($(xset q | sed -n '/auto repeat delay:/s/[^0-9]/ /gp'))
xset r rate "$1" "$2"
launch-game
xset r rate "${arr[0]}" "${arr[1]}"

관련 정보