web-dev-qa-db-ja.com

入力デバイスのIDを見つけて、そのプロパティの値を変更します

この投稿 から、次の方法でマウスの速度を設定できることを学びました。

$ xinput --set-prop 10 "Device Accel Constant Deceleration" 4

ここで、10はターゲットデバイスのidであり、xinputコマンドの出力を確認することで取得できます。

ただし、問題は、マウスを取り外して再度接続するたびに、idが変わることです。したがって、上の行をmouse.shに入れるだけでは十分ではありません。ターゲットデバイス、つまりマウスの現在のid値も動的に検索する必要があります。

悲劇的な部分は、bashスクリプトについてまったく何も知らないことです。したがって、ここで私の特定の問題の迅速な修正を探します。

入力デバイスのidを見つけてmouseと言い、上記のid行でこのxinputを使用するこの簡単なスクリプトを記述する方法

2
Naitree

xinputから manページ

deviceは、文字列またはデバイスのXIDとしてdevice nameにすることができます。

これは、xinputコマンドにマウスのフルネームを与えることができることを意味します。

まず、マウスデバイスを特定し、ターミナルでxinputと入力します。

$ xinput 
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=17   [slave  pointer  (2)]
⎜   ↳ Logitech Logitech Illuminated Keyboard    id=11   [slave  pointer  (2)]
⎜   ↳ ROCCAT ROCCAT Kone Pure Optical           id=13   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ HD Pro Webcam C920                        id=9    [slave  keyboard (3)]
    ↳ Integrated Camera                         id=15   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=16   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=18   [slave  keyboard (3)]
    ↳ Logitech Logitech Illuminated Keyboard    id=10   [slave  keyboard (3)]
    ↳ ROCCAT ROCCAT Kone Pure Optical           id=12   [slave  keyboard (3)]
    ↳ No brand 2Port KVMSwicther                id=14   [slave  keyboard (3)]

ここで私のマウスはROCCAT ROCCAT Kone Pure Opticalですが、このタイプのマウスはいくつかのデバイス(ゲーミングマウス)を宣言しているため、そのまま使用することはできません。

したがって、次のようにデバイス名の前に「pointer:」を付けます。

$ xinput --set-prop 'pointer:ROCCAT ROCCAT Kone Pure Optical' "Device Accel Constant Deceleration" 4

上記のコマンドを調整して自分のデバイスに合わせ、mouse.shスクリプトに貼り付けることができます。

1
Sylvain Pineau