マウスのマウスアクセラレーションを無効にし、libinput Accel Profile Enabled Default
の値を1, 0
から0, 1
に変更するために、コマンドxinput --set-prop [ID] [id of the value] 0, 1
で変更したいのですが、エラー:
X Error of failed request: BadAccess (attempt to access private resource denied)
Major opcode of failed request: 131 (XInputExtension)
Minor opcode of failed request: 57 ()
Serial number of failed request: 19
Current serial number in output stream: 20
マウスのIDが理由もなく絶えず変化するため、スタートアップアプリケーションを作成できません。また、タッチパッドのポインター加速をオンにする必要があるため、変数のグローバル値を変更することもできません。
答えを編集して、はるかに単純なアプローチを示します。次のように、ID
の代わりにデバイスtype:name
を使用できます。
xinput set-prop "keyboard:Logitech K400 Plus" "libinput Middle Emulation Enabled" 1
これにより、volatile ID
フィールドを知る必要がなくなります。
Xinputのデフォルト値を変更する方法を見つけていませんでしたが、bashパイプを使用してIDを動的に取得し、Startup Aplicationで使用できます。
私はあなたのデバイスの詳細に欠けているので、私は私の個人的なケースで例証します。 K400 +キーボードのXinputプロパティを変更したい。
最初に、デバイスを識別するXinput行nivocallyを見つける必要があります。
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech K400 Plus id=6 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Logitech K400 Plus id=7 [slave keyboard (3)]
したがって、単純な正規表現K400.*keyboard
を使用して、最後の行(ポインターの行ではない)を取得できます。次に、この正規表現をパイプにgrep
し、cut
ユーティリティでIDを分離します。
$ xinput | grep K400.*keyboard | cut -f2 | cut -c4-
7
最後に、私はそれを使用して、必要なプロパティを変更します。この場合、libinput Middle Emulation Enabled
に興味があります。これを行う完全なコマンドは次のとおりです。
xinput | grep K400.*keyboard | cut -f2 | cut -c4- |
xargs -I{} xinput set-prop {} "libinput Middle Emulation Enabled" 1
これで、スタートアップアプリケーションとして使用できます。