我在使用泰拉瑞亚时遇到了一个问题,需要我将重复延迟设置为较高的值(游戏将输入检测为快速按键而不是按住按键)。
我可以设置键盘重复率,但每次我手动打开和退出游戏时都更改它会很烦人。
我的想法是编写一个简单的 bash 脚本,在游戏开始和停止时更改一次,但快速的谷歌搜索并没有告诉我如何检查程序何时在 bash 中启动/停止。
谢谢你的帮助。
答案1
保存以下 shell 脚本,使其可执行 ( 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
。
您可以使其更复杂,通过解析自动获取当前的自动重复延迟和重复率xset q
,并将延迟和速率作为参数(因此您可以shell-script 300 100
在游戏过程中将延迟设置为 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]}"