キーボードのリピートレートをxset r rate 250 100
、USBキーボードを外してからxset -q
、キーボードを切断した後、リピートレートが自動的に次のデフォルト値に設定されていることがわかります。
$ xset -q | grep delay
auto repeat delay: 660 repeat rate: 25
デフォルト値を変更できますか?それらはどこに保管されていますか?私はDebianSidを実行しています。
関連するパラメータを追加することで、_/etc/X11/xinit/xserverrc
_のいわゆるseat-defaultsを変更できます(XSERVER(1)
を参照)。 。
_-ardelay milliseconds
sets the autorepeat delay (length of time in milliseconds that a key must be depressed before autorepeat starts).
-arinterval milliseconds
sets the autorepeat interval (length of time in milliseconds that should elapse between autorepeat-generated keystrokes).
_
(!)arinterval
の繰り返し頻度からミリ秒単位でxset
を計算するには、_1000/freq
_を計算します。
私は今_exec /usr/bin/X -nolisten tcp -ardelay 200 -arinterval 20 "$@"
_と言います
(以前は_Option "AutoRepeat" "190 70"
_ _/etc/X11/xorg.conf.d/keyboard.conf
_を設定して繰り返し率を永続的にしようとしていましたが、それがうまくいかなかったので、(どうしようもなく)1分あたりのxset
cronを実行することにしました。ジョブXD)
Bashプロンプトで設定を変更すると、新しい設定は実行中のXサーバーのメモリにのみ保存されているように見えます。
変更を永続的にするために、システムにそのファイルがある場合は、/etc/kbd/config
の「KEYBOARD_RATE」行と「KEYBOARD_DELAY」行のコメントを外すことができます。
それ以外の場合(とにかくUbuntuの場合)、さまざまなディストリビューション固有のアプローチが存在する傾向があります。以下を参照してください。 https://askubuntu.com/q/140255/231504
xset
を介して設定された値がXサーバーのメモリ内にのみ存在すると推測している理由は次のとおりです。
strace
の下でコマンドを実行すると、次のようになります。
strace xset r rate 175 37
(strace
での私の限られた経験に基づくと)設定はソケットに書き込まれているようで、私のマシンではソケットは次のとおりです。
/tmp/.X11-unix/X0
そのソケットのもう一方の端にあるものを確認するには:
Sudo lsof +d /tmp/.X11-unix
...出力:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Xorg 1635 root 3u unix 0xffff88046ae4bc00 0t0 24945 /tmp/.X11-unix/X0 type=STREAM
...これは、ソケットをリッスンしているプロセスがXorg
(別名Xサーバー)であることを示しています。もちろん、X Serverは、仮想的に値をどこかの不揮発性メモリに永続化することができますが、ユーザーからの複数の逸話に基づくと、そうではないように思われます。