私はこれに慣れておらず、udev
USBマウスが接続されているときにタッチパッドを無効にするルールを作成したいと思います。
私が思いついた内容は次のとおりです(主に耳で)。
ACTION=="add", SUBSYSTEM=="input", ENV{ID_MODEL}=="USB_Mouse", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/nikitautiu/.Xauthority", ENV{REMOVE_CMD}="/usr/bin/synclient TouchpadOff=0", RUN+="/usr/bin/synclient TouchpadOff=1"
それにもかかわらず、所望の効果は生じなかった。コマンドは問題ないようですが、USBマウスが接続されているとルールは実行されません。
ベストアンサー1
あなたのルールがなぜそんなに複雑なのか理解できませんか?特にこの部分は
ENV{ID_MODEL}=="USB_Mouse",\
ENV{DISPLAY}=":0",\
ENV{XAUTHORITY}="/home/nikitautiu/.Xauthority",\
ENV{REMOVE_CMD}="/usr/bin/synclient TouchpadOff=0"
最初の行では、ID_MODEL
反対だけが見える環境変数を照合します。次の3行は環境変数に値を割り当てます。同様に、ルールが適用されると、実行されたコマンドとしてのみ表示できます。udev
USB_Mouse
udev
synclient
このルールは決して適用されないと確信しています(ログファイルを解析してそれを確認できます)。これは、以前に環境で設定していない限り、変数にアクセスできる内容がudev
ない可能性が高いためです。ID_MODEL
USB_Mouse
ID_MODEL
udev
ほとんどの場合、十分なマウスの動作、ベンダーID、製品IDを一致させることをお勧めします。それからあなたのルールは次のようになります
ACTION=="add", ATTRS{idVendor}=="<idVendor>", ATTRS{idProduct}=="<idProduct>", RUN+="/usr/bin/synclient TouchpadOff=1"
出力を解析して合計を<idVendor>
取得できます。<idProduct>
lsusb -v
古典的な形式が与えられた16進値を受け入れることを覚えていません0xffff
。私はいつも0x
ルールの後半を受け入れます。