程序打开时更改键盘重复率(程序启动/结束时在 bash 脚本中检测)

程序打开时更改键盘重复率(程序启动/结束时在 bash 脚本中检测)

我在使用泰拉瑞亚时遇到了一个问题,需要我将重复延迟设置为较高的值(游戏将输入检测为快速按键而不是按住按键)。

我可以设置键盘重复率,但每次我手动打开和退出游戏时都更改它会很烦人。

我的想法是编写一个简单的 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]}"

相关内容